Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. ทำนายอนาคตของการเขียนโปรแกรม: Insights และ Trends

    ทำไม Rails ถึงดังขึ้นเร็วมาก? ความเรียบง่ายช่วยมาก โดยเฉพาะถ้ามาจากโลก Java, XML, Enterprise การตลาดก็เก่งมาก แต่นั่นไม่ใช่ทุกอย่าง ความสำเร็จของ Rails ในโลก startup มาจากข้อเท็จจริงง่ายๆ: ปัญหาของธุรกิจส่วนใหญ่ไม่ได้ unique มาก Rails เก่งสร้าง CRUD sites ขณะยืดหยุ่นได้ และนั่นคือสิ่งที่ธุรกิจจำนว

  2. Scopes vs Class Methods ใน Rails: วิธีไหนดีกว่า?

    บทความนี้มีภาษาเกาหลีด้วย ขอบคุณ Soonsang Hong! Scopes เป็นวิธีดีในการดึง objects ที่ต้องการจากฐานข้อมูล: app/models/review.rb class Review < ActiveRecord::Base scope :most_recent, -> (limit) { order(created_at desc).limit(limit) } end ใช้ scope แบบนี้: app/models/homepage_controller.rb @r

  3. จัดการ Log ให้เก่ง: หลีกเลี่ยงความสับสนจากข้อความอ่านไม่ออก

    เวลาเจอ bug แปลกที่แก้ไม่ออก การปรับปรุง logging อาจเป็นขั้นตอนที่ดีที่สุด Logging ที่ดีคือวิธีง่ายที่สุดในการตรวจจับและแก้ไขชั้นใหญ่ของ bugs ถ้าล็อกข้อมูลพอ คุณจะเห็นว่าข้อมูลเปลี่ยนแปลงตลอด request ติดตามการเรียก services อื่น และสืบสวน response จริงๆ ตอน debugger ล้มเหลว logging ช่วยแก้ bug ยากที

  4. 3 ขั้นตอนแก้ปัญหา Encoding ใน Ruby ที่พิสูจน์แล้ว

    คุณคิดถึง encoding ของ string ก็ต่อเมื่อมันพัง เวลาดู exception tracker แล้วเห็น Encoding::InvalidByteSequenceError: \xFE on UTF-8 จ้องอยู่หน้าตา หรือ they’re กลายเป็น they’re ตอน encoding พัง จะหาสาเหตุและแก้ได้อย่างไร? Encoding คืออะไร? ถ้าคุณจินตนาการได้ว่า encoding ทำอะไรกับ string แบกนี้

  5. แก้ไข Quote ที่เข้ารหัสผิด: แปลง ’ เป็น ’

    สัปดาห์ที่แล้ว คุณเรียนกระบวนการสั้นๆ ที่แก้ปัญหา encoding ส่วนใหญ่ แต่มีปัญหา encoding หนึ่งที่ยากกว่านั้นมาก คุณเคยเห็นมันแล้ว (หรือคุณ’ve seen it?) คือเมื่อ curly quote กลายเป็น ’ หรือ em-dash กลายเป็น — มันทำให้คุณคิดว่าคุณบ้าลงมา มันควรทำงานได้แค่ไหน! คุณอาจสร้างตารางใหญ่เพื่อหาตัวอักษร

  6. สคริปต์ที่รันครั้งเดียวใน Rails: คู่มือ Ad-Hoc Tasks ที่มีประสิทธิภาพ

    เคยอยากนำเข้าข้อมูลจำนวนมากจาก CSV? หรือแก้ไขตัวอักษรที่เข้ารหัสผิดในรีวิวลูกค้า? หรือเปลี่ยนรูปแบบการเก็บข้อมูลใน Redis และต้องย้ายข้อมูลทั้งหมด? ที่ Avvo เราเรียกว่า ad-hoc tasks คืองานที่อาจรันเพียงครั้งเดียว วิธีที่ดีที่สุดในการจัดการ ad-hoc task ใน Rails คืออะไร? เขียน Database Migration Mig

  7. เขียนเทสต์ครอบคลุมสำหรับโค้ดที่ซับซ้อน: คู่มือแรกเริ่ม

    โค้ดส่วนไหนของคุณที่ยังไม่ได้ทดสอบ? เป็นโค้ดที่จัดการกับสถานการณ์ซับซ้อนที่คุณควบคุมไม่ได้ไหม? เช่น threads, การรันคำสั่ง, git, networking, หรือ UI? แอปของเราจะน่าสนใจที่สุดเมื่อมันซับซ้อน แต่ก็เป็นอันตรายที่สุดเช่นกัน และนั่นคือเหตุผลที่โค้ดที่ทดสอบยาก จึงเป็นโค้ดที่ต้องการการทดสอบที่ดีที่สุด แม้ว

  8. Rails 5.1: ฟีเจอร์แฝงที่น่าสนใจ Tag Helpers, Assertions, Delegation

    Rails 5.1 ปล่อยตอน RailsConf 2017 ฟีเจอร์ใหญ่: JS Integration, Encrypted Secrets, System Tests, form_with แทน form_for/form_tag แต่ ความสวยงามของ Rails อยู่ที่รายละเอียดเล็กๆ ที่ทำให้เขียนโค้ดวันละดีขึ้น 1. Tag Helpers ที่สอดคล้องกันมากขึ้น เดิม: tag และ content_tag สับสน Parameter Order Rails 5.1:

  9. Decorator vs Subclass ใน Rails: เลือก Design Pattern ให้ถูกต้อง

    Rails 5.1 เพิ่ม delegate_missing_to ให้ Forward Method ที่ไม่มีไป Object อื่น แทนที่จะสร้าง Subclass บทความนี้วิเคราะห์ว่าทำไม Decorator Pattern ถึงดีกว่า Inheritance บางกรณี delegate_missing_to คืออะไร? class Player delegate_missing_to :@user def initialize(user) @user = user end

  10. เมื่อไหร่ควร Deep Dive Rails: จับเวลาเรียนรู้เชิงลึกให้ถูกจุด

    เคยเจอหัวข้อ Rails ที่ไม่เข้าใจไหม? คิดว่ารู้ เขียนโค้ดแล้วผลออกมาแตกต่างสิ้นเชิง หรือ รู้ประมาณ พอได้โดย แตก Debug Edge Cases นานจนเรียนรู้จริงเร็วกว่า? ดีกว่ามั้ยถ้าเข้าใจจริงๆ ว่ามันทำงานยังไง? มี Mental Model ที่มั่นคง ตัดสินใจได้ถูก เขียนโค้ดได้ถูก ตอนเรียน Web Dev ตอนแรก Sessions เป็น That Thi

  11. วิธีทำ Rails Deep Dive ให้ลึกและครบถ้วน

    ตอนแก้บั๊กแล้วเจอบั๊กใหม่เยอะขึ้น หรือโค้ดทำงานแปลกๆ จนสงสัยว่าตัวเองเข้าใจจริงหรือเปล่า นั่นคือเวลาที่ต้อง Deep Dive (ศึกษาลึก) แตการรู้ว่า ต้องศึกษาลึก เป็นแค่ขั้นตอนแรก จริงๆ แล้วต้องเรียนรู้จนเข้าใจพื้นฐานอย่างไร? เริ่มต้นที่ไหน? แหล่งเรียนรู้เยอะมาก แต่ ตอนต้องเรียนรู้มากในเวลาน้อย หนังสือเป็นท

  12. ฟื้นฟูทักษะหลังหยุดพัฒนาตนเอง: กลยุทธ์เรียนรู้ระหว่างงานและชีวิตส่วนตัว

    เมื่อคุณมุ่งมั่นกับโปรเจกต์ใหญ่หรืองานใหม่ นานๆ อาจรู้สึกว่าตัวเองตกหลังจากโลกเทคโนโลยี ช่วงเวลาที่ไม่ได้เรียนรู้ใหม่ๆ กินเวลาของคุณไปแล้วหรือยัง? และจะปิดช่องว่างนี้ได้อย่างไร? เรียนที่บ้าน? หรือเรียนที่ทำงาน? ถ้าคุณไม่ได้จัดเวลาให้การเรียนรู้ เวลานั้นต้องมาจากที่ใดที่หนึ่ง แต่ที่ไหนดี? เรียนเองนอก

  13. ทำให้การอัปเดตสกรีนชอตแอปเป็นอัตโนมัติด้วย Capybara และ Selenium

    การอัปเดต AppSignal สัปดาห์ที่แล้วรวมถึงการออกแบบ UI ใหม่สำหรับทุกหน้าจอ หมายความว่าเราต้องอัปเดตสกรีนชอตทั้งหมดบนหน้าแรก ให้แน่ใจว่าแสดงสถานะปัจจุบันของแอป เพื่อลดงานmanual อันมหาศาล เราตัดสินใจทำให้กระบวนการเป็นอัตโนมัติโชคดีที่เราจำได้ว่า Selenium ถ่ายสกรีนชอตได้ เราใช้ Selenium ผ่าน Capybara สำห

  14. เชี่ยวชาญ Custom Metrics: คู่มือการติดตาม AppSignal ขั้นสูง

    ข้อมูลเชิงลึกลึกขึ้นด้วย Custom Metricsด้วย AppSignal gem คุณใช้ custom instrumentation ได้แล้วเพื่อรายละเอียดประสิทธิภาพแอปพลิเคชันมากขึ้น แต่บางครั้งคุณอยากติดตามเมตริกอื่นๆ ด้วยด้วยการปล่อย 1.0 ของ gem เราคุณสามารถส่ง custom metrics ไป AppSignal เมตริกเหล่านี้ช่วยให้คุณติดตามอะไรก็ได้ในแอปพลิเคชั

  15. เชี่ยวชาญ Concurrency: การขยายระบบอย่างมีประสิทธิภาพสำหรับแอปประสิทธิภาพสูง

    เชี่ยวชาญ Concurrencyหลายคนจะใช้แอปของคุณพร้อมกัน และคุณต้องการส่งมอบแอปให้เร็วที่สุด ดังนั้นคุณต้องมีวิธีจัดการ concurrency อย่าเพิ่งหวาดกลัว! เว็บเซิร์ฟเวอร์ส่วนใหญ่ทำอย่างนี้เป็นค่าเริ่มต้นแล้ว แต่เมื่อคุณต้องขยายระบบ คุณต้องการใช้ concurrency ให้มีประสิทธิภาพสูงสุดประเภท Concurrency ที่แตกต่างกั

  16. ย้ายไป Mongoid 5 ได้อย่างราบรื่น: การตั้งค่า Driver ใหม่และ Best Practices

    การตั้งค่าสำหรับ Developmentหนึ่งในสิ่งแรกที่คุณจะเจอเมื่อเริ่ม Rails app หลังอัปเกรดเป็น Mongoid 5 คือ error เรื่อง database config ไม่ถูกต้องแก้ไขง่าย แค่เปลี่ยน sessions เป็น clients:development: clients: default: database: appsignal_development hosts: - localhost:27017การเปลี่ยนแปลงของ Driverในโ

  17. ติดตามโหลดคิวรี่ MongoDB ด้วย Custom Metrics เพื่อข้อมูลเชิงลึกด้านประสิทธิภาพที่แม่นยำ

    บางครั้งการใช้ instrumentation มาตรฐานไม่เพียงพอที่จะติดตามสาเหตุรากของปัญหาประสิทธิภาพ Custom metrics ช่วยให้เราติดตามชิ้นส่วนที่ขาดหายไปขอบคุณกราฟประสิทธิภาพของ AppSignal เรารู้ทันทีว่าส่วนไหนของโค้ดเบสก่อให้เกิดปัญหาประสิทธิภาพ ในภาพหน้าจอด้านล่าง คุณเห็นว่าเราเผชิญกับความช้าลงรุนแรงเนื่องจาก Mon

  18. ทำความเข้าใจ Garbage Collection ใน Ruby: ภาค 1

    ทุกครั้งที่คุณรันโค้ด คุณใช้หน่วยความจำ เมื่อคุณเขียนในภาษาแบบ Ruby ดูเหมือนว่าหน่วยความจำที่คุณมีนั้นไม่มีที่สิ้นสุด คุณสามารถทำงานต่อไปได้โดยไม่ต้องคิดถึงปริมาณหน่วยความจำที่คงที่ของระบบที่รันโค้ดของคุณ ในตอน Ruby Magic นี้ เราจะอธิบายว่ามันทำงานอย่างไร!ประวัติสั้นๆในอดีต ภาษาสคริปต์อย่าง Ruby ยัง

  19. เจาะลึก Garbage Collection ของ Ruby: การทำงานของ MRI แบบละเอียด

    ในตอนก่อนหน้าของ Ruby Magic เราพูดถึงว่าทำไมต้องมี Garbage Collection (GC) และการทำงานโดยทั่วไป ในโพสต์นี้เราจะเจาะลึกเข้าไปในการนำไปใช้งานใน Rubyการนำ Ruby มาใช้งานต่างๆมีการนำ Ruby มาใช้งานหลายรูปแบบ สามตัวที่นิยมคือ MRI (Matzs Ruby Interpreter), Rubinius และ JRuby การนำ Ruby มาใช้งานต่างกันใช้วิธ

  20. กลยุทธ์การจัดการตารางผู้ใช้ที่เติบโตอย่างรวดเร็ว: ออกแบบให้สะอาดและขยายได้

    ลูกค้ามาถึงจุดนี้อย่างไร?ก่อนจะลงลึกเข้าสู่รายละเอียด เรามาลองเข้าใจกันก่อนว่าแอปพลิเคชันอาจจะกลายเป็นสถานะนี้ได้อย่างไร เราเริ่มต้นด้วยตาราง users ที่เรียบง่าย หลังจากผ่านไป几สัปดาห์ เราต้องการทราบเวลาลงชื่อเข้าใช้ล่าสุด จึงเพิ่มคอลัมน์ users.last_sign_in_at ต่อมาเราต้องการชื่อผู้ใช้ จึงเพิ่ม first_

Total 654 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:11/33  20-คอมพิวเตอร์/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17