หน้าแรก
หน้าแรก
ทำไม Rails ถึงได้รับความนิยมอย่างรวดเร็ว? ความเรียบง่ายช่วยได้ โดยเฉพาะถ้าคุณมาจาก Java, XML, Enterprise world มันถูกวางตลาดอย่างเหลือเชื่อเช่นกัน แต่นั่นไม่ใช่ทั้งหมด ความสำเร็จมากมายของ Rails ในโลกการเริ่มต้นธุรกิจมาจากข้อเท็จจริงง่ายๆ:ปัญหาที่ธุรกิจมีนั้นไม่ได้แตกต่างกันมากนัก Rails นั้นยอดเยี่
บทความนี้มีในภาษาเกาหลีด้วย ขอบคุณ Soonsang Hong! ขอบเขตเป็นวิธีที่ยอดเยี่ยมในการดึงวัตถุที่ถูกต้องออกจากฐานข้อมูลของคุณ: app/models/review.rb class Review < ActiveRecord::Base scope :most_recent, -> (limit) { order(created_at desc).limit(limit) } end คุณจะใช้ขอบเขตดังนี้: app/models/hom
เมื่อคุณพบจุดบกพร่องที่แปลกและดูเหมือนแก้ไม่ตก การปรับปรุงการบันทึกอาจเป็นขั้นตอนที่ดีที่สุดที่คุณสามารถทำได้ การบันทึกที่ยอดเยี่ยมเป็นวิธีที่ง่ายที่สุดในการตรวจหาและแก้ไขข้อบกพร่องทั้งคลาส เมื่อคุณบันทึกข้อมูลเพียงพอ คุณจะเห็นว่าข้อมูลของคุณเปลี่ยนแปลงไปอย่างไรในระหว่างการขอ คุณสามารถติดตามการโทรที
คุณคิดจริงๆ เกี่ยวกับการเข้ารหัสของสตริงเมื่อมันขาด เมื่อคุณตรวจสอบตัวติดตามข้อยกเว้นแล้วดู Encoding::InvalidByteSequenceError: \xFE on UTF-8 จ้องมองคุณในใบหน้า หรือบางที “พวกเขากำลัง” เริ่มปรากฏเป็น “พวกเขากำลัง” ดังนั้น เมื่อคุณมีการเข้ารหัสที่ไม่ดี คุณจะทราบได้อย่างไรว่าสิ่งใดมีปัญหา แล้วจะแก้
ในบทความของสัปดาห์ที่แล้ว คุณได้เรียนรู้กระบวนการสั้นๆ ที่แก้ปัญหาการเข้ารหัสส่วนใหญ่ แต่มีปัญหาการเข้ารหัสปัญหาหนึ่งที่แก้ไขได้ยากกว่ามาก ฉันรู้ว่าคุณเคยเห็นมัน (หรือบางทีคุณเคยเห็นมันแล้ว?) เมื่อคำพูดหยิกกลายเป็น â €™ หรือ em-dash กลายเป็น — มันจะทำให้คุณคิดว่าคุณบ้าไปแล้ว มันน่าจะใช้ได้นะ! ค
คุณเคยต้องการนำเข้าข้อมูลจำนวนมากไปยังแอปของคุณจากไฟล์ CSV หรือไม่? หรือบางทีคุณอาจต้องแก้ไขอักขระที่เข้ารหัสไม่ดีในบทวิจารณ์ของลูกค้าบางส่วน หรือคุณเปลี่ยนใจเกี่ยวกับวิธีการจัดเก็บข้อมูลใน Redis และต้องย้ายทุกอย่างจากรูปแบบเก่าไปยังรูปแบบใหม่ ที่ Avvo เราเรียกสิ่งเหล่านี้ว่า “งานเฉพาะกิจ” ในทำนองเ
รหัสของคุณใดที่ไม่ผ่านการทดสอบ เป็นรหัสที่เกี่ยวข้องกับสถานการณ์ที่ซับซ้อนซึ่งคุณไม่สามารถควบคุมได้หรือไม่ เธรด รันคำสั่ง git เครือข่าย หรือ UI? แอปของเราน่าสนใจที่สุดเมื่อมีความซับซ้อน พวกเขายังอันตรายที่สุด และนั่นเป็นเหตุผลว่าทำไมโค้ดที่ทดสอบยากจึงเป็นโค้ดประเภทหนึ่งที่ต้องผ่านการทดสอบอย่างดี นั
สัปดาห์ที่แล้ว ระหว่าง RailsConf 2017 มีการจัดส่ง Rails 5.1 หากคุณติดตามประกาศ คุณจะได้เห็นคุณสมบัติที่สำคัญ:การผสานการทำงานที่ดีขึ้นกับ JavaScript ที่ทันสมัย ความลับที่เข้ารหัส และการทดสอบระบบ และชอบเป็นการส่วนตัว:สุดท้าย กำจัดคอมโบแปลก ๆ ของ form_for และ form_tag และแทนที่ด้วย form_with . ฉันแท
ในบทความล่าสุดของฉัน ฉันได้กล่าวถึงคุณสมบัติใหม่ที่ยอดเยี่ยมใน Rails 5.1 delegate_missing_to . ด้วย delegate_missing_to วิธีการใด ๆ ที่คุณไม่พบในวัตถุหนึ่งจะถูกเรียกบนวัตถุอื่นแทน : class Player delegate_missing_to :@user def initalize(user) @user = user end def points Game.points_
คุณเคยพบหัวข้อ Rails ที่ไม่เข้าท่าสำหรับคุณหรือไม่ เช่น คุณคิดว่าคุณรู้แล้ว ดังนั้นคุณจึงเขียนโค้ดและมีสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง? หรือคุณ รู้ คุณไม่เข้าใจ แต่คุณรู้ดีพอที่จะผ่านพ้นไปได้ ยกเว้นว่าคุณใช้เวลามากในการต่อสู้คดีที่เฉียบแหลมจนคุณอาจเป็นผู้เชี่ยวชาญในเรื่องนี้ได้เมื่อทำเสร็จ แ
บางทีการแก้ไขข้อผิดพลาดเพิ่งเกิดใหม่โหล หรือรหัสของคุณแตกในลักษณะแปลก ๆ ที่คุณสงสัยว่าคุณเข้าใจจริงๆ หรือไม่ คุณคิดว่าถึงเวลาลงลึกแล้ว แต่ รู้ คุณต้องดำน้ำลึกในหัวข้อหรือไม่? นั่นเป็นเพียงขั้นตอนที่ 1 คุณเรียนรู้หัวข้อจริง ๆ ถึงพื้นฐานได้อย่างไร คุณเรียนรู้มากพอที่จะมาโดยธรรมชาติได้อย่างไร คุณเริ่ม
เมื่อคุณจดจ่อกับโปรเจกต์ใหญ่หรืองานใหม่ คุณอาจจะเงยหน้าขึ้นและรู้สึกหลงทาง เช่นเดียวกับโลกเทคโนโลยีได้ก้าวไปไกลกว่าคุณ เวลานั้นที่คุณไม่ได้ใช้เวลาเรียนรู้สิ่งใหม่ๆ ในที่สุดก็ตามทันคุณหรือเปล่า และคุณจะปิดช่องว่างนั้นได้อย่างไร เรียนที่บ้าน? หรือเรียนที่ทำงาน? หากคุณไม่ได้จัดเวลาสำหรับการเรียนรู้ เว
การอัปเดต AppSignal ของสัปดาห์ที่แล้วมีการออกแบบอินเทอร์เฟซที่อัปเดตสำหรับทุกหน้าจอ ซึ่งหมายความว่าเราต้องอัปเดตภาพหน้าจอทั้งหมดในหน้าแรกเพื่อให้แน่ใจว่าภาพเหล่านั้นสะท้อนถึงสถานะปัจจุบันของแอป เพื่อลดการใช้แรงงานคนจำนวนมาก เราจึงตัดสินใจทำให้กระบวนการเป็นไปโดยอัตโนมัติ โชคดีที่เราจำได้ว่าในไม่ช้า
ข้อมูลเชิงลึกที่ลึกซึ้งยิ่งขึ้นด้วยเมตริกที่กำหนดเอง ด้วย AppSignal gem คุณสามารถใช้เครื่องมือแบบกำหนดเองเพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับประสิทธิภาพของแอปพลิเคชันของคุณได้ แต่บางครั้งคุณต้องการติดตามเมตริกอื่นๆ ด้วย ด้วย 1.0 การเปิดตัวอัญมณีของเรา คุณสามารถส่งเมตริกที่กำหนดเองไปยัง AppSignal ไ
การเรียนรู้พร้อมกัน ผู้ใช้หลายคนจะใช้แอปของคุณพร้อมกัน และคุณต้องการส่งแอปของคุณให้เร็วที่สุด ดังนั้น คุณจะต้องมีวิธีจัดการกับภาวะพร้อมกัน อย่ากลัว! เว็บเซิร์ฟเวอร์ส่วนใหญ่ทำเช่นนี้โดยค่าเริ่มต้นแล้ว แต่เมื่อคุณต้องการปรับขนาด คุณต้องการใช้การทำงานพร้อมกันอย่างมีประสิทธิภาพสูงสุด การทำงานพร้อมกันปร
การกำหนดค่าการพัฒนา สิ่งแรกที่คุณจะพบเมื่อเริ่มต้นแอป Rails หลังจากอัปเกรดเป็น Mongoid 5 คือข้อผิดพลาดเกี่ยวกับการกำหนดค่าฐานข้อมูลของคุณไม่ถูกต้อง การแก้ไขทำได้ง่ายเพียงแค่เปลี่ยน sessions ถึง clients : development: clients: default: database: appsignal_development hosts:
บางครั้งเครื่องมือวัดมาตรฐานอาจไม่เพียงพอที่จะติดตามสาเหตุที่แท้จริงของปัญหาด้านประสิทธิภาพ เมตริกที่กำหนดเองช่วยให้เราติดตามชิ้นส่วนที่ขาดหายไปได้ ขอบคุณกราฟประสิทธิภาพของ AppSignal เราทราบดีว่าส่วนใดของโค้ดเบสที่ทำให้เกิดปัญหาด้านประสิทธิภาพ ในภาพหน้าจอด้านล่าง คุณจะเห็นว่าเรามีการชะลอตัวอย่างรุน
เมื่อใดก็ตามที่คุณรันโค้ด คุณจะใช้หน่วยความจำ เมื่อคุณเขียนในภาษาเช่น Ruby ดูเหมือนว่าหน่วยความจำที่มีให้คุณนั้นไม่มีที่สิ้นสุด คุณสามารถดำเนินการต่อได้โดยไม่ต้องคิดถึงจำนวนหน่วยความจำคงที่ที่ระบบเรียกใช้โค้ดของคุณมี ในตอน Ruby Magic เราจะอธิบายวิธีการทำงาน! เกร็ดประวัติศาสตร์ ย้อนกลับไปในสมัยนั้น
ในตอนก่อนหน้าของ Ruby Magic เราได้พูดถึงสาเหตุที่เราต้องการ Garbage Collection (GC) และวิธีการทำงานโดยทั่วไป ในโพสต์นี้ เราจะเจาะลึกลงไปอีกเล็กน้อยเกี่ยวกับวิธีการใช้งาน Ruby การใช้งาน Ruby ที่แตกต่างกัน มีการใช้งาน Ruby จำนวนมาก สามรายการยอดนิยมคือ:MRI (Matzs Ruby Interpreter), Rubinius และ JRuby
ลูกค้าไปที่นั่นได้อย่างไร ก่อนจะลงลึกในรายละเอียด เรามาทำความเข้าใจกันก่อนว่าแอพจะจบลงอย่างไรในสถานะนี้ เราเริ่มต้นด้วย users . ง่ายๆ โต๊ะ. หลังจากผ่านไปสองสามสัปดาห์ เราต้องสามารถระบุเวลาลงชื่อเข้าใช้ครั้งสุดท้ายได้ เราจึงเพิ่ม users.last_sign_in_at . จากนั้นเราต้องรู้ชื่อผู้ใช้ เราเพิ่ม first_nam