Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. เข้าใจ ObjectSpace: ตรวจสอบสถานะ Runtime ของแอปพลิเคชัน Ruby

    ถ้าคุณกำลังสงสัยว่าแอปพลิเคชัน Ruby ของคุณกำลังเกิดอะไรขึ้น... ไม่มี fancy GUI tools ให้ใช้... แต่เรามีโมดูล ObjectSpace! ObjectSpace ให้ข้อมูลเกี่ยวกับสถานะปัจจุบันของแอปพลิเคชัน มาค้นพบว่ามันทำงานยังไง นับออบเจ็กต์ (Counting Objects) ใช้ ObjectSpace คุณรู้ได้ว่ามีออบเจ็กต์ไหนบ้างที่ alive อย

  2. เข้าใจ Minitest: มันทำงานอย่างไรใน Ruby

    Minitest คืออะไร? Minitest เป็น Ruby testing library ช่วยให้คุณเขียน test สำหรับโค้ดได้แบบ TDD มันคือ default testing framework ของ Rails และเป็นที่ชอบของ DHH บางคนชอบมันเพราะความเรียบง่าย และโค้ดน้อยกว่าตัวเลือกหลัก (RSpec) มาก ดูจากรูปนี้: บทความนี้ไม่ได้เกี่ยวกับว่าควรเลือกตัวไหนหรือตัวไหน

  3. สร้าง Port Scanner ด้วย Ruby: คู่มือทีละขั้นตอนสำหรับการสแกนเครือข่าย

    ทำไมถึงอยากเขียน port scanner? การเขียน port scanner เป็นวิธีดีๆ เรียนรู้พื้นฐานของโปรโตคอล TCP ซึ่งเป็น transport layer ที่โปรโตคอลอินเทอร์เน็ตส่วนใหญ่ใช้ (รวม HTTP และ SSH) มันยังเป็น exercise ดีสำหรับเรียนรู้ network programming ใน Ruby มาเริ่มด้วยการพูดถึง port! Port คืออะไร? พูดถึง port แล

  4. ค้นพบ 9 การปรับปรุงสำคัญใน Ruby 2.4: สิ่งที่นักพัฒนาต้องรู้

    การปล่อย Ruby ใหม่ในวันคริสต์มาสกลายเป็นประเพณีแล้ว ในบทความนี้ ผมอยากครอบคลุมการเปลี่ยนแปลงน่าสนใจใน Ruby 2.4 เพื่อให้คุณทันข่าวสาร 🙂 Float#round รองรับ keyword argument ถ้าคุณใช้ float ในแอป ผมหวังว่าคุณใช้ floor หรือ ceil สำหรับการปัดเศษ เพราะพฤติกรรมเริ่มต้นของ Float#round เปลี่ยนไปใน Ruby 2

  5. ติดตามเมธอด Ruby ด้วย TracePoint: คู่มือปฏิบัติจริง

    Ruby มีระบบติดตาม (tracing) ในตัวที่คุณสามารถเข้าถึงได้ผ่านคลาส TracePoint สิ่งที่คุณติดตามได้รวมถึงการเรียกเมธอด การสร้างเธรดใหม่ และข้อยกเว้น (exceptions) ทำไมต้องใช้ TracePoint? มันมีประโยชน์ถ้าคุณอยากติดตามการทำงานของเมธอดใดเมธอดหนึ่ง คุณจะเห็นว่าเมธอดอื่นๆ ถูกเรียกอย่างไร และค่าที่คืนกลับมาคื

  6. เชี่ยวชาญ Pack และ Unpack ของ Ruby: คู่มือผู้เชี่ยวชาญสำหรับการจัดการข้อมูลไบนารี

    ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับเมธอด pack และ unpack ของ Ruby! แต่เราต้องการเมธอดเหล่านี้เพื่ออะไร? การทำงานกับข้อความง่ายกว่าการทำงานกับข้อมูลไบนารีอย่างมาก ข้อความช่วยให้คุณใช้: Regular expressions เมธอดอย่าง scan และ match gsub แต่หากคุณต้องการทำงานกับข้อมูลไบนารี จะต้องทำงานเพิ่มเติม

  7. มาสเตอร์ Hash Table: การจัดเก็บ Key-Value ให้เรียบง่ายและมีประสิทธิภาพ

    โครงสร้างข้อมูลโปรดของผมคือ Hash Table เพราะมัน เรียบง่ายแท้แต่วิถีอันทรงพลัง คุณน่าจะเคยใช้มาก่อน เพราะมันเป็นวิธีที่มีประสิทธิภาพสำหรับการจัดเก็บคู่ Key-Value (กุญแจ-ค่า) ไม่ว่าจะเป็น Dictionary ใน Python, HashMap ใน Java, Object ใน JavaScript หรือ Hash ใน Ruby แต่เบื้องหลังการทำงานมีแนวคิด Comp

  8. 精通 Ruby 相等性:自訂 == 實作比較物件

    相等性意味著兩件事是一樣的。在 Ruby,我們比較物件和它們的值來發現它們是否為同一個物件。 問題是…… 如何在 Ruby 比較兩件事? 像這樣: 1 == 1 # true 你可能已經熟悉這個…… 但你知道 == 是個方法,不只是語法嗎? 含意很大。 你可以在自己的類別實作這個方法讓它們更強大。這就是你在這篇文章將學到的! 什麼讓兩個物件相同? 你可以這樣比較兩個字串: foo == foo 如果 單字和字元 相同,它們就相等。 運算式回傳 true。 這能動是因為 String 類別實作了 ==(兩個等號)方法,知道如何比較字串。 但如果 String 沒實作 == 呢? 那麼 R

  9. 精通 Ruby Stacks:新手實用資料結構技巧

    如果你沒有 CS(電腦科學)學位,你可能覺得錯過了什麼…… 或者你覺得 CS 太抽象不實用…… 或者 Ruby 已經幫你做完所有苦工…… 無論如何…… 了解資料結構基礎像雜湊、stacks 和 queues 是有幫助的。 這篇文章: 你將發現如何在 Ruby 使用 stacks。 一個你現在就能開始實踐的實用電腦科學概念! 理解 Ruby 中的 Stacks Ruby 中的 stack 是什麼? Stack 是一個資料結構,你可以當作「待辦事項」清單用。你不斷從 stack 取元素並處理,直到 stack 空了。 這裡是視覺化表示。 Push 5 進空 stack: 5 Push 3 進 st

  10. Ruby 內部揭秘:理解物件記憶體佈局

    想要快速參觀 Ruby 內部結構嗎? 那你來對地方了。 因為…… 我們將一起探索 Ruby 物件在記憶體中的佈局,以及如何操作內部資料結構做一些酷的事。 繫好安全帶,準備踏上 Ruby 解譯器的深度之旅! 陣列的記憶體佈局 當你建立陣列,Ruby 必須用一些系統記憶體和一點點中繼資料來支撐它。 中繼資料包含: 陣列大小(項目計數) 陣列容量 類別 物件狀態(frozen 或否) 指向資料儲存記憶體位置的指標 因為主要 Ruby 解譯器(MRI)是用 C 寫的,所以沒有物件。 但有別的東西:structs。 C 語言的 struct 幫你把相關資料存一起,這在 MRI 原始碼中大量用來表示

  11. 避免 Ruby Case 語句:擁抱多型寫出更乾淨的代碼

    你在使用 OOP(物件導向程式設計)的全部威力嗎?還是錯過了什麼? 如果你根據物件的類型做決策,你就錯過了一項重要的 OOP 特性:多型(polymorphism)。 類型決策通常在 case 語句裡做(這不 OO 友善),在這篇文章你將學會如何透過移除它們寫出更好的代碼。 檢查類型 先展示一個沒利用多型的例子。 我們要實作「剪刀石頭布」遊戲,決定有一個 Game 類別和每個可能動作的一個類別。 為了檢查贏家,我們在 Game 實作 play 方法: class Game def self.play(move1, move2) return :tie if move1 == move2 mo

  12. 精通 Ruby StringIO:理解功能與實際應用

    你在找一個表現得像 IO 物件(檔案、socket 等)但可以像字串一樣控制的物件嗎? 那麼 StringIO 就是為你準備的。 讓我展示一些例子和要注意的事項! 基本範例 建立 StringIO 物件可以這樣做: io = StringIO.new(abc) 然後你可以用 gets, read, each_line 等方法從這個物件讀取。 我為你做了一個方便的表格,列出最有用的方法: Method Description gets 讀取一行輸入 read 讀取特定位元組數(預設全讀) each_line 給定區塊,逐行迭代 each_char 給定區塊,逐字元迭代

  13. 精通實用圖論與 Ruby 應用

    這是「Practical Computer Science」系列的下一篇,你將學習如何應用經典電腦科學概念用 Ruby 解決真實問題。 今天我們要談 Graph Theory(圖論)。 你可能聽過 binary trees,長這樣: 重點是 binary tree 只是 graph 的特化版本,這應該讓你對 graph 的普及程度有概念。 讓我們從圖論基礎概覽開始,然後看實際用途和如何在 Ruby 實作! 圖論基礎 一個圖由兩個元素組成: Nodes(節點,或稱 vertices) Edges(邊) 一個節點代表圖中的一個元素,像城市或街道,在地圖圖中。而邊代表節點間的連接。 如果你看電

  14. 精通 Ruby Struct 與 OpenStruct:高效的 Value Objects

    Ruby 中的 Struct 是什麼? Struct 是 Ruby 內建類別,用來建立產生 value objects 的新類別。Value object 用於將相關屬性儲存一起。 舉個例子: 一個 Point 有兩個座標(x 和 y)。 你可以用多種方式表示這個資料。 像這樣: 陣列 [10, 20] 雜湊 { x: 10, y: 10 } 物件 Point.new(10, 20) 如果你會有一個以上的 Point,用物件方法通常是個好習慣。 但是…… 你不想只為了儲存這兩個值就建立一整個類別! 用 Struct 解決這個問題。 內容1 如何在 Ruby 中建立 Structs1.1 替

  15. 揭開 Ruby 真相:沒有隱藏魔法 只有透明的代碼

    你可能聽過(甚至自己說過)Rails / Ruby 有太多 magic…… 這個想法從何而來? Rails magic 到底是什麼? 你能做什麼來消除這種 magic? 這是我的看法: 當某事感覺像 magic 時,是因為有你不知道的事,有些資訊缺失。 這就像魔術表演,如果你知道把戲就沒有 magic 了。 在軟體開發中,知道把戲等同於擁有 對事物真實運作方式的理解。 來看個例子! 這個例子關於 BCrypt,一種用於安全儲存密碼的雜湊演算法。它在 Ruby 中透過 bcrypt gem 實現。 這裡展示如何用 BCrypt 雜湊 testing: require bcrypt BCry

  16. ต้นทุนจริงของ Metaprogramming: สิ่งที่คุณต้องรู้

    Metaprogramming 聽起來很花哨,但它好嗎? 它可能有用,但許多人沒意識到使用 metaprogramming 是有代價的。 先讓我們在同一頁面上…… Metaprogramming 到底是什麼? 我將 metaprogramming 定義為使用任何方法: 改變代碼結構(如 define_method) 將字符串作為實際 Ruby 代碼運行(如 instance_eval) 對某些事件做出反應(如 method_missing) 那麼 metaprogramming 的代價是什麼?我將它們分為 3 組: 速度 可讀性 可搜尋性 注意: 你也可以說有第四組:安全性。原因是

  17. เชี่ยวชาญ Ruby Constants: การกำหนด การใช้งาน และ Best Practices

    Constant ใน Ruby คืออะไร? Constant เป็นประเภทของตัวแปรที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่เสมอ สามารถกำหนดได้เฉพาะ นอกเหนือจาก เมธอด เว้นแต่ใช้ metaprogramming Constants ใช้สำหรับค่าที่ไม่ควรเปลี่ยนแปลง แต Ruby ไม่บังคับให้เปลี่ยนไม่ได้ ลักษณะแบบนี้: FRUIT = orange ตอนนี้: เพราะ constants เป็นหัวข้อสำคัญ เราจ

  18. เชี่ยวชาญการจัดเรียง Ruby: เทคนิค Array และ Hash พร้อมตัวอย่างปฏิบัติ

    การจัดเรียงอาร์เรย์ใน Ruby ทำได้ง่ายมาก! คุณ ไม่ต้องเขียนอัลกอริทึมซับซ้อน เพื่อให้ได้ผลลัพธ์ที่ต้องการ ต้องการอะไรบ้าง? เข้าใจเมธอดจัดเรียง built-in ของ Ruby คือเมธอดเหล่านี้: sort sort_by sort! เมธอดเหล่านี้ทำงานอย่างไร และต่างกันยังไง? นั่นคือสิ่งที่คุณจะค้นพบในบทความนี้ คุณจะเรียนรู้วิธีจัดเรี

  19. เชี่ยวชาญ Linked List ใน Ruby: คู่มือปฏิบัติจริง

    นี่คือบทความที่ 3 ในซีรีส์ Practical Computer Science in Ruby! วันนี้เราจะพูดถึง linked list Linked list คืออะไร? จากชื่อมันบอกว่า linked list เป็นวิธีจัดเก็บข้อมูลในรูปแบบรายการ (ขอบคุณ คัปตันโอเวียส!) ส่วน linked มาจากข้อเท็จจริงที่ว่าข้อมูลถูกเก็บในโหนด (node) และโหนดเหล่านี้เชื่อมต่อกันแบบลำดับข

  20. ลึกลับ Sinatra: เข้าใจการทำงานภายในของเฟรมเวิร์ก Ruby

    Sinatra เป็นเฟรมเวิร์กเว็บสำหรับภาษา Ruby ที่มีชื่อเสียงด้านความเรียบง่ายและความยืดหยุ่น มักถูกเปรียบเทียบเป็น น้องชาย ของ Rails แต่ Sinatra มีอัตลักษณ์เฉพาะตัวที่ทำให้เหมาะสำหรับโปรเจกต์ขนาดเล็กถึงกลาง API และ microservices มาเจาะลึกการทำงานภายในของ Sinatra กัน: เกิดอะไรขึ้นเมื่อคุณ require Sinatr

Total 654 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:19/33  20-คอมพิวเตอร์/Page Goto:1 13 14 15 16 17 18 19 20 21 22 23 24 25