หน้าแรก
หน้าแรก
มาเริ่มโพสต์นี้ด้วยเกมทายผลสนุกๆ กัน คุณคิดว่าอะไรคือข้อผิดพลาดที่พบบ่อยที่สุดที่ AppSignal ติดตามในแอปพลิเคชัน Ruby ค่อนข้างจะถือว่าพวกคุณหลายคนตอบคำถามนี้ด้วย NoMethodError ข้อยกเว้นที่เกิดจากการเรียกเมธอดที่ไม่มีอยู่จริงบนอ็อบเจ็กต์ ในบางครั้ง อาจเกิดจากการพิมพ์ชื่อเมธอดผิด แต่บ่อยครั้งเป็นผลมาจ
สวัสดีเด็ก ๆ และผู้ปกครอง ahem Rubyists ในบทความก่อนหน้านี้ เราได้เจาะลึกถึงห่วงโซ่ของบรรพบุรุษ ในโพสต์ของวันนี้ เราจะเจาะลึกการเลี้ยงลูกและการสืบทอด เราจะสำรวจวิธีการเบ็ดที่สืบทอดมาและมองหาการป้องกันการสืบทอด เมื่อเด็ก ๆ สืบทอด 101:วิธีเบ็ดที่สืบทอดมา เริ่มต้นด้วยการดูว่าการประกาศความเป็นพ่อแม่เป็
เราหวังว่าคุณจะอุ่นสตรอพวาเฟลบนกาแฟของคุณ เพราะวันนี้เรากำลังติดสตรูปวาเฟลเหนียวหนึบ ในสองส่วนแรกของซีรีส์ เราอบ Lexer และ Parser และตอนนี้ เรากำลังเพิ่มล่ามและติดกาวเข้าด้วยกันโดยเทสตรูปลงไป ส่วนผสม ไม่เป็นอะไร! มาเตรียมครัวสำหรับการอบและใส่ส่วนผสมของเราลงบนโต๊ะกันเถอะ ล่ามของเราต้องการส่วนผสมหรือ
เรามักได้รับคำถามเกี่ยวกับการเพิ่มประสิทธิภาพหรือการตรวจสอบ Sidekiq การตรวจสอบเป็นเกมของเรา แต่การเพิ่มประสิทธิภาพการทำงานของ Sidekiq นั้นเป็นเกมบอลที่แตกต่างออกไปโดยสิ้นเชิง ในความเป็นจริง การเพิ่มประสิทธิภาพนั้นซับซ้อน แต่มาเริ่มด้วยการดูคำตอบที่ดูเหมือนง่าย... สองวิธีในการเพิ่มความเร็ว ในการเริ่
ในโพสต์นี้ เราจะสำรวจวิธีสร้างโมดูล Ruby ที่ผู้ใช้โค้ดของเรากำหนดค่าได้ ซึ่งเป็นรูปแบบที่ช่วยให้ผู้เขียน gem สามารถเพิ่มความยืดหยุ่นให้กับไลบรารีได้ นักพัฒนา Ruby ส่วนใหญ่คุ้นเคยกับการใช้โมดูลเพื่อแชร์พฤติกรรม ท้ายที่สุด นี่เป็นหนึ่งในกรณีการใช้งานหลัก ตามเอกสาร: โมดูลให้บริการสองวัตถุประสงค์ในฟั
สวัสดีแฟนๆ stroopwafel 👋 ในขณะที่เราตั้งตารอที่จะเผยแพร่โพสต์ Ruby, Elixir และ JavaScript เพิ่มเติมในปี 2020 ที่จะถึงนี้ เราจึงตัดสินใจย้อนกลับไปดูโพสต์บนบล็อกที่คุณให้ใจมากที่สุดบน Twitter อ่านในบล็อก และสิ่งที่เราได้รับ ที่ชื่นชมมากที่สุดในปี 2019 1. ข้อผิดพลาดของ JavaScript:ประวัติอันยอดเยี่ยม
ในโพสต์ของวันนี้ เราจะพูดถึงความแตกต่างที่สำคัญและประโยชน์ของการใช้ structure.sql เทียบกับ schema.rb default ที่เป็นค่าเริ่มต้น รูปแบบสคีมาในแอปพลิเคชัน Ruby on Rails ของคุณ ในโลกที่ขับเคลื่อนด้วยข้อมูล การรู้วิธีใช้ประโยชน์จากฟีเจอร์ที่หลากหลายของฐานข้อมูลสามารถสร้างความแตกต่างระหว่างองค์กรที่ประสบ
ในโพสต์นี้ เราจะพิจารณาวิธีการปรับปรุงประสิทธิภาพการดู Rails ที่ผ่านการทดลองและเป็นจริง โดยเฉพาะอย่างยิ่ง ฉันจะเน้นที่ประสิทธิภาพของฐานข้อมูล การจัดการมุมมอง และการแคช ฉันคิดว่าวลี การเพิ่มประสิทธิภาพก่อนวัยอันควรเป็นรากเหง้าของความชั่วร้ายทั้งหมด ถูกนำออกจากบริบทเล็กน้อย ฉันมักจะได้ยินนักพัฒนาใช้ส
ในโพสต์ของวันนี้ เราจะดูการทดสอบระบบใน Rails 6 การทดสอบระบบมีขึ้นเพื่อทดสอบวิธีที่ผู้ใช้โต้ตอบกับแอปพลิเคชันของคุณโดยอัตโนมัติ รวมถึง Javascript ในส่วนติดต่อผู้ใช้ของคุณ Minitest ซึ่งเป็นเฟรมเวิร์กการทดสอบเริ่มต้นใน Rails เหมาะอย่างยิ่งสำหรับการทดสอบระบบ ด้วยการกำหนดค่าทั้งหมดที่ Rails จัดการให้เรา
ในโพสต์ของวันนี้ เราจะมาเรียนรู้วิธีสร้างแอป Rails ที่สามารถรองรับหลายโดเมนย่อยได้ สมมติว่าเรามีเว็บไซต์เกม funkygames.co และเราต้องการสนับสนุนโดเมนย่อยหลายโดเมน เช่น app.funkygames.co , api.funkygames.co และ dev.funkygames.co ด้วยแอปพลิเคชั่น Rails เดียว เราต้องการให้แน่ใจว่าได้ดำเนินการตรวจสอบสิทธ
ในโพสต์ของวันนี้ เราจะพิจารณารูปแบบการออกแบบซอฟต์แวร์ที่เรียกว่า Facade เมื่อฉันนำมาใช้ครั้งแรก ฉันรู้สึกอึดอัดเล็กน้อย แต่ยิ่งฉันใช้มันในแอพ Rails ของฉันมากเท่าไหร่ ฉันก็ยิ่งรู้สึกซาบซึ้งกับประโยชน์ของมันมากขึ้นเท่านั้น ที่สำคัญกว่านั้น ทำให้ฉันได้ทดสอบโค้ดอย่างละเอียดยิ่งขึ้น เพื่อล้างตัวควบคุม ลด
Ruby เป็นที่รู้จักในด้านประสิทธิภาพการทำงานมาโดยตลอดสำหรับนักพัฒนา นอกเหนือจากคุณสมบัติต่างๆ เช่น ไวยากรณ์ที่สวยงาม การรองรับการเขียนโปรแกรมเมตาที่หลากหลาย ฯลฯ ที่ทำให้คุณทำงานได้อย่างมีประสิทธิภาพเมื่อเขียนโค้ด ก็ยังมีอาวุธลับอีกอย่างที่เรียกว่า TracePoint ที่สามารถช่วยให้คุณ ดีบัก ได้เร็วขึ้น ในโ
DHH เพิ่งสร้างคำว่า Citadel ซึ่งท้ายที่สุดก็ทำให้เรามีวิธีที่ยอดเยี่ยมในการอ้างอิงถึงวิธีที่เราเข้าถึงเทคโนโลยีที่ AppSignal เราพูดว่า นี่เราเอง! ของของเรามีชื่อแล้ว นอกเหนือจาก Majestic Monolith แล้ว ใครบางคนควรเขียนรูปแบบของ The Citadel:A single Majestic Monolith รวบรวมแอปส่วนใหญ่ไว้ด้วยกัน โดยมีแ
ในโพสต์ของวันนี้ เราจะเจาะลึกการโยกย้าย Rails เราจะแบ่งการโยกย้ายออกเป็นส่วนๆ และในกระบวนการนี้ คุณจะได้เรียนรู้วิธีการเขียนการย้ายถิ่นอย่างมีประสิทธิภาพ เราจะเรียนรู้วิธีเขียนการย้ายข้อมูลสำหรับหลายฐานข้อมูล ตลอดจนวิธีจัดการกับการย้ายที่ล้มเหลวและเทคนิคการย้อนกลับ เพื่อให้เข้าใจโพสต์ทั้งหมด คุณจะต
บทความนี้ได้รับการแก้ไขจากลักษณะเดิมใน Playbook Thirty-nine - A Guide to Shipping Interactive Web Apps with Minimal Tooling และปรับแต่งให้เหมาะกับโพสต์ของผู้เยี่ยมชมนี้สำหรับ AppSignal มีฟังก์ชันมากมายที่แอปของคุณต้องจัดการ แต่ตรรกะนั้นไม่จำเป็นต้องอยู่ในตัวควบคุมหรือแม้แต่โมเดลเสมอไป ตัวอย่างบางส
เว็บแอปส่วนใหญ่จะได้รับประโยชน์จากคิวในเบื้องหลัง ซึ่งมักใช้ในการประมวลผลงานด้านที่มีแนวโน้มว่าจะเกิดข้อผิดพลาดหรือใช้เวลานาน งานเบื้องหลังเหล่านี้อาจแตกต่างกันไปตั้งแต่การส่งอีเมล การอัปเดตแคช ไปจนถึงการดำเนินการตามหลักตรรกะทางธุรกิจ เนื่องจากระบบการจัดคิวในเบื้องหลังจะปรับขนาดจำนวนงานที่จำเป็นต้อ
ยินดีต้อนรับสู่โพสต์แรกในซีรีส์ของเราเกี่ยวกับ Ruby on Rails Patterns และ Anti-patterns ในแต่ละโพสต์ เราจะเจาะลึกถึงรูปแบบต่างๆ ที่คุณอาจพบขณะใช้งานแอป Rails วันนี้เราจะแสดงให้เห็นว่ารูปแบบ (การออกแบบ) คืออะไร แล้วพยายามอธิบายว่ารูปแบบการต่อต้านคืออะไรด้วย เพื่อแสดงคำอธิบายที่ดียิ่งขึ้น เราจะใช้เฟร
หากคุณเคยใช้ Ruby on Rails มาก่อน คุณอาจเคยเจอข้อกังวลใจมาก่อน เมื่อใดก็ตามที่คุณเริ่มต้นโปรเจ็กต์ Rails ใหม่ คุณจะได้รับ app/controllers/concerns และ app/models/concerns . แต่สิ่งที่เป็นกังวล? และทำไมบางครั้งผู้คนจากชุมชน Rails ถึงพูดถึงพวกเขาในทางที่ไม่ดี ภาพรวมโดยย่อ Rails Concern คือโมดูลใดๆ ที
การตรวจสอบแอปพลิเคชันของคุณเพียงอย่างเดียวไม่เพียงพอเสมอที่จะทำให้ระบบของคุณมีภาพรวมที่สมบูรณ์ บ่อยครั้ง บริการที่ทำงานในแอปดาวเทียม (หรือแอปที่รองรับ) อาจส่งผลกระทบอย่างรุนแรงต่อการดำเนินงานในแต่ละวันของคุณ เซิร์ฟเวอร์ฐานข้อมูลเป็นตัวอย่างที่รู้จักกันดีของสิ่งนี้ สคริปต์สำรองและงานเบื้องหลังอื่นๆ อ
เนมสเปซคืออะไร ทุกสิ่งที่เกิดขึ้นในแอปพลิเคชันที่ตรวจสอบด้วย AppSignal จะถูกบันทึกภายใต้เนมสเปซ เนมสเปซทำงานเหมือนโฟลเดอร์ การจัดกลุ่มเหตุการณ์ ปัญหา และการตรวจสอบข้อมูลเป็นส่วนๆ ที่จัดการได้ โดยค่าเริ่มต้น ทุกแอปพลิเคชันจะเริ่มต้นด้วยเนมสเปซเริ่มต้นสามรายการ:web , background และ frontend . เนมสเ