System Design - Twitter

System Design - Twitter

本篇文章為針對 花花醬 Youtebe 所講述的內容進行筆記,一切都還是以影片中的內容為主,會知道此頻道是因為在碩班畢業前,找工作刷題時在網路上搜尋解題講解時所發現。

最近因緣際會下發現除了 leetcode 演算法外,頻道內也開始有一些系統設計相關的內容,內容都講得非常好且多半都配合圖解來模擬運行時的邏輯,有需要的大大們可以去上面挖寶 XD

Read more
Google Code Review - Reviewer 篇 (6)

Google Code Review - Reviewer 篇 (6)

code review 中 developer 以及 reviewer 意見不和是常常發生的事情,有時 developer 會不同意 reviewer 的觀點,有時候 developer 會覺得 reviewer 太過嚴格,這時候應該要如何解決呢? 這篇筆記會記錄 google code review 中給出的一些建議 (´◉‿◉`)

Read more
Google Code Review - Reviewer 篇 (5)
Google Code Review - Reviewer 篇 (4)

Google Code Review - Reviewer 篇 (4)

這篇主要整理如何加速 code review 的速度, 以及 code review 速度對於整體開發流程的影響,為針對 reviewer 系列的第四篇文章,為 google code review 筆記系列的的六篇文章。

Read more
Google Code Review - Reviewer 篇 (3)
Google Code Review - Reviewer 篇 (2)
Google Code Review - Reviewer 篇
Google Code Review - Author 篇

Google Code Review - Author 篇

多人軟體開發流程中除了開發及測試外,另一相對重要卻常常被忽略掉的應該就是 code review process, 專案的開發過程中為了讓 code 品質可以更好,通常在功能開發完成要合併到 master branch 前都會需要至少一位相關的同事給予授權 (approval) 才能將修改的 code 合併進 master branch 中而在審核的過程就稱為 code review,然而事否有一套統一的準則能加速 code review 的過程並且提高 code review 的品質呢? 在網路上看了一些文章後有幸找到 Google 提出的 code reivew guideline,而當中分為 Reviewer 以及 Author 兩個部分,打算用兩篇文章分別筆記一下 XD(若有寫錯的部分也請大大們鞭小力一點),本篇文章為 Author (提出修改者) 相關的筆記~

Read more
Google Code Review - Overview 篇
花十分鐘打造好用的 termianl (iterm2 + zsh + oh-my-zsh + powerlevel10k)

花十分鐘打造好用的 termianl (iterm2 + zsh + oh-my-zsh + powerlevel10k)

簡單花 10 分鐘打造好用 mac terminal 設定, 最近因為有電腦重新設定的需求, 而重灌或是使用新電腦的第一件事情通常都會是安裝 terminal 環境, 於是就順手紀錄一下 homebrew, iterm2, zsh 的設定步驟,順便附上 vscode 需要進行對應的設定步驟~
Read more
使用 CircleCI 完成 Google App Engine 自動部署

使用 CircleCI 完成 Google App Engine 自動部署

要解決的問題

事情是這樣子的,最近因為剛好有一些空閒時間,於是想要在原本部署在 Google App Enginee 的部落格進行排版的調整,並實做一些小功能,然而卻發現以前的開發,部署流程有些繁瑣,剛好工作上有接觸到 CI/CD 的概念,因此想說不如就趁此機會把也把 CI/CD 的實作應用到專案上,最終決定以 CircleCI 作為 CI/CD 工具以簡化之後的開發流程,並且順手記錄下來,想像上只要是部署在 GCP 上面的服務應該都通用 XD

Read more
Vespa ai 筆記 (一)

Vespa ai 筆記 (一)

Vespa ai 筆記 (一)

Vespa 是什麼

一般講到vespa 通常第一個聯想到的往往是某個機車品牌XD,然而除了機車品牌外它同時也是一個開源的搜索引擎,Vespa 由 Yahoo! ( verizon media ) 於 2017年9月發布, Vespa 用於對海量數據集進行低延遲計算的引擎,它負責存儲和索引數據資料。同時 Vespa 中也提供了: Indexing, Searching, Ranking, Grouping,等等許多自定義的擴展功能。

來看看官方的描述:

第一次看到是不是會有種不明覺厲的感覺XD

Read more
解題常用排序演算法 (附上動圖)

解題常用排序演算法 (附上動圖)

排序演算法是許多題目的基礎概念,解題時有許多技巧也是由排序演算法所衍生,使用 python3 實作,並且附上網路的動態圖片。

簡單排序 - O( N^2 )


Bubble Sort

1
2
3
4
5
6
7
# 兩兩相比, 將大的放到後面, 每一回合會把一個key 放到正確位置(最後方的key)
def bubble_sort(nums):
l = len(nums)
for i in range(l):
for j in range(i-1):
if nums[i] < nums[j]:
nums[i] , nums[j] = nums[j], nums[i]
Read more