關於 #Ruby 的內容

蒼時弦也蒼時弦也

淺談 Ruby 的 Fiber(六)

經過前面幾篇文章的介紹,我們已經初步的了解 Fiber 的性質。這系列的文章目標是利用 Fiber 實現再不透過 Thread 或者 Process 的情境,來實現支援多人連線的 TCP 聊天伺服器。

從這一篇開始,我們就要正式的來挑戰完整的實作了!

蒼時弦也蒼時弦也

淺談 Ruby 的 Fiber(ㄧ)

前陣子再研究 Ruby 從 1.9.3 就開始提供的 Fiber 該怎麼使用,不過網路上的資料大多都只是簡單的討論。那麼 Fiber 到底是什麼呢?這系列的文章會詳細的介紹 Fiber 的基本概念,還有一些可以應用的方式。

蒼時弦也蒼時弦也

RubyKaigi 2018 會後心得

今年的 RubyKaigi 比去年提早不少,作為 Ruby 開發者最大的盛會,今年也不意外的延續去年探討 Ruby 3 的可能性跟更多 Ruby 的深度應用。也因次,不意外的讓大家都聽的似懂非懂,而且還讓我感覺一年比一年的難度更高。

總之,來看看今年的 RubyKaigi 吧!

蒼時弦也蒼時弦也

自由的 Ruby 類別(二)

上一篇文章已經討論過關於 Ruby 中的類別是怎樣運作的,這篇文章則會來討論如何拓展 Ruby 類別。

大部分的人寫 Ruby 有很大的原因是因為 Rails 但是上面像是 has_manybefore_action 這些可以直接在類別上做的事情,很明顯不是 Ruby 內建的,到底是怎麼運作的呢?

蒼時弦也蒼時弦也

Ruby 中該如何 Raise 一個錯誤

前幾天的晚上朋友在 Facebook 上問了一個問題。

1raise HTTPError, 'Not Found'

1raise HTTPError.new('Not Found')

哪個比較快?也因為這樣,我們意外的發現 Ruby 對上面兩段程式碼的定義上其實是不太一樣的。