หน้าแรก
หน้าแรก
ในช่วงหกเดือนที่ผ่านมาฉันได้ใช้โปรแกรมจำลอง NES ใน Rust อย่างที่คุณคาดไว้ ฉันได้เรียนรู้มากมายเกี่ยวกับการเกิดสนิม และเพิ่มเติมเกี่ยวกับ NES ภายใน แต่ประสบการณ์ก็เปลี่ยนวิธีที่ฉันมอง Ruby ด้วย โดยเฉพาะอย่างยิ่ง มันทำให้ฉันหวาดระแวงเล็กน้อยเกี่ยวกับวิธีการที่คืนค่า ไม่มี . ถ้าคุณไม่ยืนหยัดเพื่อบางสิ
ฉันเพิ่งทำงานกับชุดทดสอบที่น่าผิดหวังมากเมื่อใช้งานเนื่องจากไม่น่าเชื่อถือ แอปพลิเคชันที่ชุดทดสอบกำหนดเป้าหมายเป็นแอปพลิเคชัน Rails API เท่านั้น การทดสอบเขียนด้วย JavaScript โดยใช้เฟรมเวิร์กที่เรียกว่า Chakram เฟรมเวิร์กการทดสอบ API ที่ออกแบบมาเพื่อทำการทดสอบแบบ end-to-end บนปลายทาง JSON REST ปัญห
เมื่อสัปดาห์ที่แล้วเราได้เปิดตัว honeybadger . เวอร์ชัน 4.0.0 พลอยทับทิม. รุ่นนี้มีคุณลักษณะที่รอคอยมานาน ซึ่งทำให้ง่ายต่อการปรับแต่งรายงานข้อผิดพลาดของคุณก่อนที่จะถูกส่งไปยัง Honeybadger เรายังได้ทำการ refactoring ที่จำเป็นมาก และได้ทำการลบออกบางส่วนและเลิกใช้งานเพื่อการวัดผลที่ดี ไม่ต้องกังวล แม้ว
เมื่อมีการประกาศการสนับสนุน Ruby บน AWS Lambda เมื่อวานนี้ ฉันตื่นเต้นมากจนต้องลองใช้งานทันที เราใช้แลมบ์ดามาระยะหนึ่งแล้วที่ฮันนี่แบดเจอร์ และฉันปรารถนาที่จะสามารถเขียนฟังก์ชันของเราใน Ruby ได้ หลังจากเล่นกับการสนับสนุน Ruby ใหม่มาสองสามชั่วโมงแล้ว ฉันรู้สึกมั่นใจว่าเราจะใช้เวลากับ Node, Go และ Pyt
เนื่องจาก Ruby เป็นภาษาเชิงวัตถุ เราจึงมักจะจำลองโลกเป็นชุดของวัตถุ เราบอกว่าจำนวนเต็มสองจำนวน (x และ y) เป็นจุด และเส้นมีสองตัว แม้ว่าวิธีนี้มักจะมีประโยชน์ แต่ก็มีปัญหาใหญ่อยู่อย่างหนึ่ง มันให้สิทธิ์การตีความข้อมูลอย่างใดอย่างหนึ่งเหนือสิ่งอื่นใดทั้งหมด สมมติว่า x และ y เป็นจุดเสมอ และคุณไม่จำเป็
วันก่อนที่ทีม HB กำลังสนทนากันอยู่ และ Ben หัวหน้าฝ่ายพัฒนาของเรากล่าวว่าเขาต้องการใช้ ULID แทน UUID สำหรับระบบเฉพาะ เช่นเดียวกับวิศวกรผู้มากประสบการณ์ ปฏิกิริยาของฉันคือการพึมพำบางอย่างที่ไม่ผูกมัด จากนั้นแอบไปที่ Google เพื่อพยายามค้นหาว่า ULID คืออะไร สองชั่วโมงต่อมา ฉันก็ปรากฏตัวขึ้นพร้อมกับจ้
คุณต้องการที่จะทิ้งค่าอินเทอร์เน็ตราคาแพงของคุณและใช้ wifi ที่ไม่ปลอดภัยของเพื่อนบ้านของคุณหรือไม่? สิ่งเดียวที่รั้งคุณไว้สำหรับขั้นตอนการตรวจสอบสิทธิ์ Single-factor ของ Honeybadger หรือไม่? ฉันมีข่าวมาบอกเธอไหม ประกาศ:การตรวจสอบสิทธิ์แบบสองปัจจัย (2FA) พูดเล่นๆ เราให้ความสำคัญกับความปลอดภัยเป็นอย่
คุณเคยจัดการกับข้อผิดพลาดในการผลิตและ ไม่ว่าคุณจะพยายามทำอะไร คุณไม่สามารถทำซ้ำปัญหาในสภาพแวดล้อมการพัฒนาหรือการแสดงละครของคุณ? บ่อยครั้งขั้นตอนต่อไปคือการรวบรวมข้อมูลมากขึ้นโดยการโยนบันทึกการแก้ปัญหาที่การผลิต หากคุณไม่มีวิธีที่ดีในการเชื่อมโยงบันทึกกับคำขอ อาจทำให้หงุดหงิด โดยเฉพาะในระหว่างที่เกิด
เราใช้ตารางที่แบ่งพาร์ติชันในฐานข้อมูล PostgreSQL หลักของเราเพื่อทำให้ข้อมูลเก่าหมดอายุอย่างมีประสิทธิภาพ เนื่องจากการลบข้อมูลจำนวนมากออกจากตารางขนาดใหญ่อาจทำให้ประสิทธิภาพของฐานข้อมูลลดลง ก่อนหน้าเวอร์ชัน 10 PostgreSQL ไม่มีการสนับสนุนดั้งเดิมสำหรับตารางที่แบ่งพาร์ติชัน ดังนั้นเราจึงใช้ส่วนขยาย pg_
เป็นไปได้มากที่คุณจะได้เห็นข้อยกเว้นของ Ruby เช่น UndefinedConversionError หรือ IncompatibleCharacterEncodings . มีโอกาสน้อยที่คุณจะเข้าใจความหมายของข้อยกเว้น บทความนี้จะช่วย คุณจะได้เรียนรู้วิธีการทำงานของการเข้ารหัสอักขระและการใช้งานใน Ruby ในตอนท้าย คุณจะสามารถเข้าใจและแก้ไขข้อผิดพลาดเหล่านี้ได้ง
มีอยู่ครั้งหนึ่งที่ไม่มีอะไรทำให้ฉันกลัวมากไปกว่าการได้ยินคำถามที่ว่า สัญลักษณ์ของบิ๊กโอสำหรับสิ่งนั้นคืออะไร ฉันจำหัวข้อที่โรงเรียนได้ แต่เนื่องจากเป็นวิชาคณิตศาสตร์ (ซึ่งไม่ใช่วิชาที่ถนัดที่สุดของฉัน) ฉันจึงปิดมันทิ้ง อย่างไรก็ตาม เมื่ออาชีพของฉันก้าวหน้า ฉันพบว่าตัวเอง: ดูแผนภูมิประสิทธิภาพ กำล
การทำงานพร้อมกันและความเท่าเทียมกันมีความสำคัญมากกว่าที่เคยเป็นมาสำหรับนักพัฒนา Ruby พวกเขาสามารถทำให้แอปพลิเคชันของเราเร็วขึ้นโดยใช้ฮาร์ดแวร์ที่ขับเคลื่อนพวกเขาอย่างเต็มศักยภาพ ในบทความนี้ เราจะมาสำรวจเครื่องมือต่างๆ ที่มีอยู่ในปัจจุบันสำหรับ Rubyist ทุกคนและสิ่งที่ Ruby สัญญาว่าจะนำเสนอในแผนกนี้เร
ใน การเขียนโปรแกรมเชิงวัตถุ วัตถุหนึ่งมักจะขึ้นอยู่กับวัตถุอื่นเพื่อให้ทำงาน ตัวอย่างเช่น หากฉันสร้างคลาสง่าย ๆ เพื่อเรียกใช้รายงานทางการเงิน: class FinanceReport def net_income FinanceApi.gross_income - FinanceApi.total_costs end end เราสามารถพูดได้ว่า FinanceReport ขึ้นอยู่กับ FinanceAp
คุณเคยลองดีบักโค้ดของคุณโดยพิมพ์คำสั่ง put และหวังว่าในที่สุดโค้ดเหล่านั้นจะโผล่มาที่ที่ควร? คุณรู้ว่าฉันหมายถึงอะไร - คุณพิมพ์: puts “This worked!" ลงในรหัสแล้วเรียกใช้ในเทอร์มินัลเท่านั้นเพื่อให้ไม่มีอะไรปรากฏขึ้น หรือบางทีคุณอาจเคยได้ยินเกี่ยวกับเครื่องมือดีบักแฟนซีที่มีให้สำหรับ Rubyists
คุณอาจใช้เวลาทั้งชีวิตในการสร้างแอป Rails และไม่จำเป็นต้องใช้โอเปอเรเตอร์ระดับบิตเลย หากคุณเพิ่งเริ่มเขียนโปรแกรม คุณอาจไม่รู้ด้วยซ้ำว่า ระดับบิต หมายถึงอะไร แต่ทันทีที่คุณสนใจระบบที่ประสิทธิภาพเป็นสิ่งสำคัญและทรัพยากรมีจำกัด การดำเนินการระดับบิตก็มีความสำคัญ มีการใช้อย่างกว้างขวางกับสิ่งต่างๆ เช่
ฉันยังไม่มีลูก แต่เมื่อฉันมี ฉันต้องการให้พวกเขาเรียนรู้สองสิ่ง: การเงินส่วนบุคคล การเรียนรู้ของเครื่อง ไม่ว่าคุณจะเชื่อหรือไม่ว่าภาวะเอกฐานอยู่ใกล้กัน ปฏิเสธไม่ได้ว่าโลกใช้ข้อมูล การทำความเข้าใจว่าข้อมูลนั้นถูกแปลงเป็นความรู้นั้นมีความสำคัญต่อผู้ใดก็ตามในยุคนี้ และยิ่งไปกว่านั้นสำหรับนักพัฒนา
เมื่อเขียนแอปพลิเคชัน ประเด็นสำคัญประการหนึ่งที่คุณต้องคำนึงถึงคือวิธีการแชร์แอปพลิเคชันกับคนทั่วโลก วิธีการทั่วไปอย่างหนึ่งคือการเปิดตัว Heroku ตั้งค่าได้ง่ายและมีการจัดการเต็มรูปแบบ แต่ก็เป็นเรื่องปกติที่ทีมจะดร็อป Heroku ในภายหลัง เมื่อปริมาณการใช้งานเพิ่มขึ้น Heroku ก็มีราคาแพงและไม่ยืดหยุ่น
คุณอาจรู้ว่า Ruby ติดอาร์กิวเมนต์บรรทัดคำสั่งในอาร์เรย์ส่วนกลางที่เรียกว่า ARGV แต่ทำไมถึงเรียกว่า ARGV? เป็นบทเรียนประวัติศาสตร์ที่น่าสนใจที่เน้นย้ำถึงที่มาของ Ruby ในภาษา C เวกเตอร์อาร์กิวเมนต์ ARGV ย่อมาจากเวกเตอร์อาร์กิวเมนต์ และ เวกเตอร์ ในการใช้งานสมัยเก่าที่แปลกประหลาดนี้หมายถึง อาร์เรย์หนึ่
ทุกวันนี้การพัฒนาเว็บเกือบทั้งหมดทำด้วยเฟรมเวิร์ก ไม่ว่าคุณจะใช้ Rails, Sinatra หรือ Lotus คุณไม่จำเป็นต้องคิดว่าคุกกี้และส่วนหัวอื่นๆ ส่งผ่านจาก nginx หรือ apache ไปยังแอปพลิเคชันเซิร์ฟเวอร์และในแอปของคุณอย่างไร ก็แค่นั้นแหละ เราจะตรวจสอบการเดินทางนี้ในเชิงลึกอีกเล็กน้อย เพราะปรากฎว่าเรื่องของ hea
แม้ว่าการเขียนสคริปต์อรรถประโยชน์เพียงเล็กน้อยเป็นเรื่องสนุก แต่บางครั้งคุณจำเป็นต้องเขียนแอปพลิเคชันบรรทัดคำสั่งที่ซื่อสัตย์ต่อพระเจ้าอย่างแท้จริง หนึ่งที่รับข้อโต้แย้งและเล่นได้อย่างดีกับอนุสัญญายูนิกซ์สำหรับอินพุต เอาต์พุต การรายงานข้อผิดพลาด ฯลฯ โชคดีที่ Ruby มีหน่วยการสร้างทั้งหมดที่คุณต้องการ