Springok's Blog

Ruby Conference Taiwan 2016 小小與會心得

| Comments

前言

這是我第二次參加 Ruby Conf Taiwan,成為 Rubyist 到現在是接近一年半的時間,這次很幸運地是由公司補助,然後跟同事一起來的~相較於去年,自己的技術已經有所提升啦,所以很多 Talk 聽起來,都可以了解個八九成沒問題啦~
這次一樣也有來自世界各地的外國講者,在台灣就可以現場聽到這些講者的分享,甚至交流,這個機會真的滿棒的~想要簡單整理幾個這次與會的心得,就從各個 talk 開始吧~

The Philosophy of Ruby

第一場的 keynote 是 Matz ,在 talk 裡,以過勞死的現象,來帶出我們如何用程式來更有效率的打造人們生活所需,而 Ruby 也在思考如何變得更有效率,相較於其他一些程式語言,的確 Ruby 執行效率可能有些不足的地方,而 Ruby 的核心開發團隊也一次一次的改進這些不足。

而 Matz 也在 talk 裡重新宣揚發明 Ruby 的初衷與 Ruby 的哲學,焦點放在人身上,我們寫程式的目的是為了讓電腦為我們工作,同時在寫程式的同時,讓工程師充滿幸福感(?) 也正是因為我們懶惰,所以我們努力變得更有效率,提高生產力,持續發展 Ruby ,由社群到其所凝聚出來的資源,因而逐漸打造出來的生態圈系統,正是而推動 Ruby 發展的最大動力來源。

“When you feel you are in community, you are in community”

Matz 提到有些沒寫過 Ruby 的人們也跑過來跟他說,他們也覺得自己是 Ruby 社群的一份子(笑),

另外現在是 12 月,Ruby 核心開發團隊也有個聖誕禮物要給大家也就是 Ruby 2.4,包含:

  1. Faster hash
  2. Integer unification means no more fixnums and bignums
  3. Better Unicode case mapping

Matz 提到 Ruby 的每次改版,都會考慮到如何為使用這個語言的人們帶來好處,提供更好的做法,與大家溝通,而願意去做這些改變或升級,雖然轉換過程可能會有些陣痛,但絕對是值得的,如同軟體開發應該傾聽使用者的心聲,持續為使用者帶來好處,用來撰寫軟體的程式語言,也應該傾聽開發者的心聲,讓開發者不論在開發品質或效率都可以不斷向前。

我個人很認同這些理念與想法,聽完這個 talk,心裡想說,能夠成為 Rubyist 真是太好了啊~寫起 Ruby 來又更有動力了~

技術新知

Value And Pain to Keep Rails Applications Alive

slide https://speakerdeck.com/nay3/value-and-pain-to-keep-rails-applications-alive
現場的大家其實還滿有共鳴的,所使用的表達方式也讓人會心一笑,尤其是描述升級 Rails 版本的那張圖,真的是相當經典啊~前半段是在講升級上遇到的困難。
後半段說明,當專案上線使用超過兩年,某種程度也代表這個專案算是成功,而且有一定價值的,然而另一方面讓專案可以持續運作是有代價的,有一些做法是講者推薦的,像是可能的話就儘早更新 dependency 跟 Ruby/Rails 版本,注重 codebase 裡一些 Dry, Difficult, Messy, Easy 的平衡,過與不及都不太好,但我覺得這是需要經驗的,什麼時候要做 refactor 或是 dry,最後是 document (comments in codes / wiki) ,其中我自己覺得最重要的一點,要一定記錄下為何做這個更動,不管是在 comment / commit message 裡,這個資訊比單純紀錄下做了什麼有用太多。
另外,講者的可愛女兒,這兩天裡的 conference 也是很搶戲啊,滿場跑~

It's More Fun to Compute

http://rubykaigi.org/2016/presentations/juliancheal.html
講者這個講題也很酷,用 Ruby / sonic pi 來寫曲子~前半段介紹了聲學的基礎是包含振動與振盪器(oscillator) 然後操作不同波形的聲音,還有雜訊,從單音到模擬樂器發出的聲音,最後用 Ruby 的程式碼,組合成一首歌,還有 Live demo,意外的小插曲就是講者當天 demo 的時候,設備有些狀況,所以隔天中午又在大家用餐的場地,重做一次 Talk 跟 Live demo ~很新鮮的 Ruby 題材。

利用Ruby撰寫勒索軟體並探討如何安全的使用密碼系統

