Ruby Conf Taiwan 2019

Cindy Liu
6 min readJul 31, 2019

--

菜比巴第一次參加 RubyConf 怕忘記所以想記錄一下心得~雖然每場都不是百分百聽懂,但就是睜大眼睛努力懂,如果我有寫錯歡迎告訴我~

7/26

The Future of Ruby(3)

第一天早上就是 Ruby 的爸爸 Yukihiro Matsumoto (Matz) 大神講解了 Ruby 的優缺點,展示 Ruby 2.0 以後的 performance 有越來越好的圖表,並說明之後 Ruby 3 的三大重點 Performance、Concurrency、Static Analysis,聽完覺得很好的是 Ruby 會持續更新,因為大神說我們要生存!

Rethinking the View Layer with Components

講者 Joel Hawksley 是 GitHubber,主要在講如何將 React Component 概念實作在 Rails 的 ActionView 上,我覺得他的 ppt 做得超好,一步一步以 TDD 的方式講解,產生錯誤結果的話,整個 ppt 版面會呈現紅色,通過則是綠色,是好懂的講解方式,最後講完還分送大家可愛的 Github 貼紙,開心啊! ( 詳細參考 demo code )

Let’s Scale Ruby Applications with Love

講者是 Bernie Chiu,講解如何調整 Ruby 和 API、Database、Network、Ruby code 達到效能的提升和驗證,似乎有展示火焰圖之類的,不過其實我這邊好像吃太飽快睡著了@@。(詳細參考 投影片)

Ruby with types

講者是 Soutaro Matsumoto,講解 Ruby 3 type checking 的功能,剛好呼應早上 Matz 提到的 Ruby 3 Type,大概是說明 type check 的計畫及如何實作吧,其實我進去發現竟然還沒結束只聽到結尾。( 詳細參考 投影片 )

Protect Your Copyrighted Ruby Code in Distribution

講者 Delton Ding,這場演講我有點睜著眼睛睡覺@@,印象中是講解如何讓我們的 Ruby 程式碼變成看不懂的樣子。( 疑似是寫了這個 gem 來做這件事情)

Scalable Applications with JRuby

講者 Charles Oliver Nutter,演講開始的時候我想說我是不是走錯棚了,因為我其實從來沒用過 JRuby,所以大概不能理解講者說的差異@@,JRuby 也可以用 rvm ,因為本來不知道所以紀錄一下,然後講者有說明如何用 JRuby on Rails。

Road to white mages

講者 Kuniaki Igarashi,主要在講解如何追蹤 code 來 debug,其實內容蠻豐富的,但我腦子記不得全部,詳細請看 投影片demo code

The Journey to One Million

講者 Samuel Williams 是 Async and Falcon 的 creator,這場我似乎只有笑話有跟到,最後講者請 Matz 上台協助演示 100 萬個 Client 同時 Websocket 連線的成果。

7/27

Compacting GC for MRI

第二天早上由 Aaron Patterson 主講,很幽默的講者,我竟然有聽懂笑話覺得感動(搞錯重點),先介紹一下 Compaction、CPU Caches、CoW Friendliness 我們如何有效地使用 memory,再講 Ruby Compacting GC (Garbage Collection) 是如何實作,最後提醒我們 Don’t Use Object ID! 另外有請我們會後可以 google 下面幾個關鍵字(感謝同事提供):

1. Maximum Chaos => 2 space collector
2. Zombie objects
3. Address Sanitizer。

會後講者發他養的兩隻貓的貼紙超可愛的,好像妹妹和弟弟 (公司養的貓咪)。

從 Enumerator 看 Ruby 的迭代器 / Decipher Ruby’s iterator with Enumerator

講者是五倍大大 蒼時弦や,主要在講 Enumerator,Enumerator::Generator 和 Enumerator::Yielder、Enumerator::Lazy 可以運用的方法,前陣子有經過蒼時大大的教導寫過 include Enumerable 的 Presenter,所以可能有跟上一些 - -。( 詳細參考 投影片 )

開拓者們建立鐵道的辛酸血淚史 Building Rails with Trailblazer, The Good, Bad and Ugly.

講者 Wen-Chuan Lin,主要在講當專案 MVC 不夠用的時候,導入 Trailblazer 解決問題的過程、團隊的溝通合作等經驗分享。

Suit up for frontend and backend development

講者 Tse-Ching Ho ,講解如何以 Rails 為主的方法做到前後端分離,主要分成 9 種物件的設計方式,包含 Calculator、Context、Form、Generator、Operator、Presenter、Service、Transformer、Value,也是因為 MVC 不夠用的時候,需要考慮程式應該如何設計會更好。( 詳細參考 投影片 )

Using AWS Lambda with Ruby on a large-scale system

講者 Luka Huang ,主要在講如何使用 ruby 搭配 AWS Lambda 無伺服器的事件驅動程式設計。

Automatic Differentiation for Ruby

講者 John Lin,一開始講者說明 Train Network,覺得還好之前有參加過 Women in Data Science Taipei 的活動,但後來講者開始講解數學的時候我就跟不上了,最後展示了他實作出來自動微分 (Automatic Differentiation) 的 gem,跟他之後要做的功能,我大概只有一個結論就是之後有一個 autodiff gem 可以用了XD,另外講者留了幾個關鍵字給大家搜尋:

  • Deep Neural Network
  • Gradient Decent
  • Automatic differentiation
  • Dual Number

Virtual Machines: their common parts and what makes them special

講者 Yo-An Lin (C9S),講解 Virtual Machines 是什麼,各種程式語言怎麼運作,感覺跟早上講的 GC 應該都算比較底層的知識,聽了這場之後認真覺得知識不足,還要多唸點書了,講者有推薦 Language Implementation Patterns 這本書!( 詳細參考 投影片 )

總結

除了演講以外,還有贊助商攤位可以玩,有吃有喝有拿,除了豐富腦袋還豐富肚子跟包包,滿載而歸啊!Party 也都蠻好玩的,另外這次收集到 Matz 大神的三種簽名,非常開心:)主要是看到大神覺得有種看見初衷的感覺,蠻感動的,不失去興趣的學習真的很重要。

--

--