關於 #心得 的內容

蒼時弦也蒼時弦也

在 2018 年我所知道的區塊鏈

上週同事突然在公司的聊天群組中討論起區塊鏈到底是不是屬於分散式系統(Distributed System)因為去年年底爆紅的關係,我也稍微了解了一下區塊鏈的運作,就被同事說會不會晚上就有文章出來了。

雖然不是當天晚上就在寫,不過了解區塊鏈的運作倒是很有幫助我們冷靜下來對應這個新名詞。

蒼時弦也蒼時弦也

自由的 Ruby 類別(二)

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

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

蒼時弦也蒼時弦也

Stripe 的 Idempotency Key 設計機制

週末看到一篇 Stripe 工程師所寫的文章,是一篇關於 Idempotency Key (幂等鍵)的設計機制。因為是一篇非常棒的文章,而且裡面的概念除了可以應用在 API 設計之外,很多程式設計上需要解決的問題都可以透過這個概念來處理。

原文非常的長而且很詳細,這篇文章只會做簡單的重點整理。

有興趣的話可以打開原文來讀,是一篇很有用的文章。

作者是很厲害的工程師,部落格上的文章都是非常精實的技術文。

蒼時弦也蒼時弦也

自由的 Ruby 類別(一)

以前還在讀書的時候,常常會思考所謂的「自由」是什麼,想著以後一定要過著自由的生活。不過現實就是到了社會,依舊還是有許多限制讓你無法自由自在。

不過,在 Ruby 中的類別卻是非常自由的。

有稍微接觸過 Ruby 的人應該都知道幾個特性:

  • 物件導向語言
  • 一切都是物件
蒼時弦也蒼時弦也

在 RubyKaigi 2017 年後的反思

在這幾個月,感覺到自己好像快要突破這一階段的瓶頸,所以做了一些調整試試看能不能順利的突破,同時也到了每年公司參與 RubyKaigi 的時期。

要說的話,今年的 RubyKaigi 整體的方向對我來說很不一樣,因為有不少關於 RubyKaigi 底層的議程被提出來,這在台灣舉辦研討會需要照顧到不同客群的人總會需要有一些取捨。

不過,對日本——Ruby 的發源地來說,因為有不同類型的研討會互補,反而可以在不同的研討會上,著重不同的情境來討論。

蒼時弦也蒼時弦也

Afte PHPConf 2016

PHPConf 是退伍後參加的第三個研討會。雖然現在已經沒有什麼在寫 PHP 了,不過寫了好幾年的語言還是會想關注一下最近的狀況。

今年其實沒有聽到很多議程,只聽了三場議程而已。 大部分的時間都用在跟講師聊天,不過另一方面也感受到這幾年很多活動都已經不是以前認識的人去參加。這大概就是對我們這群人來說,一個研討會的內容能帶給我們的東西已經不夠了。

雖然以前會覺得自己還能夠一直參加,不過實際上當研討會分享的東西大多能靠自己學會跟吸收的時候,就沒有那麼重要。有機會的話,去做分享也是繼續參與的一個階段,能力可及的話我也會盡可能多做分享。

蒼時弦也蒼時弦也

在 RubyKaigi 2016 後的新視野

八月份退伍後,馬上就加入了五倍紅寶石。而隨之而來的,剛好是在九月份為期九天的員工旅遊,一個非常充實的員工旅遊。

實際上,我們只有三天左右在日本遊玩。原本的行程會穿插著與日本 Ruby 社群的交流,以及三天的 RubyKaigi 行程。

這次的旅遊算是增長了不少見識,讓我想到高中快畢業時第一次知道了 COSCUP 之後瘋狂地參加各種語言的研討會,幾乎一年每個月都在跑研討會。印象沒錯的話,大概是 2013 年才參與到 RubyConf 也因為參加了 RubyConf 的活動,退伍前後蠻多工作機會都是來自 Ruby 圈的,算是整個程式經歷中給我幫助最多的社群了吧。

蒼時弦也蒼時弦也

使用 GitLab CI 整合 SonarQube

之前都在偷懶沒有寫網誌,剛好這次端午連假比較長。 所以想做測試跟實驗的部分都做完了,就來寫一篇關於 GitLab CI 整合的經驗分享。

文章中大致上會涵蓋這些部分:

  • GitLab CI 基本使用
  • Rancher建置環境
  • SonarQube 基本使用
  • GitLab CI 整合環境

文章會以我在建構 CI 環境的過程中來講解,一些安裝跟配置的部分會直接跳過。

蒼時弦也蒼時弦也

從入伍後讀的一些書

入伍之後一直擔心自己的技術會退步,所以其實有好幾個月的時間都很焦慮。 不過運氣不錯的是,所處的單位算是不錯的,現在的區隊長管理方式也讓我有不少時間可以充分利用。

這邊就簡單介紹一下到目前約八個月多所讀的書,大部分時間都是利用睡前跟午睡時間去讀的,一次大約十到二十分鐘,反而因為軍隊規律的生活變成每天讀書的習慣,意外讀了不少。

蒼時弦也蒼時弦也

Deis 架構分析(一)

最近隨著 Container 技術的成熟,以及 CoreOS 等工具的出現。開始有一些 PaaS 的工具出現,而 Deis 就是其中一個。

Deis 本身是受到 Heroku 所啟發的開源 PaaS 專案,透過 Deis 可以輕鬆的建構 Heroku-like 的 PaaS 環境,若是有能夠管理伺服器的人員,其實可以考慮以這種方式部屬網站。相對 Heroku 來說,基本的 CoreOS Cluster 只要三台機器,以 Linode 2GB 的方案來看,甚至還比 Heroku 單個 2x dyno 還便宜呢!

關於 Deis 的架構,在官方的文件已經有做出說明,所以這系列的文章著重在閱讀原始碼以及探討關於 Deis 是如何實踐 Heroku-like 的 PaaS 環境。

我本身是 Heroku 的重度使用者,因為透過 git 管理以及豐富的 Addon 在開發時其實是非常方便的。 不過有時候還是會受到一些限制,這時候 Deis 就提供了很大的幫助。不過這類 PaaS 工具其實還不能說非常成熟,使用上還是會有不少問題,透過了解底層的機制來建構一個自己的版本,在某些情境反而更加容易控制跟維護。