講者是趨勢科技的研究員,而自己平常用的程式語言是 Ruby ,來研究 reasomware 的一些心得,這場對我而言,滿新鮮的,平常常會聽到勒索軟體,但卻對其背後實際的運作原理不太了解,原來勒索軟體的核心技術是加密演算法,然後再想辦法在對方付了贖金之後,解密資料,如何解密的實作也有好幾種,有各自的優缺點。
作者最後也提到,研究勒索軟體的目的,也是為了如何防範或應對這些攻擊,在 Q&A 也有人問到 Ruby 適不適合寫 reasomware ,講者提到適合也不適合,適合的是相對來講很好實作、但另一方面現在大部分還是使用 windows 系統,而Ruby 在這些平台一般而言無法執行。

Buidling HUGE web apps: Rails at 1,000,000 Lines of Code

講者的 blog http://fractalbanana.com/
這個講者,來分享他們公司的一些 practices 關於維護大型的 Rails 應用程式,講者首先談了自己先後兩家的工作經驗,雖然都是處理大型的應用程式,但現在公司實作成果比前一間公司好太多,每天都可以 release 兩到三次,其中的關鍵應該還是團隊的自主管理 ( autonomy ),聽起來是導入 agile 的理念,而且團隊成員都很認同這些做法,才能達到這個效果,講者的 blog 也有滿多不錯的文章,還有一些他之前在其他 conference 的演講影片,如果之後影片釋出,我應該也會再看一次吧~

成為更好的工程師

Solving your onboarding problems with Ruby

講者一開始提了滿多新人在進公司之後滿常會遇到的問題,在 debug 與環境設定上卡住許久,或因為對公司的 codebase 還不太熟悉,而多花費超過預期時間來實作等等,之後提出一些建議來改善新人 onboarding 的流程,其中我自己滿喜歡的一點是 pairing ,pairing 的過程常有知識的傳遞,然後也可以互相學習,每個人都一定擁有一些自己所欠缺的技能或概念,透過 pairing 可以互補不足、一起成長,自己在公司裡做過幾次,覺得效果還不錯,但也有些缺點,就是 pairing 所需要的時間滿長的,尤其溝通需求的過程,而且每個人的思考速度或路徑也都有所不同,但整體來說,我覺得是很不錯的方式,不過是對於帶新人或是在實作一般需求上。

To Code Is Human

slide http://www.slideshare.net/DonWerve1/to-code-is-human
這個講者 Don 在上次的 Ruby Conf 也有一場很棒的 talk,而這場的主題其實跟前一天 Matz 的 Talk 有所呼應,寫程式的,是我們人類,而人不是機器,需要休息,也有生理需求上的限制,而講者提出一些建議,對我而言,最重要的啟發是 “manage your energy, not your time” ,而充足的睡眠、維持良好的健康狀態是維持能量的基礎,然後瞭解到人們認知或心理的一些限制,進而用一些做法,讓效率提升。並且走在持續進步的道路上,很棒的一場 talk ,而 slide 中的每句話,都值得去思考或實踐。

How we replaced salary negotiations with a Sinatra app

silde https://speakerdeck.com/rkh/how-we-replaced-salary-negotiations-with-a-sinatra-app
這場是整個 conference 的 keynote 啦,是 Travis CI CTO 來他們在 Travis CI 如果做薪資協商,或換個角度來看,怎麼評估一個工程師應該拿多少的薪水,也提到一些其他公司的做法,對我而言是一個滿有啟發性的講題,也讓我去從另一個角度去思考,公司付你的薪資裡面到底包含了哪些東西或公司的期待,先簡單條列一些想法,我想之後再用一篇文章,說說也整理自己的思考。

  1. 講者也很用心地,事先調查了一些台灣的現狀,然後跟我們分享,他們也有做一個 project 在做全世界所得稅的整理 rkh/income-tax
  2. What is in a salary ? Value and Needs
  3. Transparent salary
  4. Engineer Ladder

與會感想

簡單回顧一下去年訂下的目標,在演講中可以舉手提問,這點沒有辦到,但已經可以針對當下的講題,在心中醞釀一些想法,與去年單方面的接受資訊,相較起來,已經有所進步,找外國講者 Talk ,這點也沒有辦到啊~但是有找了國外講者的同事 Talk XDD,後來還在 twitter 上相互 follow 了一下,希望明年可以去 Ruby Kaigi 朝聖一下有機會碰面再聊聊啊~發名片! 有有有~這應該是最容易的成就了。

其實參加研討會,當然可以從 Talk 中獲得技術層面的啟發,但更難得的經驗是能跟講者或與會者互動,跟一些許久不見的工程師朋友聊聊近況,跟工作人員與社群大大表達一些感謝,這些事情其實是很舒壓的啊~而且也獲得了一些在這條路上繼續下去的動力啊,明年還是會來的,朝著未完成的目標繼續努力~

Comments

comments powered by Disqus