Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. ยกระดับ Ruby Rescue: Dynamic Exception Matching

    เวลาใช้ rescue clause ใน Ruby คุณระบุ exception classes ที่ต้องการ rescue ได้ แค่ให้รายการ classes: begin raise RuntimeError rescue RuntimeError, NoMethodError puts rescued! end แต่ถ้าคุณไม่รู้ exception class ตอนเขียนโค้ด ล่ะ? คำตอบง่ายคือ rescue ทุก exceptions ทดสอบ แล้ว re-raise ที่ไม่ผ่า

  2. เชื่อมต่อ Unicorn กับ Nginx: คู่มือ Unix Sockets ใน Ruby

    Ruby application servers มักใช้ร่วมกับ web server เช่น nginx เมื่อ user request หน้าจาก Rails app nginx จะส่ง request ให้ application server แต่ทำงานจริงอย่างไร? nginx คุยกับ unicorn ยังไง? ตัวเลือกที่มีประสิทธิภาพคือใช้ unix sockets มาดูการทำงาน! โพสต์นี้เริ่มจากพื้นฐาน sockets จนสร้าง application

  3. Remote Debugging ใน Rails ด้วย Byebug และ Pow: คู่มือขั้นตอน

    ถ้ายังไม่รู้จัก byebug แนะนำให้ลองดู มัน debugger สำหรับ Ruby 2.x ดีเยี่ยม ตามคำของผู้สร้าง: Byebug เป็น debugger ที่ใช้ง่าย ฟีเจอร์ครบครัน สำหรับ Ruby 2 ใช้ TracePoint API สำหรับควบคุมการรัน และ Debug Inspector API สำหรับนำทาง call stack จึงไม่พึ่งพา internal core sources พัฒนาเป็น C extension จึ

  4. เชี่ยวชาญ Ruby Case Statement: เทคนิคขั้นสูงและ Best Practices

    ไม่มีอะไรเรียบง่ายและน่าเบื่อกว่า case statement มันมาจาก C ใช้แทน if หลายๆ ตัว จบเรื่อง หรือไม่? จริงๆ case statements ใน Ruby ริชและซับซ้อนกว่าที่คิด มาดูตัวอย่าง: case Hi there when String puts case statements match class end # outputs: case statements match class ตัวอย่างนี้แสดงว่า case s

  5. Log ตัวแปร Local และ Instance Variables บน Ruby Exceptions เพื่อ Debug เร็วขึ้น

    เคยเจอ bug ที่ reproduce ไม่ออกไหม? เกิดขึ้นเฉพาะตอนผู้ใช้ใช้งานนานๆ และ error message กับ backtrace ไม่ช่วยอะไรเลย ช่วงนี้อยากได้ snapshot ของสถานะแอปก่อน exception เกิดจริงๆ เช่น รายการ local variables ทั้งหมดพร้อมค่า ได้ไหม? ได้ครับ - และไม่ยากเลย! ในโพสต์นี้จะแสดงวิธี capture locals เวลาเกิด e

  6. ทำความเข้าใจ Unix Daemons ใน Ruby: คู่มือทางทฤษฎี

    Unix daemons คือโปรแกรมที่รันในพื้นหลัง (background) ตัวอย่างเช่น Nginx, Postgres และ OpenSSH พวกมันใช้เทคนิคพิเศษเพื่อ แยก (detach) process ของพวกมัน ให้รันอิสระจาก terminal ใดๆ ผมมักหลงใหลกับ daemons - อาจเป็นเพราะชื่อมัน - และคิดว่าจะสนุกถ้าเขียนบทความอธิบายการทำงานของมัน โดยเฉพาะวิธีสร้างใน Rub

  7. เข้าใจ Ruby Errno Exceptions: คู่มือปฏิบัติสำหรับการจัดการข้อผิดพลาดระบบ

    หากคุณเคยดู hierarchy ของ Ruby exceptions คุณอาจสังเกตเห็นสิ่งแปลกๆ นอกจาก exceptions ธรรมดาเช่น RuntimeError และ NoMethodError แล้ว ยังมีการอ้างอิงถึง Errno::* อีกด้วย Exception StandardError ... SystemCallError Errno::* ... หากคุณเคยเขียนข้อมูลลงดิสก์ที่เต็ม หรือพยายามเรี

  8. การเพิ่มข้อมูลบริบทให้กับ Ruby Exceptions: คู่มือปฏิบัติจริง

    บางครั้ง backtrace และข้อความแสดงข้อผิดพลาดมาตรฐานอาจไม่เพียงพอ คุณอาจต้องการข้อมูลเพิ่มเติมเพื่อระบุสาเหตุของข้อผิดพลาดได้อย่างแม่นยำ โชคดีที่ Ruby ทำให้เรื่องนี้ง่ายมาก การปรับแต่งข้อความแสดงข้อผิดพลาด วิธีที่ง่ายที่สุดในการเพิ่มข้อมูลบริบทให้กับข้อผิดพลาดคือการเพิ่มข้อมูลเข้าไปในข้อความของ excep

  9. เข้าถึง C Library ใดๆ จาก Ruby ด้วย Fiddle: ปลดล็อกความสามารถแอบแฝงของ Ruby

    Fiddle เป็น module น่ารู้น้อยที่เพิ่มใน Ruby standard library ใน 1.9.x ให้ interact กับ C libraries จาก Ruby โดยตรง ยัง inspect และ alter ruby interpreter ขณะรันได้ มัน wrap libffi C library ยอดนิยม ให้ code ภาษาหนึ่ง call methods ภาษาอื่น ffi = foreign function interface ไม่จำกัดแค่ C รู้ Fiddle แล

  10. ล้าง Sidekiq Queues ทั้งหมดได้อย่างมีประสิทธิภาพด้วย Script พร้อม Emoji

    ที่ Honeybadger ใช้ Sidekiq เยอะ และมันดี แต่มีปัญหาหนึ่งที่ผมเจอบ่อย ...ผมไม่ค่อยรัน Sidekiq ตอน development แต่ manual testing ทำให้ jobs เยอะ enqueued ครั้งต่อไปรัน Sidekiq พยายาม process ทุก jobs ไม่ดี หา code snippets ลบ jobs จาก one Sidekiq queue ง่าย แต่มาเรามี หลาย queues อยาก clear jobs จาก

  11. Inside Rails: ข้อผิดพลาดที่สวยงาม (Exception Page) ทำงานยังไง

    สิ่งดีของ Rails ตอน development something goes wrong ได้ error detail page สวยงาม Backtrace สวย ส่วน relevant ไป app highlighted ดู params ที่ posted, inspect environment และ session variables วันนี้ดูว่ fancy error pages นี้ทำงานยังไง Cracking Open Actionpack File สำคัญวันนี้: actionpack/lib/actio

  12. Raise Object ใดๆ เป็น Ruby Exception: เทคนิคและ Best Practices

    Rubys raise syntax ให้ options สองอันสำหรับระบุ error type ที่ต้องการ raise โค้ดด้านล่างแสดง 3 วิธี raise RuntimeError raise hello raise RuntimeError, hello raise RuntimeError.new(hello) # ...ทั้งหมด result ใน RuntimeError: hello ดีแต่ถ้าอยาก raise อะไรนอก exception? อยาก raise number? Ruby ไม่อนุญ

  13. Performance Comparison: Exceptions vs Break และ Return ใน Ruby

    ผมสงสัยเสมอว่า exceptions ช้ากว่า flow control mechanisms อื่นๆ ใน Ruby มากแค่ไหน Exceptions ซับซ้อนกว่า break หรือ return มาก แต่เคย wrong ใน hunches ก่อน ลอง test ดู Code ด้านล่างใช้ benchmark-ips gem เปรียบเทียบ relative performance ของ exiting loop via exception, break และ return ลองกับ MRI 2.2

  14. เชี่ยวชาญ Lazy Enumerators ใน Ruby: ประมวลผลไฟล์ขนาดใหญ่อย่างมีประสิทธิภาพ

    Enumerators อยู่ที่หัวใจของ Ruby ที่ทำให้ powerful และ dynamic Lazy enumerators ขึ้นอีกขั้น ให้ทำงานกับ extremely large collections ได้อย่างมีประสิทธิภาพ Files กลายเป็น large collections ของ lines หรือ characters Lazy enumerators ทำให้ทำสิ่งน่าสนใจและ powerful กับ files ได้ Enumerator คืออะไร? ทุกคร

  15. เชี่ยวชาญ Ruby Associative Arrays: ใช้ Array#assoc และ #rassoc สำหรับ Key-Value Lookups

    เคยมี data เยอะใน array แต่อยาก key/value lookup เหมือน hash? Ruby มี mechanism ให้ treat arrays เป็น key-value structures มาดู! Introducing Array#assoc และ Array#rassoc สมมติได้ magical stock-picking machine ทุกไม่กี่นาที吐 recommendation buy/sell stock hook กับคอมพิวเตอร์ได้ stream data แบบนี้: pic

  16. ใช้ Ruby's DATA และ __END__: Embed Code และ Data Seamlessly

    รู้ไหมว่า Ruby มีวิธีให้ script ใช้ source file ของตัวเองเป็น data source? Trick น่าสนใจประหยัดเวลา one-off scripts และ proofs of concept มาดู! DATA และ END ตัวอย่างใช้ keyword แปลก __END__ ทุกอย่างใต้ __END__ จะถูก ignore โดย Ruby interpreter แต่น่าสนใจกว่านั้น Ruby ให้ IO object ชื่อ DATA ให้อ่านท

  17. เข้าถึง Ruby Exceptions นอก Rescue Blocks: จัดการ Crash อย่างมั่นคง

    มีประโยชน์มากที่ได้ most recent exception แม้ code ไม่ control lifecycle ของ exception สมมติอยากเพิ่ม basic crash detection ใน application อยาก log extra info เกี่ยวกับ crash จาก uncaught exception ขั้นแรก add handler รันทุกครั้ง app exit ทำง่ายด้วย Ruby kernels at_exit method at_exit puts the app e

  18. Refactoring Legacy Ruby ด้วย Sprout Classes

    Challenge แข็งแกร่งของ legacy applications คือ code ไม่ได้เขียนเพื่อ testable ดังนั้น เขียน meaningful tests ยากหรือ impossible Chicken-and-egg problem: เขียน tests สำหรับ legacy app ต้องเปลี่ยน code แต่เปลี่ยน code ไม่ confident โดยไม่มี tests ก่อน! จัดการ paradox นี้ยังไง? หัวข้อนี้หนึ่งในหลายเรื่

  19. เชี่ยวชาญ AngularJS กับ Rails 4: คู่มือสำหรับมือใหม่

    เริ่ม AngularJS ไมยาก Documentation ดีที่สุด tutorials เรียบง่าย แต่น่าปวดหัวตอนรวม technologies ถ้าใช้ CoffeeScript แทน JavaScript ต้องคิด preprocessing concerns และ syntax differences ปัญหาเล็กน้อยตัวเอง แต่วาง Ruby on Rails, Jasmine และ Karma ลงไป? tricky อย่างไม่คาดคิด นี่คือ stack ที่ใช้ใน tuto

  20. Demystifying Ruby Gems: ทำงานยังไงและทำไมจึงสำคัญ

    สิ่งทำให้ Rails ดีคือ common programming needs - authorization, site administration, ecommerce ใครสักคนเก่งกว่าคุณคิดโค้ดแก้ปัญหา package ไว้ใน gem เพิ่ม gems ใน Gemfile ใช้ประโยชน์เต็มที่โดยไม่เข้าใจจริงๆ ว่าทำงานยังไง แต่น่าสนใจไหมว่ามัน wired up ยังไง? ดู Ryan Bates CanCan authorization gem ตอบคำ

Total 654 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:31/33  20-คอมพิวเตอร์/Page Goto:1 25 26 27 28 29 30 31 32 33