Nic Lin's Blog

喜歡在地上滾的工程師

API 設計時必須注意的 HTTP header 底線問題

這幾天在處理公司的第三方 API 介接,其中有一個部分是將 token 放在 HTTP header 裡面當作彼此驗證的方式,雖然這不是什麼特別的方式,但我在用 Ruby 處理時卻掉進了坑。

Read more

如何提升你的程式可讀性之實務技巧(三)

在這裡我會建議,可讀性優於技巧的展現,有些工程師會為了展現對程式語言的嫻熟度,在程式中使用比較冷門的語法或技巧,這通常很容易會降低程式碼的可讀性,也容易讓其他人犯錯。

Read more

如何提升你的程式可讀性之實務技巧(二)

因為能夠提升可讀性的方法族繁不及被載,所以也不會有全部的方法,我整理了一些我自己平常開發比較常使用的一些心法和技巧與你分享。

Read more

如何提升你的程式可讀性之實務技巧(一)

有沒有遇過一種情況是,即使需求不是這麼急迫,團隊之中總有習慣了問題來隨手就解的隊友,那個神來一筆的 commit 也跟著埋下了考古的鑰匙。

Read more

Ruby 中使用 freeze 優化效能的時機

在 Ruby 中常量(constant)其實是可以變更的,不管在那個程式語言上,有很多時後會造成記憶體洩漏(Memory leak)的部分,通常都是在分配(allocate)後,就算 GC 收走後還是發生記憶體碎片化所造成的效能問題

Read more

避免 React 中的 useEffect 無限 render

useEffect 會在 component 渲染完成後執行,類似 callback function

Read more

在 Rails 內輕量使用 Vue Component 的最佳實踐

在維護一陣子的 Rails 專案上,難免會看到各處擺放的 JavaScript function 或是 jQuery 各種直接操作 DOM 之類的作法。

Read more

身為工程師的你在武漢疫情時能做些什麼

隨著武漢肺炎疫情延燒,同時看著鄰近的地點被標上危險區域,似乎連假日出門都變成一種風險,工程師這個進可進公司退可退 Remote 的職位到底在這個時候能做些什麼呢?

Read more

如何在區域網路用 Docker 架設有 SSL 的 Gitlab

經歷過在團隊中使用 Gitea 後發現實在太難用了,除了速度快以外實在感受不到什麼優點,所以決定來換個自架 Gitlab

Read more

從被問到問人,那些我常問的面試問題

本篇文章主要是從我累積一些面試經驗後,從各種面試中自己主觀提取我所認為好的面試過程,進而整理成自己的面試風格

Read more

[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