試著讓初學者理解 API

來看看程式跟程式之間怎麼溝通跟傳遞資料。

基本解釋

API(Application Programming Interface),中文翻為應用程式介面,用一句話來解釋的話,就是:兩個應用程式(電腦)接觸時所要依照的規範。

再用白話一點的方式來解釋,就是:「程式跟程式之間的面交規範。

以面交買東西為例,假如今天我要跟某個店家面交買東西,那以下可能是他會事先定好的注意事項:

  1. 你在哪個地方可以跟我碰面。
  2. 你要給我什麼(例如錢、身分證件)。
  3. 這樣我就會給你什麼。

假如我今天要預約要買鋼琴,那他會事先跟我說:

  1. 你可以在臺中的某個街道跟我碰面。
  2. 你要給我事先約好的鋼琴金額、身分證件。
  3. 我會給你鋼琴。

現在把鋼琴換成是某個「電腦資料」,比如說 NBA 的球員數據好了。 如果我今天想要找 Nikola Jokic 去年整年的數據,那我可能就會去找有提供數據的店家,他也已經定好面交規範:

為什麼很多球迷都覺得 NBA 球員要忠誠?

每當有大咖的 NBA 球星轉隊,都會有很多球迷嗆說「組團」,又或者很多球員拿很高的薪水,卻被說:「為什麼拿這麼高的薪水,有沒有想要讓球隊補強拚冠軍?」我每次在看這些回應,都會覺得無法理解。

如果把 NBA 球員當成一個上班族。所謂的「忠誠」跟「降薪」,就像有其他間公司開給你更高的薪水,但你卻一心想為現在自己的公司工作。我認為會這樣的人應該不多吧,如果真的有,那我也給予尊敬。

對於上班族而言,去一個薪水比較高、發展性比較好的公司、又或者是想跟朋友一起在同一間公司上班,這不是一件很正常的事情嗎?

在 Git 裡面,怎麼把自己的分支 merge 進 main?

每次多人協作,都有一堆分支衝突嗎?

簡單來說,分成三個階段:

  1. 將自己分支的本地端和遠端同步。
  2. 將主分支合併到自己的主分支,並讓本地端和遠端同步。將主分支合併到自己的主分支,並讓本地端和遠端同步。
  3. 將自己分支合併到主分支。

假設公司的主要分支叫做 main,而我現在在開發的分支叫做 feature/login,那我要怎麼把我現在的分支合併到 main? 首先,要先讓自己的分支是乾淨的,也就是要在 feature/login 執行:

git pull
git push

執行完之後,現在本地端和遠端的 feature/login 是同步的。

接著,要把遠端最新的 main 給拉到本地端,執行:

git fetch origin main

此時,我的本地端就有最新的 feature/loginorigin/main

接著就是要把這兩個分支合併起來。在 feature/login 分支上執行:

git merge origin/main

這個指令是要將剛剛從遠端啦過來的最新的 main 合併到我的 feature/login。 此時,可能會發生所謂的「衝突」(Conflict),這是因為你跟別人可能有改到同一個檔案。因此,所謂的「解衝突」就是要決定說,在這個檔案裡面,兩個檔案不一樣的地方要選擇哪一個。

我的第一臺監聽喇叭

以前平常都只用 Macbook 內建喇叭聽音樂,要認真混音的時候才會另外帶監聽耳機。上班之後,終於買了人生中第一臺監聽喇叭:PreSonus Eris E4.5

還有買了一個機械鍵盤(POJUN-PJ02 黑色茶軸),打起來真的好舒服。

這兩個東西讓我在家裡辦公開心好多!

LiSA 演唱會

一些雜項列點

  • 跟貝斯手朋友去看。
  • 第一次去林口體育館。
  • 從北車搭機捷到林口,一下機捷就直接跟著人潮走,不用看導航,走了差不多十分鐘就到會場。
  • 外面有一些吃的小攤販,但都沒興趣,所以我跟朋友又花了十幾分鐘走去便利商店吃晚餐。
  • 會場真的超多人,連上廁所都要排隊。
  • 當天下雨有點麻煩。
  • 19:00 開始,21:30 結束。
  • 大約 22:00 上機捷,到家大約 23:15。

這次的票是坐在 3200 的地方,非常感謝另一個朋友幫我搶到票,她真的很厲害!

我第一次見識到什麼叫做秒殺,開了中原時間,練習了好幾次,最後還是失敗。

音場

我聽的演唱會其實不太多,比較大規模的可能只有 2023 盧廣仲在小巨蛋的演唱會。所以這次我是把標準拿來跟小巨蛋那場比較,有點失望。

以下是我的一些主觀想法,單純個人意見,多少也跟場地、位置等有關:

筆記軟體新歡 Obsidian

最近一直在物色喜歡的 Markdown 筆記軟體。最主要的需求就是:

  1. 版面好看
  2. 複製貼上時,原本的換行不要變成再多空一行

原本是用 Zettlr,但是缺點是他的記號不會隱藏,例如 #, > 之類的。我甚至還嘗試用 CSS 去讓它隱藏,但是調了之後反而整個看起來更怪,很難輸入。

後來有一段時間嘗試 MarkText,其實真的還不錯,也是開源軟體。但是也有一個很困擾的是,當我把裡面的文字複製後貼到別的地方,每行之間他都會多空一行。

雖然我知道這是 Markdown 本來換行的機制,想要換行就是要多空一行。但我可能有常常需要複製貼上的需求,所以還是挺困擾的。

後來找到了 Obsidian。他的版面跟入門確實需要花比較久,也有很多很不習慣的地方。但花了一個禮拜慢慢摸熟之後,現在真的覺得超棒。

越覺得自己幸運,就會越幸運

聽了「好檸檬 Podcast Ep. 134」之後,覺得有感。

越覺得自己幸運,真的就會越幸運,至少我是認同這個邏輯的。
認同歸認同,能不能這麼想又是一回事。

乾脆每天早上我都來對鏡子念咒語跟施法,催眠自己說自己很幸運好了。
乾脆今年生日買個魔杖給自己好了。

  • 「我會找到好工作!我會找到好工作!我會找到好工作!」
  • 「我會賺大錢!我會賺大錢!我會賺大錢!」
  • 「我會有好老婆!我會有好老婆!我會有好老婆!」

最近喜歡 Gospel 音樂

Gospel 音樂真的是相見恨晚。超愛!
那個黑人合聲、和弦進行、Bassline 每次聽都超爽。

沒想到從以前就聽過很多遍的快樂頌,居然有這麼好聽的版本。合聲、和弦進行超讚!

說到快樂頌,就不得不提我喜歡的鋼琴神人 Yohan Kim,這個和弦進行感覺是我一輩子都碰不到的天花板。明明已經買了譜來練,卻還是練不起來。

中間瘋狂轉調之後接鋼琴 solo 那邊超好聽。

裡面的第一首就是 Love Theory,這首的 Bassline 真的超級好聽……。

一樣是好聽的 Bassline。

佐助 7 歲當上族長

在 YouTube 影片底下看到這個留言,超好笑。

世界是彩色的

一離開營區大門馬上大叫:

「世界是彩色的!」

站哨的人跟班長都笑出來。