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

Ruby News Brief (ไตรมาสที่ 3 ปี 2564)

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

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

เหตุการณ์

RubyConf 2021 วันที่ 8 - 10 พ.ย.

RubyConf คือการรวมตัวของผู้ที่ชื่นชอบ Ruby ผู้ปฏิบัติงาน และบริษัทที่ใหญ่และยาวนานที่สุดในโลก มันจะอยู่ในเดนเวอร์ด้วยตนเองในปีนี้! มันจะมีตัวเลือกเสมือน (ถูกกว่า) ด้วย

  • 7 มิถุนายน:เปิดรับข้อเสนอและปิดตั้งแต่นั้นมา
  • 7 มิถุนายน:เปิดให้ลงทะเบียน RubyConf แล้ว!

ความปลอดภัย

  • 16 ส.ค.:better_errors ก่อน 2.8.0 ไม่ได้ใช้การป้องกัน CSRF สำหรับคำขอภายใน นอกจากนี้ยังไม่ได้บังคับใช้ส่วนหัว "ประเภทเนื้อหา" ที่ถูกต้องสำหรับคำขอเหล่านี้ ซึ่งอนุญาตให้มีการสร้าง "คำของ่ายๆ" ข้ามต้นทางโดยไม่มีการป้องกัน CORS

โครงการ

ทับทิม

Ruby ภาษานั่นเอง

  • 7 กรกฎาคม:Ruby 3.0.2 เปิดตัวแล้ว แก้ไข 3 CVEs

ราง

Rails (หรือ Ruby on Rails) เป็นเฟรมเวิร์กโอเพนซอร์สที่ทำให้ Ruby เป็นที่นิยมสำหรับการพัฒนาเว็บ

  • 15 กันยายน:Rails 7.0 Alpha 1 วางจำหน่ายแล้ว!

ราง 7 (12)

Rails 7 อยู่ในเวอร์ชันอัลฟ่าอย่างเป็นทางการ และนำเสนอคำตอบใหม่ที่น่าตื่นเต้นเกี่ยวกับวิธีการที่เราทำ JavaScript วิธีที่ยอดเยี่ยมในการเข้ารหัสในที่ทำงานด้วย Active Record การบันทึกต้นทางของแบบสอบถาม SQL การโหลดแบบสอบถามแบบอะซิงโครนัส การโหลดอัตโนมัติแบบเอกสิทธิ์เฉพาะผ่าน Zeitwerk และอีกมากมาย .

  • ดูตัวอย่าง Rails 7 การเปลี่ยนแปลงที่จะเกิดขึ้น

    • สเตฟาน ไวน์เนิร์ต
    • สเตฟานพูดถึงการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นใน Rails 7
  • เพิ่มการรองรับการเชื่อมโยงข้ามคลัสเตอร์ใน Rails 7

    • Eileen M. Uchitelle
    • ทีม Github แยกการทำงานภายในเพื่อปิดใช้งานการสืบค้นแบบเข้าร่วมเมื่อการเชื่อมโยงข้ามฐานข้อมูลหลายฐานข้อมูล
  • Rails 7 เพิ่มวิธีการติดตามการเปลี่ยนแปลงสำหรับสมาคมที่เป็นของ_to

    • สวาธี คาคาร์ลา
    • การใช้ ActiveRecord เพื่อค้นหาการเปลี่ยนแปลงฐานข้อมูล
  • เริ่มต้นด้วย Rails 7 ลองงานที่ล้มเหลวอีกครั้งโดยไม่มีกำหนด

    • อัลเคช กอร์ปาเด
    • Rails 7 มาพร้อมกับการอัปเกรด ActiveJob ที่ช่วยให้เราระบุงานที่ควรจะลองใหม่จนกว่าจะสำเร็จโดยไม่มีกำหนด

การทดสอบ (6)

รหัสการทดสอบมีความสำคัญต่อการเรียกใช้แอปพลิเคชันที่ใช้งานจริงในวงกว้าง และชุมชน Ruby ก็กระตือรือร้นในการทดสอบเป็นอย่างมาก

  • ทำให้ Rails ทำการทดสอบได้เร็วขึ้นเพียงไม่กี่ครั้ง

    • ฮอร์เก้ มันรูเบีย
    • การทดสอบ Rails Parallel มีค่าใช้จ่ายสูงเนื่องจากการตั้งค่าฐานข้อมูลและการโหลดฟิกซ์เจอร์ Jorge ได้เปิด PR ใน Rails เพื่อปิดการทดสอบแบบขนานโดยค่าเริ่มต้น
  • ทำความเข้าใจไวยากรณ์ Factory Bot โดยการเข้ารหัส Factory Bot ของคุณเอง

    • เจสัน สเวตต์
    • Jason ทำให้ Factory Bot ลึกลับขึ้นในขณะที่เขาสร้างการใช้งานขึ้นมาเองตั้งแต่ต้น

Javascript, Hotwire และ Rails (5)

การเปิดตัวและการเปิดตัว Rails ล่าสุดรอบมุมได้เปลี่ยนวิธีที่ Rails โต้ตอบกับ Javascript

  • เว็บแอปสมัยใหม่ที่ไม่มี JavaScript bundling หรือ transpiling

    • David Heinemeier Hansson
    • เราไม่ต้องการขั้นตอน transpiling เพื่อเปลี่ยน ES6 ให้เป็นสิ่งที่ทำงานในเบราว์เซอร์อีกต่อไป ใช้งานได้ปกติ ไม่จำเป็นต้องเปลี่ยนแปลง
  • การใช้ Hotwire กับ Rails เพื่อประสบการณ์เหมือนสปา

    • ไมค์ วิลสัน
    • ไมค์อธิบายการใช้เฟรม Hotwire และ Turbo สำหรับการนำทาง
  • การใช้ Hotwire กับ Rails

    • เรนาต้า มาร์คัส
    • Hotwire เป็นวิธีสร้างเว็บแอปพลิเคชันสมัยใหม่โดยไม่ต้องใช้ JavaScript มากนักโดยส่ง HTML ผ่านสาย ในบทความนี้ Renata Marques ได้แนะนำให้เรารู้จักกับ Hotwire และแนะนำตัวอย่างง่ายๆ ให้เราทราบ

เนื้อหาโดดเด่น

  • Sorbet Compiler:คอมไพเลอร์รุ่นทดลองสำหรับ Ruby

    • ทีมซอร์เบท
    • Stripe เปิดเผยโค้ดสำหรับคอมไพเลอร์ Ruby ล่วงหน้า ซึ่งเร็วกว่าค่าเริ่มต้นถึง 170%
  • บทช่วยสอน:วิธีส่งอีเมลในแอป Ruby

    • ไอเดรียน ฮาวเวิร์ด
    • คำแนะนำสั้นๆ เกี่ยวกับการเพิ่มฟังก์ชันอีเมลในแอป Ruby
  • ภายใต้ประทุนของวิธีการรวมใน Rails

    • พาเวล ดอบรอฟสกี
    • ทำความเข้าใจวิธีที่ ActiveRecord ใช้ includes