Nic Lin's Blog

喜歡在地上滾的工程師

[Rails] 如何漂亮寫出可維護的 query (Maintainable Rails Query)

建議在團隊中我都建議用比較 Rails 的風格撰寫 Query,在後續維護上除了語意化以外也較容易做測試。

Read more

在已知長度情況下優化 slice 的性能

golang 在用 slice 時要注意,如果先給大小的話可以避免動態的多次 allocate 多的 memory,然後讓底層產生多個 slice

Read more

[ReactNative] 如何在 iOS APP 上主動要求用戶評分

前陣子我寫了個 Side project,但評分數量卻只有 50 個,是如何在兩個禮拜內增加了 400% 的評分呢

Read more

Rails 的 scope 為什麼用 lambda? Proc 與 lambda 不同之處

lambda 和 Proc 幾乎一模一樣,主要差異,差在「檢查參數」和「丟回控制權」

Read more

淺談 Active Record 的 Lazy load 特性

Active Record 回傳 relation 時其實是 lazy load,因為這樣一來可以保留其彈性及可擴充性,能夠在 hits database 之前組合出更複雜的 query。

Read more

Rails 專案搭配 Github Actions 進行 RSpec 自動化測試

現在 Github 自己也推出了 CI 工具,這裡整理出一個簡單的流程來跑 Rails 專案的自動化測試

Read more

JavaScript 中 require, import 的差別及效能

簡單說差別:import 是編譯中執行,CommonJS 的 require 是同步加載

Read more

React 效能優化基本招

會慢基本都是慢在 render function,如果巢狀 components 從父節點開始重新渲染,導致下面的子節點跟著重新 render 就會不必要的效能浪費。

Read more

ES6 箭頭函式 (Arrow functions)

很多人箭頭函式寫久了卻不清楚和一般 function 的差異在哪,大概能記得的就是簡潔好寫這樣。

Read more

2 個月擁有 6000 用戶 Side project 這樣做(三)

好的產品定義是什麼?對我而言,就是能夠「解決問題,讓用戶成為想要的自己」。

Read more

2 個月擁有 6000 用戶 Side project 這樣做(二)

如果用戶的痛點,也是我的痛點,那是不是就可以試著治療一下?

Read more

2 個月擁有 6000 用戶 Side project 這樣做(一)

很多人都說要寫 Side project,那麼,到底要如何開始呢?

Read more

如何讓自己成為失敗的軟體工程師

身為軟體工程師,在職業生涯的發展中,怎麼樣算是失敗呢?你以為資歷十年的工程師,其實是一年的經驗重複了十次。

Read more

如何在 Jenkins 上用 Docker 跑 Rails + Rspec 做 CI

基本上要跑 Rails CI 通常有很多第三方服務搭 integrate 可以做到,但如果你遇到和我的環境類似,也許你可以考慮自己把 Rails 專案用 Docker 包起來後丟到 Jenkins 上去跑。

Read more

如何用 Rack::Attack 阻擋 DDOS / 惡意流量

基本上開發 Rails 有在接 error monitoring(Airbrake、Rollbar)或是最基本有在看 Log 的應該都會知道網站一上線後,就會有些不尋常的流量,像是會有人來猜後台網址、夾帶和一般使用者不一樣的 params

Read more