About

塵世間一位迷途師程工,「三單」(單眼、單車、單身) 幫初階會員。

| Posted by LittleLin

[筆記] 從頭開始建立 Flux App (上)

前言

最近社群中關於 Flux 架構 的討論很火紅 ,Flux 架構 是 Facebook 所倡導的一種新型架構方式,期望可以解決在我們常見的 MVC 架構上,資料流混亂的問題。

(Original: Fluxxor)

相關的介紹中英文都相當多,就不再多做介紹,引其中兩篇我覺得相當好的文章供有興趣的朋友參考︰

本篇其實算是我目前在學習 Flux 的中間心得整理,會有本篇筆記的動機,主要因為我在學習 Flux 的過程中,覺得各位大大提供的範例,都太「完整」了,一 clone 下來整個目錄結構、檔案,該放的都放好,該裝的都裝好了,直接就可以開始開發。

對我這種笨蛋來說,這些範例雖然體貼,但有點搔不到我想從頭開始打造玩具的癢處,於是我就試著從頭到尾打造一個簡單的 Flux App,功能簡單到近乎白痴,就是個計數器而已。在過程中體驗 Flux 架構的作法和好處,本篇筆記就是這個過程中的思路記錄,供自己未來可以回頭來看。

相關網址如下︰

| Posted by LittleLin

[筆記] Swift Essential Training 課程筆記

前言

敝社有個很棒的福利,就是會購買外部線上學習網站的課程。只要你還在公司服務,就可以上這些網站,點選你想要的課程來看,這大概是屬於工程師的終身學習概念 XD

最近因為想私下接觸一下 iOS App 的開發,於是這一個月就開始在看 lynda.com 上的 Swift Essential Training 課程,我自己是覺得課程內容很不錯,雖然比起線上文件來說可能淺了點,但看影片學習的明顯優點,就是記憶點會很明確,畢竟有人在前面邊講邊操作一次給你看,比起光讀文件來說,學習效果會更加的好。

我自己本來就有用 Evernote 記錄筆記的習慣,在上這門課的過程中,也一樣將筆記記錄在 Evernote 下︰Evernote 筆記版,本文算是 Evernote 筆記的 blog 版,但大體內容是差不多,有興趣的朋友可以挑一個順眼的版本來看就好。

筆記中的程式碼,直接在 XCode 6 上的 Playground 環境下執行,應該都是沒有問題的,如果有問題還請再跟我說。

另外我發現 Logdown 好像不支援 Swift 的語法?所以 Blog 版筆記的程式碼,就不會有 syntax highlight 的效果,晚點我再來做個確認,這時間如果看程式碼不順眼的朋友,建議可以閱讀 Evernote 筆記版,謝謝。

| Posted by LittleLin

[翻譯] 是什麼造就了好的軟體工程文化?(下)

Culture
(圖片來源︰Scott Beale)

前言

首先要和大家說聲抱歉的是,原本上集 po 出時,說再過一週就會 po 出下集,但後來就......,總之不管有什麼原因,我還是拖稿了真是不好意思啊。這一週總算是克服了小弟的惰性,把下集給翻譯完成了,希望對各位朋友們有所幫助 (但我想大家應該早就去找原文,把下半部給看完了吧 XD)。一樣有任何翻譯上的謬誤都歡迎提出喔!

| Posted by LittleLin

[翻譯] 是什麼造就了好的軟體工程文化?(上)

Culture
(圖片來源︰Scott Beale)

前言

去年在 Quora 上看到一個有趣的問題︰Software Engineering: What makes a good engineering culture? (是什麼造就了好的軟體工程文化?),那時候看到大家投票第一名,由前 Quora 工程師 Edmond Lau 所回答的答案,覺得非常不錯。也有在 Blog 有做分享︰[Quora] 好文分享: 是什麼造就了好的軟體工程文化?

距離那時候已經過了一年多,最近總算有點動力,想說乾脆來把整篇答案內文給完整翻譯出來好了,順便在翻譯的過程中,把答案中的一些作法,和自己過去一年的心得做一些印証。

因為原文的答案有點長,所以翻譯上也分成上、下兩集分別翻譯。本文為上集,下集應該最晚會在下週貼上來 (事實証明跳票了...)。當然英文好的朋友,也可以直接閱讀原文,不用再等翻譯。

一樣有任何翻譯上的謬誤都歡迎提出喔!

| Posted by LittleLin

[Java][筆記] 以 Jersey 實作檔案上傳 RESTful Web Service

說明

最近因為有需求,需要在 Java 平台上開發檔案上下傳的 RESTful API。經過同事的建議後,選定使用 Jersey 做為開發 RESTful web service 的 Framework。因為是第一次使用 Jersey,中間踩了一些地雷,部份是因為我對於 Jersey 不太熟悉,部份是因為官方文件上有不清楚的地方,需要對照官方的範例專案程式,才會有更深入的理解。

