Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. ประสิทธิภาพของ ActiveRecord:N+1 แบบสอบถาม antipattern

    ที่ AppSignal เราช่วยนักพัฒนาด้วยประสิทธิภาพของแอปพลิเคชัน เรากำลังตรวจสอบแอปจำนวนมากที่ส่งคำขอนับพันล้านรายการ เราคิดว่าเราสามารถช่วยบล็อกโพสต์เกี่ยวกับ Ruby และประสิทธิภาพได้เล็กน้อย ปัญหาการสืบค้น N+1 เป็นการต่อต้านรูปแบบทั่วไปในแอปพลิเคชัน Rails ORM จำนวนมาก เช่น ActiveRecord ของ Rails มีการโหล

  2. การแคชฝั่งไคลเอ็นต์ใน Rails:คำขอ GET แบบมีเงื่อนไข

    นอกจากการแคชตุ๊กตารัสเซียแล้ว ยังมีเทคนิคเพิ่มเติมในการเร่งประสิทธิภาพในแอป Rails คราวนี้เราจะดูการรองรับ GET แบบมีเงื่อนไขในตัวของ Rails ซึ่งช่วยให้คุณจัดเก็บหน้าที่แสดงผลในแคชของเบราว์เซอร์ของผู้ใช้ 👋 และหากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับประสิทธิภาพนอกแคช ยังมีอีกมากมายที่เราเขียนเกี่ยวกับประส

  3. รับรองการดำเนินการ การลองล้มเหลวอีกครั้ง และการเพิ่มข้อยกเว้นใน Ruby

    ข้อยกเว้นที่เพิ่มขึ้นสามารถได้รับการช่วยเหลือเพื่อรันเส้นทางรหัสทางเลือกเมื่อมีสิ่งผิดปกติ แต่มีหลายวิธีในการจัดการข้อยกเว้น ใน AppSignal Academy ฉบับนี้ เราจะพูดถึง retry และ ensure คีย์เวิร์ด และเราจะพิจารณาการเพิ่มข้อยกเว้นที่ได้รับการช่วยเหลือ สมมติว่าเรากำลังสื่อสารกับ Web API ที่ไม่น่าเชื่อถื

  4. เร่งการนำทางแอปของคุณด้วย Turbolinks

    Turbolinks เป็นการเพิ่มประสิทธิภาพที่เพิ่ม รับรู้ ประสิทธิภาพโดยฉลาดในการสลับหน้าและโหลดเนื้อหาในแอปของคุณใหม่ ไม่เหมือนกับคำขอ GET แบบมีเงื่อนไข โดยไม่จำเป็นต้องเปลี่ยนแปลงโค้ด Ruby ในแอป Rails ของคุณ Turbolinks 5 คือไลบรารี JavaScript ที่ทำงานได้ทุกที่ (แม้จะไม่มี Rails ก็ตาม เช่นเดียวกับหน้าสแตติ

  5. โมดูลนับจำนวนเวทย์มนตร์ของ Ruby

    ถึงเวลาสำหรับ Ruby Magic อีกตอนแล้ว! คราวนี้ เราจะมาดูคุณสมบัติมหัศจรรย์ที่สุดชิ้นหนึ่งของ Ruby ซึ่งมีวิธีการส่วนใหญ่ที่คุณจะใช้เมื่อทำงานกับคลาสที่นับได้ของ Ruby เช่น Array , Hash และ Range . ในกระบวนการนี้ เราจะเรียนรู้สิ่งที่คุณสามารถทำได้ด้วยวัตถุที่นับได้ วิธีแจงนับทำงาน และวิธีทำให้วัตถุสามารถ

  6. ทำซ้ำของ Ruby ลองอีกครั้งและคำหลักถัดไป

    เราได้พูดคุยเกี่ยวกับ retry คีย์เวิร์ดขณะพูดถึงการลองใหม่หลังจากข้อยกเว้น คู่หูที่ไม่ค่อยมีใครรู้จัก redo ทำงานเหมือนกัน แต่จะรันการวนซ้ำแบบวนซ้ำแทนที่จะเป็นทั้งบล็อก The redo คีย์เวิร์ด ดังที่เราได้เรียนรู้ในบทความของ Academy ก่อนหน้านี้ retry ให้คุณลองโค้ดใหม่อีกครั้งในบล็อก: begin puts "I

  7. การแคชตัวนับด้วยแคชตัวนับของ ActiveRecord

    แทนที่จะนับเรคคอร์ดที่เกี่ยวข้องในฐานข้อมูลทุกครั้งที่โหลดเพจ คุณลักษณะการแคชตัวนับของ ActiveRecord อนุญาตให้จัดเก็บตัวนับและอัปเดตทุกครั้งที่มีการสร้างหรือลบออบเจ็กต์ที่เกี่ยวข้อง ในตอนนี้ของ AppSignal Academy เราจะเรียนรู้ทั้งหมดเกี่ยวกับตัวนับแคชใน ActiveRecord ลองใช้ตัวอย่างคลาสสิกของบล็อกที่มี

  8. ภายใต้ประทุน:“Slurping” และสตรีมมิ่งไฟล์ใน Ruby

    ใน Ruby Magic ฉบับนี้ เราจะเรียนรู้เกี่ยวกับการสตรีมไฟล์ใน Ruby ว่า IO เป็นอย่างไร คลาสจัดการการอ่านไฟล์โดยไม่ต้องโหลดลงในหน่วยความจำทั้งหมด และวิธีอ่านไฟล์ต่อบรรทัดด้วยการบัฟเฟอร์การอ่านไบต์ มาดำดิ่งกันเลย! “Slurping” และไฟล์สตรีมมิ่ง File.read ของ Ruby วิธีอ่านไฟล์และส่งคืนเนื้อหาทั้งหมด irb>

  9. แอปพลิเคชั่น Rails ที่โรยด้วย JavaScript

    การแคชแฟรกเมนต์ของ Rails ช่วยเพิ่มความเร็วได้มากขึ้นเมื่อแคชส่วนใหญ่ของเพจถูกแคชไว้ สิ่งนี้ยากกว่าสำหรับหน้าที่มีเนื้อหาแบบไดนามิกหรือเฉพาะผู้ใช้จำนวนมาก วิธีแก้ไขคือใช้ “JavaScript sprinkles” ซึ่งเหมือนกับ hagelslag แต่ไม่มีช็อกโกแลตและมีคำขอพิเศษให้โหลดเนื้อหาเฉพาะผู้ใช้หลังจากที่หน้าที่เหลือได้รั

  10. Ruby Magic Summer Special:ที่สุดของ AppSignal Academy

    จำได้ไหมว่าตอนที่คุณยังเป็นเด็ก และคุณซื้อการ์ตูน omnibus double edition เหล่านั้นหรือไม่? การอ่านนั้นวิเศษแค่ไหน? เราจะไม่แสร้งทำเป็นว่าสิ่งนี้จะลืมไม่ลง แต่เราคิดว่าเราได้รวบรวมตัวเลือก Best-of AppSignal Academy ที่หนาเป็นพิเศษเพื่อให้คุณอ่านที่ชายหาด สวนสาธารณะ หรือในวันอาทิตย์ที่สบายๆ จะทำให้วัน

  11. การสร้างตัวเลขสุ่มใน Ruby

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

  12. เปลี่ยนวิธีสร้างวัตถุให้ทับทิม

    สิ่งหนึ่งที่ทำให้ Ruby ยอดเยี่ยมคือเราสามารถปรับแต่งเกือบทุกอย่างตามความต้องการของเรา สิ่งนี้มีประโยชน์และเป็นอันตราย การยิงตัวเองเป็นเรื่องง่าย แต่เมื่อใช้อย่างระมัดระวัง อาจส่งผลให้มีวิธีแก้ปัญหาที่ทรงประสิทธิภาพ ที่ Ruby Magic เราคิดว่ามีประโยชน์และอันตรายเป็นการผสมผสานที่ยอดเยี่ยม มาดูกันว่า Ru

  13. แคชคอลเลกชัน Rails

    ก่อนหน้านี้เราได้ดูการแคชส่วนย่อยใน Rails บน AppSignal Academy วิธีนี้ช่วยปรับปรุงประสิทธิภาพของการดูได้อย่างมากด้วยการแคชส่วนที่มีขนาดเล็กลง เมื่อแคชบางส่วน เรามีประโยชน์เพิ่มเติมในการนำกลับมาใช้ใหม่ในส่วนอื่นในมุมมองของเราโดยเสียค่าใช้จ่ายเพียงเล็กน้อย วิธีนี้ใช้ได้ผลดีกับคอลเล็กชันขนาดเล็ก แต่ปั

  14. Push และ Pub/Sub ใน Ruby

    การสร้างฟีเจอร์เรียลไทม์ใน Rails ทำได้ง่ายกว่ามากกับไลบรารี เช่น Action Cable ใน AppSignal Academy ในตอนนี้ เราจะเจาะลึกเกี่ยวกับการอัปเดตตามเวลาจริงและเล่นกับการสร้างเซิร์ฟเวอร์ WebSocket แบบมินิมอล เพื่อดูว่ามันทำงานอย่างไรภายใต้ประทุน เราจะสร้างแอปพลิเคชันที่ผลักดัน และใช้ Pub/Sub ผ่าน WebSocket

  15. การปิดใน Ruby:Blocks, Procs และ Lambdas

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

  16. ความแตกต่างระหว่าง #nil?, #empty?, #blank? และ #present?

    Ruby and Rails มีหลายวิธีที่ใช้ตรวจสอบการมีอยู่ของค่าหรือสถานะของวัตถุ Ruby ให้ #nil? และ #empty? และ ActiveSupport ของ Rails เพิ่ม #blank? และ #present? . ทั้งหมดนี้ทำงานในแบบของตัวเอง และสิ่งสำคัญคือต้องรู้ว่าแต่ละรายการประเมินข้อมูลอย่างไร เนื่องจากการใช้วิธีการที่ผิดในโค้ดของคุณอาจทำให้เกิดผลลัพ

  17. #to_s หรือ #to_str?การแคสต์อย่างชัดแจ้งกับการบังคับประเภทโดยปริยายใน Ruby

    Type coercion คือการเปลี่ยนประเภทของวัตถุไปเป็นอีกประเภทหนึ่งพร้อมกับค่าของวัตถุนั้น ตัวอย่างเช่น การเปลี่ยนจำนวนเต็มเป็นสตริงด้วย #to_s หรือลอยเป็นจำนวนเต็มด้วย #to_i . #to_str . ที่อาจจะไม่ค่อยมีใครรู้จัก และ #to_int วิธีการที่ใช้วัตถุบางอย่างทำเช่นเดียวกันในแวบแรก แต่มีข้อแตกต่างบางประการ ใน App

  18. ActiveRecord กับ EctoPart One

    ข้อมูลเป็นส่วนสำคัญของแอปพลิเคชันซอฟต์แวร์ส่วนใหญ่ การทำแผนที่และการสืบค้นข้อมูลจากฐานข้อมูลเป็นงานที่เกิดซ้ำในชีวิตของนักพัฒนา ด้วยเหตุนี้ จึงเป็นสิ่งสำคัญที่จะต้องเข้าใจกระบวนการและสามารถใช้ abstractions ที่ทำให้งานง่ายขึ้นได้ ในโพสต์นี้ คุณจะพบการเปรียบเทียบระหว่าง ActiveRecord (Ruby) และ Ecto (

  19. ความมหัศจรรย์ของตัวแปรอินสแตนซ์ระดับคลาส

    ใน Ruby Magic ก่อนหน้านี้ เราพบวิธีแทรกโมดูลลงในคลาสอย่างน่าเชื่อถือโดยเขียนทับ .new method ทำให้เราสามารถห่อ method ที่มีพฤติกรรมเพิ่มเติมได้ ครั้งนี้ เรากำลังก้าวไปอีกขั้นโดยแยกพฤติกรรมนั้นออกเป็นโมดูลของตัวเอง เพื่อให้เราสามารถนำกลับมาใช้ใหม่ได้ เราจะสร้าง Wrappable โมดูลที่จัดการส่วนขยายคลาสสำห

  20. ActiveRecord กับ EctoPart Two

    นี่เป็นส่วนที่สองของซีรีส์ ActiveRecord vs. Ecto ซึ่ง Batman และ Batgirl ต่อสู้กันเพื่อสืบค้นฐานข้อมูล และเราเปรียบเทียบแอปเปิ้ลกับส้ม หลังจากตรวจสอบสคีมาฐานข้อมูลและการย้ายข้อมูลใน ActiveRecord กับ Ecto ตอนที่หนึ่ง โพสต์นี้จะกล่าวถึงวิธีที่ทั้ง ActiveRecord และ Ecto ช่วยให้นักพัฒนาสามารถสืบค้นฐานข

Total 560 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:8/28  20-คอมพิวเตอร์/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13 14