Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. สร้าง Ruby WebSocket Server ตั้งแต่ศูนย์: คู่มือขั้นตอน

    Websockets ได้รับความสนใจมากขึ้น เราได้ยินว่าเป็น อนาคต เราได้ยินว่าใช้งานง่ายขึ้นเพราะ ActionCable ใน Rails 5 แต่ websockets คืออะไรจริงๆ ทำงานยังไง? บทความนี้จะตอบคำถามโดยสร้าง WebSocket server เรียบง่ายจากศูนย์ใน Ruby ตอนจบ จะได้ bidirectional communication ระหว่าง browser และ server โค้ดในบ

  2. แนะนำ AptWatcher: จัดการอัปเดต Apt Packages สำหรับเซิร์ฟเวอร์อย่างราบรื่น

    ที่ Honeybadger เราใช้ apticron ติดตาม apt package updates สำหรับทุก servers ตอนแรก apticron emails มา inbox แต่จุดหนึ่งตัดสินใจอยากให้อยู่ใน Slack notifications channel Slack มี email app รับ emails post ไป channel ลองแล้ว ใช้ได้ แต่ไม่ชอบ emails โชว์เป็น files และมี noise ของ mail headers ฯลฯ จัดส

  3. เข้าใจ URI.join: หลุมที่พบบ่อยและวิธีใช้ให้ถูกต้อง

    เราถึง milestone ที่ Honeybadger sales pages ไม่ใช่ส่วนหนึ่งของ main Rails app แล้ว อยากทำมาหลายปี แต่ไม่ใช่ top priority ระหว่าง migration ผมใช้ URI.join สร้าง redirect links แต่มันไม่ behave ตามที่คาด คาดว่า มันรับ path fragments มา string together เหมือนนี้: https://www.honeybadger.io/plans/c

  4. Deploy Sinatra App บน Amazon ECS ด้วย Docker: คู่มือขั้นตอน

    اعتراف: development environment ผมไม่เปลี่ยนมาก 4 ปีทำงาน Honeybadger แต่ Honeybadger sophisticated ขึ้น ขึ้นอยู่กับ ~10 services นั่นคือเหตุเรา moving towards Docker สำหรับ local development แทนทุก developer setup Postgres, Cassandra, Memcached ใช้ docker-compose spin up pre-made environment สะดวก

  5. จัดการ Application Secrets บน AWS EC2 อย่างปลอดภัย

    Deploy แอปไป EC2 ควรใช้ autoscaling groups Autoscaling groups ให้แอป scale up/down ตาม demand หรือ recover จาก failed instances โดยไม่ต้อง manual intervention ทำให้ทำงาน ต้อง ensure ทุก instance พร้อม serve live traffic หลัง boot เสร็จ ต้องการ effort มากกว่าแค่ deploy ไป server หากเคยทำ changes บน s

  6. ทำไม Big-O จึงสำคัญสำหรับ Ruby Developers: คู่มือปฏิบัติจริง

    ผมไม่มีปริญญา computer science หลาย Rubyists ไม่มี นานๆ ผมหลีกเลี่ยม Big-O notation ดูเหมือน higher math เกินไป O(N^2) อ่อ ไม่ แทนที่จะเรียนรู้ rules of thumb: หา item ใน Hash เร็วกว่า Array หลีกเลี่ยง nested loops ระวัง accidental DB queries ตอน generate lists ใน views กฎเหล่านี้ดี แต่ห้

  7. บทเรียนผู้นำจาก Ruby Conferences: ไปไหนกว่าโค้ด

    ทำไม Ruby conferences ไม่พูดถึง Ruby อีกต่อไป? การสปอนเซอร์ Rocky Mountain Ruby 2016 แสดงความหลากหลายของชุมชนที่เพิ่มขึ้น คนที่เราส่งไปไม่ใช่ developer โดยอาชีพ — และเป็นคราวหนึ่งผมกังวล technical content ของ talks แต่หลังดูแล้ว ชัดว่าแม้ Rubyists ที่มีประสบการณ์มากที่สุด ก็เน้น non-technical skill

  8. เชี่ยวชาญ Ruby Exceptions: คู่มือแบบเป็นขั้นตอนสำหรับมือใหม่

    วันหนึ่งผมค้นหาบทนำ Ruby exceptions สำหรับมือใหม่ — คนรู้ basic Ruby syntax แต่ไม่แน่ใจว่า exception คืออะไร ทำไมถึงมีประโยชน์ ไม่เจอ จึงลองเขียนเอง หวังว่าจะมีประโยชน์ หากจุดไหนสับสน tweet มาที่ @StarrHorne :) Exception คืออะไร? Exceptions เป็นวิธีของ Ruby จัดการ unexpected events เคย typo ทำโปรแ

  9. หลีกเลี่ยง Rails Idioms ที่ทำลาย Database Performance

    ผมจำครั้งแรกเห็น ActiveRecord ของ Rails ปี 2005 ตอนเขียน SQL queries ด้วยมือสำหรับ PHP app การใช้ database จาก tedious chore กลายเป็นง่าย และ - กล้าพูด - สนุก ...ถึงเจอ performance issues ActiveRecord เองไม่ช้า ผมแค่หยุดสนใจ queries ที่รันจริง และพบว่า idiomatic database queries ที่ใช้ใน Rails CRU

  10. เชี่ยวชาญ Ruby Exception Handling: เทคนิคฉลาดสำหรับ Selective Rescue

    หากเคยทำงานกับ Ruby exceptions รู้ว่าระบุได้ว่า exception ไหนถูก rescue ไหนไม่: begin raise ArgumentError rescue ArgumentError # Rescue `ArgumentError` end ...และน่าจะรู้ว่า rescue parent จะ rescue children ทั้งหมดด้วย begin raise ArgumentError rescue StandardError # Rescue `ArgumentErro

  11. เคล็ดลับ Database Scaling สำคัญสำหรับโปรเจกต์ที่เติบโต

    ตอนทำงานบนโปรเจกต์ใหม่ เราตัดสินใจตลอดเวลาที่จะทำให้ scale ภายหลังง่ายหรือยาก บางครั้งเลือก short-term gain เพื่อส่งเร็ว แต่บางครั้งก้าว technical debt เพราะไม่รู้ว่ามีทางเลือก ผมกล่าวได้เพราะที่ Honeybadger เราทำบางอย่างทำให้ชีวิตยากกว่าที่ควร หากเข้าใจจุดสำคัญไม่กี่จุด scaling จะน้อยเจ็บปวดมาก ใ

  12. เพิ่มประสิทธิภาพ Sidekiq Clusters: สคริปต์ใหม่สำหรับ Deployment ที่ราบรื่น

    ที่ Honeybadger เราพึ่งพา Sidekiq มากใน processing pipeline เกือบทุกอย่างผ่าน queue จุดหนึ่ง ผมจึงอยากแน่ใจว่าเรารัน Sidekiq ได้ดี การย้ายไป EC2 ล่าสุด เปลี่ยนจากชุดเซิร์ฟเวอร์ long-lived ที่เสถียร เป็นชุด instances ที่เปลี่ยนแปลงตลอดเวลา ทำให้การเริ่ม Sidekiq ตอน boot สำคัญกว่าเดิมมาก ก่อนหน้านี้พ

  13. สำรวจการรองรับ Unicode ที่ปรับปรุงใน Ruby 2.4

    ในฟีเจอร์ใหม่ของ Ruby 2.4 มีการปรับปรุง Unicode support โดยเฉพาะเมธอดอย่าง upcase และ downcase ทำงานถูกต้อง แปลง ä เป็น Ä และกลับกัน ทำผมสงสัย: มี Unicode improvements อื่นๆ เพิ่มมาตั้งแต่ 2013 ที่ผมอ่านบล็อกของ André Arko Strings in Ruby are UTF-8 now… right?? ผมทดสอบเมธอดสตริงทั้งหมดของ Ruby ไม่

  14. ใช้ Objects เป็น Hash Keys ใน Ruby: ฟีเจอร์พลังที่มองข้าม

    หากติดตาม Ruby 3x3 effort คงเคยได้ยิน Optcarrot คือ NES emulator เขียนด้วย Ruby มurniture ผมอ่าน source Optcarrot เน้นรายละเอียดน่าสนใจ: ใช้ฟีเจอร์ของ Ruby hashes ที่มองข้ามบ่อย แต่มีประโยชน์มาก คือ ความสามารถใช้ object ใดๆ เป็น hash key บริบท: NES Memory Mapping ในฐานะ high-level programmers เราค

  15. Honeybadger Gem v3: ฟีเจอร์สำคัญ การปรับปรุง และสิ่งที่ควรรู้

    TLDR: สำหรับเฉพาะ bullet points ดูที่ CHANGELOG ผมเพิ่งปล่อย major update ล่าสุดของ gem สำหรับรายงานข้อยกเว้นใน Ruby v2 เป็น full re-write รวมกลยุทธ์ configuration ใหม่ v3 มี breaking changes น้อยกว่า แต่มี feature และ usability improvements มากมาย เนื้อหาเยอะ ขอเข้าเรื่องเลย Plain ol Ruby mode ใน

  16. เชี่ยวชาญ Unicode Normalization ใน Ruby: หลีกเลี่ยงพฤติกรรมสตริงที่ไม่คาดคิด

    ผมเผยแพร่บทความทดสอบเมธอดสตริงของ Ruby กับอักขระ Unicode บางตัว เพื่อดูว่าพฤติกรรมแปลกหรือไม่ หลายเมธอดทำงานผิดปกติ ข้อติชมบางอย่างว่าผมใช้สตริงที่ยังไม่ normalized ผมเองก็งงเรื่อง Unicode normalization เหมือนกัน สันนิษฐานว่า Rubyists หลายคนก็เช่นกัน ด้วย normalization สามารถแปลงสตริง Unicode หลาย

  17. เชี่ยวชาญ Memoization ใน Ruby: เพิ่มประสิทธิภาพด้วยเทคนิค Caching เรียบง่าย

    วันนี้อยากพูดถึงเทคนิคโปรดสำหรับเพิ่มประสิทธิภาพ มันเป็นแหล่ง ชัยชนะเล็กๆ ที่สะสมเป็นผลใหญ่ และโอกาสทำลายแอปน้อยมาก เพียงนิดหน่อย เทคนิคนี้เรียกว่า Memoization ถึงคำศัพท์วิทยาการคอมพิวเตอร์ราคา $10 แต่มันหมายถึง: แทนที่จะทำงานซ้ำทุกครั้งที่เรียกเมธอด ให้บันทึกค่าที่คืนไว้ในตัวแปร และใช้ตัวแปรนั้นแท

  18. หลีกเลี่ยงหลุมที่พบบ่อยเมื่อ Nesting Ruby Modules

    โมดูล (และคลาส) ถูกออกแบบมาเพื่อ nesting โค้ดแบบ ActiveRecord::RecordNotFound พบบ่อยจนเราไม่คิดสองครั้ง แต่ฝังอยู่ในการ implement nesting ของ Ruby — และระบบ autoload ของ Rails — มีกับดักเล็กน้อยที่ทำให้โค้ดล้มเหลวแบบแปลกประหลาด บทความนี้จะอภิบายที่มาของกับดักเหล่านี้และวิธีหลีกเลี่ยง ค่าคงที่ (Cons

  19. การออกจากโปรแกรม Ruby อย่างสง่างาม: แนวทางปฏิบัติที่ดีที่สุดสำหรับการจบโปรแกรม

    ในฐานะนักพัฒนา เราใช้เวลามากกับการทำให้โปรแกรมรัน จนลืมว่าโปรแกรมจบอย่างไร และมันสำคัญ! เมื่อโปรแกรมพฤติกรรมถูกต้องตอนจบ จะทำให้จัดการง่ายขึ้น และทำงานร่วมกับเครื่องมือ devops มาตรฐานได้ดีขึ้น มีหลายวิธีออกจากโปรแกรม Ruby ดูตัวอย่างด้านล่าง ในบทความนี้จะอภิบายรายละเอียดแต่ละวิธี และการใช้เพื่อทำให้

  20. เมื่อไหร่ควรใช้ freeze และ frozen ใน Ruby: แนวทางปฏิบัติที่ดีที่สุดสำหรับความไม่เปลี่ยนแปลง

    ในปัจจุบัน การเห็น #freeze ในโค้ด Ruby เป็นเรื่องปกติ แต่เหตุผลว่าทำไมถึงใช้ freeze บ่อยครั้งไม่ชัดเจน ในบทความนี้เราจะดูเหตุผลทั่วไปที่นักพัฒนาอาจแช่แข็งตัวแปร โดยใช้โค้ดตัวอย่างจาก Rails codebase และโปรเจกต์โอเพนซอร์สยอดนิยม การสร้างค่าคงที่ (Constants) ที่ไม่เปลี่ยนแปลงได้ ใน Ruby ค่าคงที่ (cons

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