我是 dw / David Ye,是 Houzz 的軟體工程師。
化學系畢業,興趣是聽音樂看動漫追劇打遊戲,偶爾來這邊寫寫文章。
這個 Blog 主要紀錄:
- 新技術學習或是應用
- 喜歡的歌詞翻譯與心得
我是 dw / David Ye,是 Houzz 的軟體工程師。
化學系畢業,興趣是聽音樂看動漫追劇打遊戲,偶爾來這邊寫寫文章。
這個 Blog 主要紀錄:
身為一個業餘 SAO 粉來就該來發一篇粉絲文。也好久沒寫技術文以外的東西了,就來寫點興趣導向的東西吧。
這邊語音出處基本上都是刀劍神域第一季,除了大招的之外(大概是第一季沒有符合的招式吧 XD)。
找的方法就是打開訓練場聽台詞,把台詞打下來,然後 Google,再開動畫去裡面找。
在「如何在 Rails 中寫 Rake Tasks」一文中,已經紀錄了在 Ruby on Rails 中 Rake Task 的基本寫法。
這邊要來談一些最近碰到的議題:
本文使用當下最新的 Ruby 3.0.1 和 Rails 6.1.4 作為示範
Rake 就像是 Ruby 的 Make,或是 Golang 的 Mage,其實也就是可以讓我們寫一些基本的 task 和 build 程序的地方。
會寫程式很簡單,寫出好的程式很難。上次寫了一篇 Clean Code 筆記,算是比較進階的,最近剛好複習了比較基本的一些物件導向相關原則與特性,於是就寫出了這篇。
這些物件導向的基本觀念和 Clean Code 一樣,平常可以幫助自己讓 code 寫得更易懂且更好維護,而且 Code Review 時可以拿來嗆同事(X),同時也算是面試的熱門考題之一,因此一次整理成一篇記下來,希望能幫助到自己和其他剛好找到這篇的人。
這邊主要以條列和簡單說明為主,因為我相信原則和定律皆由其簡單的解釋方式,若要更深的討論也是可以分別寫成文章的,但就不是這篇的目的了。
終於來到最後一篇了,前面幾篇依序寫了各種不同費氏數列的寫法,包含:遞迴、迭代、矩陣、從矩陣衍生的Fast doubling、以及最後公式解和補充的精確版公式解。
從時間複雜度來看,從矩陣開始都是 $O(\lg n)$(如果我們把公式解內指數運算當作 $O(\lg n)$ 的話),那這三個哪個比較快呢?
這篇文章裡面用 c 比較了 fast doubling 和公式解,發現號稱常數時間複雜度的公式解,反而慢上很多,而且還需要考慮精確度問題。