หน้าแรก
หน้าแรก
หากคุณสงสัยว่าเกิดอะไรขึ้นกับแอปพลิเคชัน Ruby ของคุณ… ไม่มีเครื่องมือ GUI แฟนซี … แต่เรามีโมดูล ObjectSpace! ObjectSpace ให้ข้อมูลเกี่ยวกับสถานะปัจจุบันของใบสมัครของคุณ มาดูกันว่ามันทำงานอย่างไร การนับวัตถุ การใช้ ObjectSpace คุณสามารถทราบได้ว่าอ็อบเจกต์ใดที่ มีชีวิต อยู่ในโปรแกรมของคุณ วัตถุท
Minitest คืออะไร Minitest คือ ไลบรารีทดสอบ Ruby ช่วยให้คุณเขียนการทดสอบสำหรับรูปแบบ TDD ของโค้ดได้ เป็นเฟรมเวิร์กการทดสอบเริ่มต้นสำหรับรายการโปรดของ Rails &DHH บางคนชอบเพราะความเรียบง่ายและมีโค้ดน้อยเมื่อเทียบกับทางเลือกหลัก (RSpec) อย่างที่คุณเห็นในภาพนี้ : ตอนนี้โพสต์นี้ไม่ได้เกี่ยวกับว่าคุ
ทำไมคุณถึงต้องการเขียนเครื่องสแกนพอร์ต การเขียน port scanner เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้พื้นฐานของโปรโตคอล TCP ซึ่งเป็น transport layer ใช้โดยโปรโตคอลอินเทอร์เน็ตส่วนใหญ่ (รวมถึง HTTP &SSH) นอกจากนี้ยังเป็นแบบฝึกหัดที่ดีที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของการเขียนโปรแกรมเครือข่าย R
มันได้กลายเป็นประเพณีในการเปิดตัว Ruby เวอร์ชันใหม่ในช่วงคริสต์มาส และในโพสต์นี้ ฉันต้องการกล่าวถึงการเปลี่ยนแปลงที่น่าสนใจที่สุดใน Ruby 2.4 เพื่อให้คุณสามารถติดตามข่าวสารได้ 🙂 ลอย#รอบด้วยคำหลัก หากคุณกำลังใช้ floats ในแอปของคุณ ฉันหวังว่าคุณจะใช้ floor หรือ ceil สำหรับการปัดเศษ เนื่องจากวิธี Flo
Ruby มีระบบติดตามในตัว ซึ่งคุณสามารถเข้าถึงได้โดยใช้ TracePoint ระดับ. บางสิ่งที่คุณสามารถติดตามได้คือการเรียกใช้เมธอด เธรดใหม่ และข้อยกเว้น ทำไมคุณถึงต้องการใช้สิ่งนี้? มันอาจจะมีประโยชน์ถ้าคุณต้องการติดตามการดำเนินการของวิธีการบางอย่าง คุณจะสามารถดูว่ามีการเรียกใช้เมธอดอื่นใด &ค่าส่งคืนคืออะไร
ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับวิธีการแพ็คและแกะ Ruby! แต่ทำไมเราต้องใช้วิธีเหล่านี้? การทำงานกับข้อความง่ายกว่าการทำงานกับข้อมูลไบนารีมาก . ข้อความช่วยให้คุณใช้: นิพจน์ทั่วไป วิธีการเช่น scan &match gsub แต่ถ้าคุณต้องการทำงานกับข้อมูลไบนารี มีงานพิเศษที่ต้องทำ นั่นคือที่มาของวิธีการ Ar
โครงสร้างข้อมูลที่ฉันชอบอย่างหนึ่งคือตารางแฮชเพราะมันเรียบง่ายและมีประสิทธิภาพ คุณอาจเคยใช้มาก่อนเนื่องจากเป็นวิธีจัดเก็บคู่คีย์-ค่าอย่างมีประสิทธิภาพ มีแนวคิดเกี่ยวกับวิทยาการคอมพิวเตอร์ที่น่าสนใจอยู่เบื้องหลังการนำตารางแฮชไปใช้ซึ่งควรค่าแก่การศึกษา และนั่นคือสิ่งที่เราจะทำในบทความนี้! ที่เก็บข้อ
ความเท่าเทียมกันหมายความว่าสองสิ่งเหมือนกัน ใน Ruby เราเปรียบเทียบวัตถุและค่าของวัตถุเพื่อดูว่าเป็นวัตถุเดียวกันหรือไม่ คำถามคือ… คุณเปรียบเทียบสองสิ่งใน Ruby อย่างไร ถูกใจสิ่งนี้ : 1 == 1 # true คุณคงคุ้นเคยกับสิ่งนี้แล้ว… แต่คุณรู้หรือไม่ว่า == เป็นวิธี &ไม่ใช่แค่ไวยากรณ์? ความหมายนั้นยิ
หากคุณไม่มีปริญญา CS (วิทยาการคอมพิวเตอร์) คุณอาจรู้สึกว่าคุณกำลังพลาดอะไรบางอย่าง... หรือคุณอาจรู้สึกว่า CS เป็นนามธรรมเกินกว่าจะเป็นประโยชน์… หรือว่ารูบี้ทำงานหนักเพื่อคุณอยู่แล้ว… ไม่ว่าทางใด… การทำความเข้าใจพื้นฐานของโครงสร้างข้อมูล เช่น แฮช สแต็ค และคิวจะเป็นประโยชน์ ในโพสต์นี้ : คุณจะค้
คุณต้องการทัวร์ชม Ruby internals อย่างรวดเร็วหรือไม่ ถ้าอย่างนั้นคุณก็พร้อมรับของสมนาคุณ เพราะ … เราจะมาร่วมกันสำรวจว่าวัตถุ Ruby ถูกจัดวางในหน่วยความจำอย่างไร และคุณจะจัดการโครงสร้างข้อมูลภายในเพื่อทำสิ่งเจ๋งๆ ได้อย่างไร คาดเข็มขัดนิรภัยและเตรียมพร้อมสำหรับการเดินทางสู่ส่วนลึกของล่าม Ruby! เค้า
คุณใช้ OOP อย่างเต็มประสิทธิภาพ (Object-Oriented Programming) หรือคุณพลาดไปหรือเปล่า หากคุณกำลังตัดสินใจตามประเภทของออบเจ็กต์ คุณจะพลาดฟีเจอร์ OOP ที่สำคัญอย่างหนึ่ง นั่นคือ ความหลากหลาย การตัดสินใจประเภทมักจะทำในคำสั่ง case (ซึ่งไม่เป็นมิตรกับ OO) และในบทความนี้ คุณจะได้เรียนรู้วิธีเขียนโค้ดที่ดี
คุณกำลังมองหาวัตถุที่มีลักษณะเหมือน IO วัตถุ (ไฟล์ ซ็อกเก็ต ฯลฯ) แต่คุณสามารถควบคุมได้เหมือนสตริงหรือไม่ แล้วก็ StringIO สำหรับคุณ ผมขอแสดงตัวอย่างและสิ่งที่ควรระวัง! ตัวอย่างพื้นฐาน การสร้าง StringIO วัตถุที่คุณสามารถทำได้: io = StringIO.new(abc) จากนั้นคุณสามารถอ่านจากวัตถุนี้โดยใช้วิธีการเช่
นี่เป็นงวดถัดไปในซีรีส์ “วิทยาการคอมพิวเตอร์เชิงปฏิบัติ” ที่คุณจะได้เรียนรู้วิธีใช้แนวคิดวิทยาการคอมพิวเตอร์แบบคลาสสิกเพื่อแก้ปัญหาจริงโดยใช้ Ruby วันนี้เราจะมาพูดถึง ทฤษฎีกราฟ . คุณอาจเคยได้ยินเกี่ยวกับไบนารีทรี พวกมันมีลักษณะดังนี้: ประเด็นก็คือ ต้นไม้ไบนารีเป็นเพียงกราฟรุ่นพิเศษ ดังนั้นควรให
โครงสร้างในทับทิมคืออะไร struct เป็นคลาส Ruby ในตัว ซึ่งใช้ในการสร้างคลาสใหม่ที่สร้างออบเจกต์มูลค่า วัตถุมูลค่าใช้เพื่อเก็บแอตทริบิวต์ที่เกี่ยวข้องไว้ด้วยกัน นี่คือตัวอย่าง : A Point ที่มีสองพิกัด (x &y ) คุณสามารถแสดงข้อมูลนี้ได้หลายวิธี ถูกใจ : อาร์เรย์ [10, 20] แฮช { x: 10, y: 10 } วัตถุ
คุณอาจเคยได้ยิน (หรือแม้แต่พูดกับตัวเอง) ว่า Rails / Ruby มีเวทย์มนตร์มากเกินไป… แต่ความคิดนั้นมาจากไหน? เวทมนตร์ของ Rails คืออะไรกันแน่? แล้วคุณจะทำอย่างไรเพื่อขจัดเวทมนตร์นั้นได้ นี่คือสิ่งที่ฉันคิด : เมื่อบางอย่างรู้สึกเหมือนมีมนต์ขลัง นั่นก็เพราะมีบางอย่างที่คุณไม่รู้ จึงมีข้อมูลบางส่วนที่ขา
การเขียนโปรแกรม Metaprogramming ดูเหมือนเป็นคำที่แปลกมาก แต่มันดีไหม อาจมีประโยชน์ แต่หลายคนไม่ทราบว่าการใช้โปรแกรมเมตามีต้นทุนบางอย่าง เพียงเพื่อให้เราอยู่ในหน้าเดียวกัน… metaprogrammingคืออะไร ว่า? ฉันกำหนด metaprogramming ว่าใช้วิธีใด ๆ ที่: เปลี่ยนโครงสร้างของโค้ดของคุณ (เช่น define_method
ค่าคงที่ใน Ruby คืออะไร ค่าคงที่คือตัวแปรประเภทหนึ่งที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่เสมอ กำหนดได้เฉพาะ ภายนอก ของเมธอด เว้นแต่คุณจะใช้ metaprogramming ค่าคงที่ใช้สำหรับค่าที่ไม่ควรเปลี่ยนแปลง แต่ Ruby ไม่ได้ป้องกันคุณจากการเปลี่ยนแปลง หน้าตาเป็นแบบนี้ : FRUIT = orange ตอนนี้ : เนื่องจากค่าคงที่เป็น
การจัดเรียงอาร์เรย์ใน Ruby เป็นเรื่องง่าย! คุณ ไม่จำเป็นต้องเขียนอัลกอริธึมแฟนซี เพื่อให้ได้ผลลัพธ์ที่คุณต้องการ แล้วต้องใช้อะไรบ้าง? ทำความเข้าใจวิธีการจัดเรียงในตัวของ Ruby สิ่งเหล่านี้ : จัดเรียง sort_by เรียงลำดับ! วิธีการเหล่านี้ทำงานอย่างไรและทำไมจึงแตกต่างกัน นั่นคือสิ่งที่คุณจะได้ค้
นี่เป็นรายการที่ 3 ของซีรีส์ Practical Computer Science in Ruby! วันนี้เราจะมาพูดถึงรายการที่เชื่อมโยงกัน แล้วรายการที่เชื่อมโยงคืออะไร เช่นเดียวกับชื่อที่กล่าว รายการที่เชื่อมโยงเป็นวิธีหนึ่งในการจัดเก็บข้อมูลในรูปแบบรายการ (ขอบคุณ Captain Obvious!) ส่วน เชื่อมโยง มาจากข้อเท็จจริงที่ว่าข้อมูลถูก
Sinatra เป็นเฟรมเวิร์กเว็บของ Ruby เหมือนพี่เรลเลย… มาสำรวจว่าซินาตราทำงานอย่างไร : จะเกิดอะไรขึ้นเมื่อคุณกำหนดให้ Sinatra ในโครงการของคุณ การจับคู่เส้นทางทำงานอย่างไร คำขอและการตอบกลับมีการประมวลผลอย่างไร คำถามมากมาย แต่เวลาน้อย… ไม่มีปัญหา! ฉันทำงานหนักเพื่อคุณและรวบรวมบทความนี้เพื่อตอบคำถา