弦而時習之

Ruby 的 Class Variable 深入解析

不該使用 Ruby 的 Class Variable 理由這篇文章中有大概提到 Class Variable 的意義在 Ruby 裡面跟我們在其他語言認知到的 static 關鍵字是不同的,那麼實際上到底差在哪裡呢?

在閱讀 mruby 原始碼之前我也想不通,然而在使用不同的技巧組合驗證特性之後,終於理解了 mruby 實作中對 RClass(Class 物件資料)裡面所定義的 iv_tbl(Instance Varable 對照表)的意義。

不該使用 Ruby 的 Class Variable 理由

前陣子跟卡米聊到一個神奇的 Ruby Class Variable 使用問題,才想起來從使用 Rubocop 之後會自動建議避免使用,就很久沒有使用 Class Variable 這個機制。

在 Ruby on Rails 中依舊還是有一部分實作會使用,因此並不是完全不使用。然而,在大多數的時候我們應該避免使用,除了對這個特性不夠了解之外,也是因為我們通常用不到。

寫程式的品味

前幾天同事根據客戶的需求在實作功能時請我幫忙檢查設計上是否有問題,因為是一段遺留代碼(Legacy Code)因此調整起來也不是那麼輕鬆。

其實同事的修改方式讓我不太滿意所以給了建議去調整,這是很多新手工程師會遇到的狀況,工作很少有機會去看到高品質的程式碼,最後就只能依照有問題的遺留代碼繼續修改跟當作學習參考。

探索 Ruby 的 each 方法(一)

原本是想討論 Enumerable 這個 Module 的機制跟運作原理,不過越寫越發現光是一篇文章很難講明白。

所以就一邊查資料跟 Ruby 原始碼,慢慢的把 Enumerable / Enumerator 這兩個讓 #each 運作起來的機制討論清楚。

在 Ruby 裡面我們已經很熟悉使用 #each 來對陣列相關的物件進行操作,不過在大部分的語言我們都需要透過迴圈的方式來取出陣列的元素,那麼 #each 這個方法到底是怎麼讓我們用這麼方便的機制來操作陣列的呢?

轉職工程師:要學什麼才好?

上一篇文章輸在起跑點已經稍微討論過心態上的問題,所以馬上就是要怎麼開始的問題。

大部分的人不論之前有沒有經驗,一定會冒出「要學什麼語言?」「某某語言很熱門是不是應該去學?」之類的問題。

很多時候,我認為這不是真正的問題。

轉職工程師:輸在起跑點

工作到現在差不多兩年多,因為公司業務的關係偶爾也會跟同事討論在學習當工程師或者寫程式上的經驗。所以打算寫一個系列的文章,跟大家分享一下我從學程式到成為一個工程師的過程,是怎麼樣的。

這是第一篇,我想用「輸在起跑點」來當開始。

怎麼選第一份工作?

從退伍到工作差不多過了兩年,這段時間有不少經驗我想已經足夠跟大家分享。這篇算是一個前導的文章,想來跟大家分享「第一份工作」的重要性。

重點是技能成長那段,討論薪水的地方太長可以跳過喔 XD

Unity3D - 元件化的遊戲製作

這篇文章一部份是寫給同學看的,在做遊戲中似乎挺常使用到的,而這個「特性」如果能夠理解的話,未來同學在製作遊戲應該也是會順利很多,另一方面就是 SITCON 的投稿,大概就是以這個為主軸來討論。

依照網路上的說法,這個概念應該是在 Unity3D 熱門之後,才比較被大眾所熟悉。而我個人是在 2013 年的 COSCUP 在半路大的演講第一次獲得「元件化」的關鍵字,這確實也是一個不一樣的概念。

至於後續如何呢?讓我們一起看下去。 (關於非遊戲的討論,我之後會另外寫文章,這邊以 Unity3D 的 Component 概念為主。)