Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

ข่าว Ruby สรุป Q3 2021: อัปเดตสำคัญและเทรนด์

Quarterly briefings ของ Honeybadger อัปเดตคุณเกี่ยวกับการพัฒนาสำคัญใน programming communities ของคุณ เรา curate ข่าวเพื่อให้คุณใช้เวลาโฟกัสสิ่งสำคัญจริง

  • Events: Conferences และ meetups กำลังจะถึง และเพิ่งจบ
  • Security: รายงานช่องโหว่ล่าสุด
  • Projects: ข่าวเกี่ยวกับ major community projects
  • Trending Topics: สรุปหัวข้อใหญ่ที่ทุกคนพูดถึง
  • Standout Content: เนื้อหาที่ไม่เข้ากับ section อื่น แต่ cool จนไม่ไหวทิ้ง

Events

RubyConf 2021 วันที่ 8-10 พฤศจิกายน

RubyConf เป็นการรวมตัวใหญ่ที่สุดและยาวนานที่สุดของ Ruby enthusiasts, practitioners และ companies จัดที่ Denver แบบ in-person ปีนี้! มี virtual option (ถูกกว่า) ด้วย

  • 7 มิถุนายน: Call for proposals เปิด และปิดแล้ว
  • 7 มิถุนายน: สมัคร RubyConf เปิดแล้ว!

Security

  • 16 สิงหาคม: better_errors ก่อน 2.8.0 ไม่ implement CSRF protection สำหรับ internal requests ไม่ enforce "Content-Type" header ที่ถูกต้อง ทำให้ cross-origin "simple request" ทำได้โดยไม่มี CORS protection

Projects

Ruby

ภาษา Ruby เอง

  • 7 กรกฎาคม: Ruby 3.0.2 released แก้ 3 CVEs

Rails

Rails (หรือ Ruby on Rails) เป็น open-source framework ที่ทำให้ Ruby ยอดนิยมสำหรับ web development

  • 15 กันยายน: Rails 7.0 Alpha 1 Release!

Rails 7 (12)

Rails 7 อยู่ใน Alpha อย่างเป็นทางการ นำความตื่นเต้นใหม่ๆ มาเกี่ยวกับ JavaScript, การเข้ารหัส at-work ด้วย Active Record, SQL query origin logging, asynchronous query loading, exclusive autoloading ผ่าน Zeitwerk และมากมาย

  • Previewing Rails 7 upcoming changes

    • Stefan Weinert
    • Stefan walk through upcoming changes ใน Rails 7
  • Adding support for cross-cluster associations to Rails 7

    • Eileen M. Uchitelle
    • Github team extracted internal functionality เพื่อ disable joining queries เมื่อ association ข้าม multiple databases
  • Rails 7 adds change tracking methods for belongs_to associations

    • Swaathi Kakarla
    • ใช้ ActiveRecord query การเปลี่ยนแปลง database
  • Starting with Rails 7, retry failed jobs indefinitely

    • Alkesh Ghorpade
    • Rails 7 มาพร้อม ActiveJob upgrade ให้ specify jobs ที่ควร retry จนสำเร็จ ไม่มีที่สิ้นสุด

Testing (6)

Testing code สำคัญสำหรับ production applications at scale และ Ruby community 熱心 เกี่ยวกับ testing

  • Making Rails run just a few tests faster

    • Jorge Manrubia
    • Rails parallel testing มี overhead มากจาก database setup และ fixture loading Jorge เปิด PR ใน Rails disable parallel testing by default
  • Understanding Factory Bot syntax by coding your own Factory Bot

    • Jason Swett
    • Jason demystifies Factory Bot โดยสร้าง implementation ของตัวเองจากศูนย์

Javascript, Hotwire, และ Rails (5)

Rails releases 近期 และ releases ใกล้ๆ ได้เปลี่ยนวิธี Rails interact กับ Javascript

  • Modern web apps without JavaScript bundling or transpiling

    • David Heinemeier Hansson
    • เราไม่ต้องการ transpiling step แปลง ES6 ให้รันใน browser มันรันได้ดี ไม่ต้องเปลี่ยน
  • Using Hotwire with Rails for a SPA like experience

    • Mike Wilson
    • Mike อธิบายใช้ Hotwire และ Turbo frames สำหรับ navigation
  • Using Hotwire with Rails

    • Renata Marques
    • Hotwire เป็นวิธีสร้าง modern web applications โดยไม่ต้อง JavaScript มาก โดยส่ง HTML over the wire ในบทความนี้ Renata Marques แนะนำ Hotwire และ walk through ตัวอย่างง่าย

Standout Content

  • Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby

    • The Sorbet Team
    • Stripe เปิดโค้ด ahead-of-time Ruby compiler ของพวกเขา เร็วกว่า default ถึง 170%
  • Tutorial: How to Send Email in a Ruby App

    • Aydrian Howard
    • Walkthrough เร็วเพิ่ม email functionality ใน Ruby app
  • Under the hood of the includes method in Rails

    • Paweł Dąbrowski
    • เข้าใจว่า ActiveRecord implement includes ยังไง