本篇記錄相關的設定與程式碼,晚點也會將完整的範例程式碼,放到 GitHub 上,也非常歡迎大家的回饋。

| Posted by LittleLin

[翻譯] TDD 已死,測試萬歲

Blue pill or the red pill
(圖片來源︰Sarah Fagg)

2014/04/28 Updates

  1. 補上 DHH 原始 keynote 的影片︰RailsConf2014 Opening Keynote by DHH
  2. Uncle Bob 針對 DHH 的戰文,也寫了一篇文章來反擊︰Monogamous TDD
  3. XDite 在 4/28 也再撰文整理他的看法︰返璞歸真 -- 以最適當的方式設計軟體

前言

昨天在 XDite 大大的 Blog 中 (via: RailsConf 2014 - 十週年紀念版 ( 中 )),看到 RoR framework、Basecamp 公司的創辦人、Rework 一書 (中譯書︰工作大解放) 的作者,David Heinemeier Hansson (DHH),在 RailsConf 2014 中的 Keynote 後,發表了一篇針對 TDD 的戰文︰TDD is dead. Long live testing.

其實我覺得 XDite 整理 DHH 的 talk 重點就非常完整了,雖然我自己也是 TDD 的愛好者,但像這種由業界大神所寫出來的戰文,我覺得都有很高的閱讀價值。就算對方立場和你是相反的,從對方的論點中也可以找出滿多的檢查點,來反思自己在實踐上,是不是也犯了他們所討厭的錯誤,或是從錯誤的出發點來想事情。

所以我翻譯了這篇文章,除了讓自己再精讀一下 DHH 的想法外,也讓有興趣的朋友們可以多了解不同的意見,做為反思。

有任何翻譯上的謬誤,都歡迎提出,謝謝!

| Posted by LittleLin

[Mac][筆記] Mac OS X 的 Command Line 環境設定

筆記一下自已在 Mac OS X 下,針對 Command Line 的相關環境設定。以下操作都是在 Mac OS X Mavericks 10.9.1 版本下的設定記錄。

整體調整後的效果如下圖︰

iTerm2.png

| Posted by LittleLin

[Quora][翻譯] 有哪些可以應用到每日生活的省時妙招呢?

Saving Time

說明

這兩天在 Quora 上又看到了一個有趣的問題,What are the best day to day time saving hacks? (有哪些可以應用到每日生活的省時妙招呢?)

順手來翻譯看看票數最高的答案,其實也是非常有趣的回答,當中作者附的 Slideshare 簡報檔,也滿有趣的,很推薦大家閱讀。

一樣要說明的是,我不是專業的譯者,所以對於內文的翻譯,或許有錯誤或是不到位的地方 (這很有可能發生),都非常歡迎大家指正。

2013/12/10 Updates:
非常感謝 changyuheng 補上我尚未翻譯的第 19 ~ 22 點,比我原本正在翻的草稿要通順多了。萬分感謝 :)

| Posted by LittleLin

[讀書筆記] Scrum and XP from the Trenches (硝煙中的 Scrum 和 XP) - 第 2 章

前言

Scrum and XP from the Trenches (簡體中文譯名︰硝煙中的 Scrum 和 XP) 是我最近剛閱讀完的免費電子書。作者 Henrik Kniberg 在書中分享了他和他的團隊,實施 Scrum 的經驗和心得,內容相當實務而且有用,也相當輕薄好讀,我自己大概閱讀了幾個晚上就讀完了,因為我有在 Evernote 記錄讀書筆記的習慣,想說乾脆也順便貼上 Blog,在貼的過程中也算是幫自己再做一次觀念的複習。

因為第一章的內容比較偏向介紹,所以筆記的部份,會直接從第二章開始貼起。心得的內文有很大的部份都是剪貼自簡中翻譯版的譯文,只是照我自己的習慣做整理。如果我對簡中的翻譯名詞或語句不清楚,會再回頭去查看原文的內容,用自己的話再寫出來,但份量不多就是了。

當然還是很推薦直接去看電子書,收獲會更大,筆記只是摘要而已。

| Posted by LittleLin

[Java][筆記] Cucumber-JVM 嘗鮮筆記

這一週在嘗試 Cucumber-JVM,這裡稍微簡介一下 Cucumber-JVM 是什麼?Cucumber-JVM 延伸自 Cucumber 這套 Ruby 平台下的 BDD/ATDD 工具,使得 Cucumber 所實現的 BDD 想法和功能,也可以在 Java 平台上實現。

而在 .Net 平台上,也有一套實作 Cucumber 功能的 BDD/ATDD 的工具,叫做 SpecFlow,有興趣的朋友也可以研究看看。其中我認為 91 哥的︰[30天快速上手TDD][Day 24]BDD - SpecFlow Introduction 算是個很好的起點,非常推薦大家閱讀。