CodingMan.cc

Code Your True Nature

巴士因子(Bus factor)一詞起源於西班牙建築大師安東尼·高第(Antoni Gaudí)的事故。高第是20世紀初最具創新精神的建築師之一,他的代表作包括巴塞羅那的聖家堂、古埃爾公園等。

在 1926 年,高第在前往聖家堂的路上,被一輛電車撞倒,最終因傷重不治。而他的離世對聖家堂的建設產生了巨大影響,因為高第是該專案的靈魂人物,很多設計細節只存在於他的腦海中,沒有人知道。
高第的不幸遭遇,啟發人們思考團隊中關鍵人物的重要性。如果一個團隊過度依賴某個人,一旦這個人因意外或其他原因無法繼續工作,整個團隊的運作就會受到嚴重影響。

而「巴士因子」這個概念最早可追朔的記載是 Michael McLay 公開詢問:

如果 Guido van Rossum 被巴士撞到,那 Python 程式語言會發生什麼事?

至此,「巴士因子」這個概念進入了軟體開發領域,用來衡量一個團隊的風險和穩定性。

雲端原生 (Cloud Native) 已經成為應用程式開發的大勢所趨。為了充分發揮雲端的優勢,我們需要對傳統的應用程式進行重構,使其能夠更好地適應雲端環境。

本文將專注探討將應用程式上雲端所需要的重構 (Restructure),包括微服務化、容器化、自動化部署、無狀態設計等。透過這些策略,我們可以將應用程式轉變為雲端原生應用程式,更好地適應雲端環境,提高開發效率和應用程式的可靠性。

給一個軟體工程師的團隊來說,怎麼有效率地管理團隊的文件是非常重要的議題。隨著團隊越來越大,案子也越來越複雜,要怎麼把團隊裡的知識和資訊整理得井井有條,讓大家都能快速找到需要的資訊,是一個值得好好思考的問題。

這篇文章會試著探討團隊文件管理的問題,然後分析現在常用的文件管理工具的優缺點,希望能幫助大家的團隊把文件管理和整理得更好。

在軟體開發的世界中,單體應用程式和微服務是兩種常見的架構風格。而除了這兩個主流的架構風格外,近年來也興起了巨石架構與無服務架構。這四種架構風格各有優缺點,適用於不同的場景。

本文將介紹這四種架構風格的特點,並比較它們之間的差異,希望能幫助讀者更好地理解這四種架構風格,並選擇適合自己的架構風格。

Git 是現代最流行的分散式版本控制系統,是由 Linus Torvalds 在 2005 年所開發出來的。

Git 的設計目標是速度、效率和支援大型專案。Git 的分散式架構使得它在分支管理和合併方面都有著獨特的優勢,因此被廣泛應用於軟體開發領域。

這篇文章將會介紹一些常用的 Git 指令,幫助你更快速地上手並提升開發效率。

TimSort 是 Python 內建的排序法,是一種混合排序法,結合了 Merge Sort 和 Insertion Sort 的特性,並且會根據資料的特性自動切換這兩種排序法。

TimSort 一開始是 Peter McIlroy
在他的論文 Optimistic Sorting and Information Theoretic Complexity 中提出的。
接著在 2002 年由 Tim Peters 為 Python 2.3 開發出來,主要是為了解決當時 Python 內建的排序法 QuickSort 的問題。

目前依舊被廣泛應用於各種程式語言和軟體中,例如 Python、Java、Android、V8 等。

大學時代曾經跟著校隊練習過一段時間,當時有一些體悟很可惜沒有記錄下來。
而過了十多年後,最近又開始重新認真練習羽毛球,所以這篇文章就是想要記錄一下重新體悟到的體悟。

而這篇就是要來談談什麼是 Level One。

此篇心得是我作為趨勢科技 AI contest 2023 工作人員的個人心得與感想。
有錯誤與不完整,是非常正常的 🤣

文中可能有些誤差和不完整之處,但大致按時間順序記述了整個比賽過程。

我不是醫生,這篇文章只是分享我自己的經驗,如果你有相關症狀,請務必去看醫生。

日本擁有豐富的文化遺產,令人驚嘆的自然景觀,美味的美食,以及出色的購物場所。因此日本是許多人旅遊的首選。
而恰當的準備可以讓你的日本之行更加順利和舒適。

這篇文章將會介紹一些日本旅遊的基本資訊,以及一些我們在旅遊中的經驗分享以及一些觀察。