Kalan's Blog

本部落主要是關於前端、軟體開發以及我在日本的生活,也會寫一些對時事的觀察和雜感

目前主題 亮色

部落格雖然經營很久了,不過寫文章的期間斷斷續續的,雖然幾年下來的確累積了很多東西,甚至也因為部落格的關係讓更多人認識我,不過最近發現寫部落格文章已經無法滿足自己。

細探原因我發現是因為部落格文章大部分都屬於單向互動,雖然可以發佈到社群去引起討論,但過往的經驗是這種討論可遇不可求,大部分停留在按讚而已。然而我自己是希望能夠雙向互動的,我希望聽聽其他人的說法,有更深入的討論,不管是技術文章也好生活雜談也好。

這樣子處於半被動的情況下雖然也認識了一些新朋友,例如原本只有看文章或是偶爾互動的 huli,去年因緣際會在福岡一起吃飯;在推上因為日本生活分享的緣故認識了 leafwind 跟善逸,這些對我來說都是難能可貴的緣分。

短筆記對我來說是一個新的嘗試,未來我想要有更多能創造雙向互動的方式,也希望大家給我一個機會認識你。

如果有幸看到這篇短筆記,你也看過我的其他文章或者自我介紹之後,覺得我們或許可以有共同話題的話歡迎寄信或是私訊跟我聊聊~

學鋼琴時幾乎就只是一個只會看譜彈奏的機器,沒有譜就什麼都彈不出來的哪種。

現在重拾電吉他有老師帶,算是比較有系統地去學習。然後我發現電吉他跟其他樂器比起來費用不算貴,而且其他樂器大部分比較專注在演奏上,而電吉他(或吉他)通常到一個階段後一定會碰到樂理,除非只想當三品戰士刷刷和弦自彈自唱,或者只想看譜彈奏沒有要走創作改編。 鋼琴轉調後會有升降鍵不同的問題,要靠練習來熟悉。但吉他一樣的指型只要往上往下移動就是轉調了,這點真的很讚。指型只要熟悉了可以套用所有調性上,可以說是 CP 值很高的樂器。 我在學鋼琴時已經厭倦那種沒有譜就彈不出來的感覺,所以學電吉他時我很認真在補樂理。當然技巧還在很基礎的階段,還有一大段路要走就是了。

我小時候有學過幾年的鋼琴,高中時偶爾也會拍拍影片。當時觸控手機才剛上市,然後解析度大概也就 320p 左右,拍影片還會影音不同步,更別說音質了。 現在隨便一台手機的音質跟畫質都是可接受程度,比我當時的環境好上幾百倍,很輕鬆就能把自己彈的東西上傳。老實說很羨慕,因為學生時期有近乎無限的時間(如果家境沒問題的話)。

那些在網路上的惡意攻擊跟評論,不一定就是多數人的想法,因為沒讀書的人反而更容易去高談闊論自己不懂的東西,沒做什麼功課看幾個短影片就覺得自己有能力發表高見。詳細可以到我之前寫的文章:「網路上的評論有毒」看看。

最近發現自己在寫文章的時候有幾個習慣,在比較不確定的論述時,常常會在開頭加上「我覺得」、「或許」、「感覺上」、「個人看法」。

這對我來說不是件好事,深究原因是一種保護機制:

  • 這是「我覺得」,所以你如果不同意,那也沒關係,畢竟只是「我覺得」。藉由這種方式來迴避衝突
  • 「或許」,儘管盡可能把論述講清楚,但怕被別人抓住話柄,被挑毛病,被抓錯,所以加入「或許」來當作擋箭牌

寫文章這件事本來就是在說個人看法,特別加上我覺得意義不大,反而容易變成冗言贅字,或許、個人看法這些都一樣。從文字裡是看得出一個人的個性的。

這邊想要特別提到的是,不說敬語不代表不禮貌。這點蠻重要的,有太多明明講敬語卻讓人覺得你怎麼那麼沒禮貌的方式。「失礼ですが漢字読めますか」應該算是近期排名第一名。 反之也一樣,有很多明明沒在用敬語卻讓人覺得這聽起來好輕鬆、好舒服的方式。

最近在練習對已經有點熟悉的人不要說敬語,這點對我來說很難,因為已經習慣了之外,也會覺得敬語是一種與人保持距離的方式。 但我覺得很棒的一點是我有外國人 buff!就算不說敬語,對方可能也會覺得啊這人日文普普,就不會放在心上,反而還有機會拉近距離,這個 CP 值值得一試。

最近發現語言交換的 HelloTalk 真的對台灣使用者多了一堆限制,不能下載之外,就連語音直播的功能看起來也是刻意擋掉,在 App 上完全找不到,然後透過通知那邊也沒辦法進去。 我自己覺得 HelloTalk 已經算是蠻完整的,發文、修改貼文、私訊、語音。

看人生勝利聖經的時候看到 Tim Ferris 的投資標的規則: 創辦人是否做過服務業。有的話會比較腳踏實際一點,少掉頭銜與自傲,通常可以做出比較好的決定。深有同感

我覺得自己很容易陷入一些明明別人看起來沒什麼的抉擇。就像我一直在猶豫到底要不要把生活與技術部落格分開,這一想就是一年多;或是到底要不要先用 WordPress 總之先產出內容,又害怕到時候搬遷不容易。 但說到底這些都是阻礙自己前進的原因,真的寫了一百篇再來想這件事也不遲。反正要搬遷頂多就是花個一天寫腳本,沒什麼大不了的!

今天把部落格重新整理一遍,架構也重新調整過。結果 RSS 的部分沒有用好,發現自己的 RSS Feed 其實也蠻多人追蹤的,這樣反而還有點擾民,反省反省。

日銀宣布維持原狀之後,幾乎可以說是円安確定,我就直接買 FX 了。 雖然說槓桿也沒開多少,大概也就 500 萬日幣左右,賺了 40,000 多日幣。但說真的心裡有種很複雜的感覺。

如果買入營收前十名的日本上市股票,持有直到停損 20%,成效會怎麼樣?

抱著這樣的想法,愷開開始了量化交易之旅。

覺得自己平庸的要命,可以很肯定地說在幾年前絕對不會出現這種感覺,但是這幾年卻一直頻繁出現這種想法。 我不知道現在的我還能不能闖出一番成績,也不知道如果不走正職工作的話還可以做什麼

覺得到現在 CSS 已經有很多要重新去 pickup 的知識點,很多剛入行時學的那一套都不適用了。

今天去看排球少年劇場版:垃圾場的對決。這邊的垃圾場應該並不是指雙方的隊伍很爛,而是彼此的學校對應的動物烏鴉、貓剛好都是會在垃圾場出現的東西。

熱血、青春,倒也讓我想起了在大學參加排球隊的日子。我深知自己並沒有練習很多,所以也不求成為一線戰力,也不強求出場比賽。當時並沒有很注重運動跟肌肉量,想當然實力也就普普,技術更不用說。

我知道靠練習跟技巧可以補足先天的不足,但不可否認地,身高在排球佔據很大的優勢,擊球點、攔網比別人高就是優勢。的確會緬懷那些青春,不過大概就跟げんま一樣,我更喜歡看排球而不是打排球。

最近把 Vue 的 Composition API 再重新看一遍,發現除了常用的像是 refreactivecomputed 之外還有好多東西。邊看邊記錄一下自己的想法:

  1. watch: 可以明確定義要監聽的對象。但感覺多數情況下可以被 watchEffect 代替
  2. watchEffect: 只要定義函數即可,Vue 會自動去追蹤裡頭用到的變數然後在有變化時執行。有點像是 useEffect 但不需要開發者自己宣告 dependency array。
  3. reactive ref: reactive 回傳的是一個 proxy,ref 則是一個帶有 value 屬性的物件,比較特別的地方是 value 屬性有 getter 跟 setter。(Vue 實作裡頭定義的,用來偵測值的變化)

我覺得要一直 .value 真的很麻煩,雖然說可以用 $ref,似乎也沒什麼好挑惕的。後來想想如果跟 React 的 useState 比,的確 Vue 的寫法會比較舒服。

ref 還具有雙向綁定的功能,所以可以直接丟進去 v-model 裡面。

在潤過的 TTC 金粉軸跟 Akko Cream Yellow Pro V3 之間猶豫。潤過的金粉軸手感真的好讚...,聲音也不會那麼清脆。

Nuphy Air60 這把鍵盤雖然小巧可愛,可攜性非常好,但是有一個致命的缺點。倒數第二排的排列(Z 鍵那一排)有偏移,導致打字時會有非常明顯的違和感。手指肌肉記憶會完全對不起來。主要是左邊那個 shift 太短,然後又硬要在右邊塞 SHIFT 跟 DEL。

重訓最近比較偷懶一點,而且東西也沒有好好吃,今天測了一下發現肌肉量掉好多。要回歸正常訓練了!

目前配置:

  1. HHKB type-s
  2. Halo65 / YUSHAKOBO silent
  3. Zoom65 / NicePBT November Fog / 胭脂軸
  4. Neo65 / Back in the game keycaps / Akko Cream Yellow v3 Pro

備用軸體目前會換著用的有:灰木軸v3 / TTC 金粉軸

Neo65 打鍵手感跟聲音真的好讚,但電量顯示、藍芽切換的部分只有背後的 LED 會亮起來做提示感覺還是很不方便,也沒有像 zoom65 一樣有強制進入深睡眠的模式。 但是整體而言還是很喜歡這把鍵盤!

也在想要不要入手 QK65v2,小螢幕真的讓我心癢癢,但如果只為了小螢幕的話又好像有點沒有必要?

neo65 在 swagkeys 上看價格便宜有現貨就直接買了(165 美金,換算成台幣 $5000 左右)。我還蠻喜歡他的外型跟配重的 logo,聲音表現也不錯。但是內附的衛星軸不是螺絲而是用卡扣的方式,背面還要用一塊小塑膠片卡死,然後洞有夠小超級難塞。tri-mode PCB 有支援分裂空格,可以無痛改成 HHKB layout。另外一點是如果用 hotswap 的話還是要有定位版比較好,像我就想說不用結果軸體的飄飄晃晃的。

Day11 韓文筆記

動詞變化어요/아요/해요大魔王還是來了。

  1. 有終聲:會看前一個母音是陽還是陰來決定要變成어요/아요。這個還好,雖然要花點時間習慣
  2. 沒有終聲:會出現各種變化,這個就很麻煩了

例如: 보다 → 봐요 오다 → 오 + 아요 → 와요 배우다 →배우 + 어요 → 배워요 바쁘다 → 바빠 + 요 → 바빠요

他們會跟語幹結合變形!而且規則比日文動詞還麻煩。不過熟悉之後應該可以套用到很多變化上面,只好先硬背+慢慢熟悉規則囉

Day10 韓文筆記

  1. 今天複習數字念法跟幾月幾號,果不其然終聲真的讓人腦袋打結,只能靠多念多聽來補足了
  2. 韓文的否定句兩種表達方式:안/지않다

否定變化感覺比較友善一點,不會跟動詞原型語幹合體,也不會連音所以不用管終聲。 其實跟中文的發音一樣,遇到兩個三聲時會自動把第一個字變成二聲,但這是自然而然學會的,而不是看了什麼文法書才知道。

對我來說有分裂空格是必要條件,因為 HHKB layout 用習慣了之後真的很難調整回去。左邊的 capslock 如果沒有 VIA/QMK 的話就要用軟體調整,會比較麻煩一點。

最近在看的幾把鍵盤跟軸體:

鍵盤

  • QK65v2:有小螢幕讓我很心動。配重的 logo 也可以自己選,搭配 qwertykeys 他們家主推的磁吸結構,感覺會是一把很酷的鍵盤
  • Neo65:喜歡他的外型跟配重的 logo,之前在硬派鍵盤看到的時候就印象深刻
  • Rainy75:雖然不是 65% 的套件,但他的外觀尤其是正反面的下雨雲 logo 還有出廠配好的打字手感跟聲音都讓我印象深刻。重點是很便宜

軸體

  • TTC 金粉軸(Gold Pink):網路上對它的評價極高,剛好硬派有就買了。不過後來才發現原來是沒有潤過的版本。心血來潮潤了一下結果好多軸就都接觸不良了,應該是簧片那邊有稍微動到。下次不敢亂潤底座
  • Akko v3 creamy yellow:網路上評價很好且 CP 值高的軸。
  • 胭脂軸:一個在台灣、大陸比較知名的軸體。包裝很美,軸全部都是紅色的,按起來很舒服,我自己覺得跟灰木軸差不多

正式踏入客製化鍵盤坑應該是去年(2023 年) 7 月份左右,那個時候看到 Nuphy Air60 在特價就順手買了一把。沒想到送來以後發現原來軸是可以拆開來換,才驚覺機械鍵盤近幾年已經從軸體焊死的年代演變到可以熱插拔。 Air60 是矮軸,就想說乾脆再買一把普通高度的,看來看去最後選了 Halo65,也是把好鍵盤。

之後開始在網路上尋覓自己有興趣的客製化鍵盤,我的需求是一定要有分裂空格、在 65% 以內,且支援雙模或三模,盡可能有 QMK/VIA 支援。

找來找去剛好找到 GMK67 跟 Zoom65,可惜早就過了團購。然後在 メルカリ 找到有人賣二手的 Zoom65 v2 而且還沒拆過就趕快下訂單。

Zoom65 實在是把好鍵盤,第一次知道 gasket 結構、定位版的材質不同造成的聲音、手感變化,zoom65 的聲音真的好聽,我是搭配灰木軸,麻將音跟酥脆的手感讓人愛不釋手。缺點就是重了一點。

鍵盤的電路板跟軟體基本上算是相對好處理,雖然也是牽扯到設計電路的眉角,但客製鍵盤的價值主要體現在工藝設計,包含外殼、塗色、上下蓋、配重、定位版、結構,對某些玩家來說客製鍵盤已經成為了某種收藏品。哎,男人終究會走上這條路嗎🤔

發現了這個 memos 可以自己 host 的 memo 服務,而且還可以串 webhook 跟 API,也有 UI 可以用。開箱即用,蠻適合最近的自己。目前是打算用來當作韓文筆記,然後串到自己的部落格上。

Day9

進入動詞變化了,除了要看終聲之外,還有要看原型動詞的語尾是什麼,還要再看是否有收尾音。體感上跟剛開始學日文動詞變化的感覺很像,但要看的東西變多了腦袋會打結。 解法也很簡單,除了教材的東西以外,也多看看實際的會話,把一些常見的動詞會怎麼變化記下來,這樣就不用管規則了。

Day8

最近在練習用韓文輸入法,直覺看起來就是母音在右半部,子音在左半部。不過要記熟的話可能還需要多多練習。我發現韓文的手機也是一樣是九宮格,跟日文一樣。不過日文的話每一格是對應該子音的あいうえお;而韓文的話則是最上面那排專門打母音(可以用 | . - 組合出來所有母音)。

我覺得這個設計超厲害,可以用十格拼出所有韓文,熟悉之後應該跟日文那樣可以打很快。初學階段雖然會比較痛苦但熬過之後應該會看到不錯的成效。

Day7

今天學存在的句型(이/가+있습니다)。除了可以當作有/無表達之外(你有弟弟嗎?),也可以當作處於某個地點的存在。所以一併學了這/那/那(遠)/哪,基本上跟日文一樣,不過韓文似乎沒有區分生命有無(日文的 いる・ある)。

  • 볼펜이 어디에 있습이까?여기에습니다(ボールペンはどこにありますか?ここにあります)
  • 일본에 있어요.(日本にいます)

Day6

今天學到兩個助詞,은/는還有에。一個類似日文的「は」;一個類似日文的「に」。 對了,日文跟韓文一樣都是 SOV。也就是受詞會先放在前面,動詞放在後面,而且也有一個專門的助詞「를」;另外日文韓文類似的地方是他們同樣是膠著語,所以會依照意思、時態的不同而有不同的動詞變化。

Day5

現在學到基本名詞句(敬語),像是 xxx + 입니다。這算是有點頭痛的地方。韓文的單字如果有終聲,視情況會跟下一個字做連接而有發音上的不同。 在日文當中,動詞雖然會根據時態或意思不同也產生變化(例如動く變成動いて),但韓文比較頭疼的地方在於「名詞」也會有這個變化。

例如:한국 사람입니다(韓国人です) 사람 如果前後沒有其他句子連接,這個ㅁ就是正常發音。但是如果後面有接입니다,那ㅁ就會跟입니다合體。所以實際念會是한국 사람입니다(한국 사라밉니다)。

對我來說是一大難關,除了終聲超級重要之外,同樣的名詞在不同句型會有不同的發音(雖然有邏輯可循)。

Day4 - 學韓文的契機(4)

2024 年,其實學韓文有被我當作目標寫進 2023 年,不過很可惜的並沒有實現。今年先硬著頭皮報名了 TOPIK1,至少有個實質的目標在可以鞭策自己往前。

回頭說說契機,其實就是想學新東西加上想去韓國玩,然後 NewJeans 的歌好好聽。聽起來很膚淺但又怎樣?

Day3 - 學韓文的契機(3)

剛好在疫情高峰期有事情要回台灣,但隔離總共要三個禮拜,等於在飯店三個禮拜都不能出來。雖然是遠端上班,不過剩下的時間真的很悶,就決定到 AmazingTalker 上面找韓文老師學個韓文排解一下在飯店的無聊。老師是一位經驗超級豐富的韓國人,中文講得很好,我的破發音也在那個時候被糾正很多。只可惜解除隔離之後我又沒有再繼續學了。

Day2 - 學韓文的契機(2)

出差完之後,韓文就被我拋在一邊了,畢竟我對韓星跟韓文歌沒有太大興趣,當時也就只有「韓國當作旅行的國家還不錯」的想法而已,沒有強烈的學習需求自然就漸漸忘掉了。

後來剛好 covid-19 爆發,高峰期幾乎每個國家都封城,那時後很紅的魷魚遊戲看了一下覺得很喜歡就一直看下去了;之後又想要繼續看韓劇,就又看了「梨泰院 class」和「那年我們的夏天」。

金多美超正!而且我也很喜歡他的演技,所以就這樣有了比較強烈學韓文的動機。

Day1 - 學韓文的契機(1)

剛開始是因為在 2019 年的時候到韓國出差,就順手買了一本韓文初學書。

韓文的文字蠻容易學的,大概一天就可以看懂大部分的發音,雖然說後面會發現還有各種規則,但文字的部分真的很容易學。然後人蔘雞湯很好喝。

最近常常搭飛機,看到地勤人員在大太陽下面指揮飛機、送行李;看到早上在忙 check-in 的地勤下午竟然還在上班。好奇去查了一下薪水,覺得有點難過,原來勞動力是那麼不值錢的嗎。

最近在看法拉第最愛看的書(?),悟性的提升(Improvement of the mind),裡頭有提到透過讀書會效果是相當顯著的。這點我蠻認同的,大學的時很常互相教學。但出社會後要維持這件事難度極高,每個人的生活節奏相差太大。#日常

最近在看法拉第最愛看的書(?),悟性的提升(Improvement of the mind),裡頭有提到透過讀書會效果是相當顯著的。這點我蠻認同的,大學的時很常互相教學。但出社會後要維持這件事難度極高,每個人的生活節奏相差太大。#韓文

最近常常搭飛機,看到地勤人員在大太陽下面指揮飛機、送行李;看到早上在忙 check-in 的地勤下午竟然還在上班。好奇去查了一下薪水,覺得有點難過,原來勞動力是那麼不值錢的嗎。#日常

硬舉 90kg,明明臀腿都還有力但小臂、握力跟下背先爆掉

臀推很棒,但沒有機器也搶不到史密斯的話我覺得 CP 值超低,喬槓鈴喬位置就快累死人,槓放在地上也不好放槓片。Not for me 的感覺。#日常

最近完全提不起勁做任何事,可能已經到倦怠期了。雖然知道自己已經比大部分的人好過很多,但做什麼事情都已經沒有動力也沒辦法專注,注意力也很容易渙散,只剩下健身一直持續。#日常

趁著特價期間重新玩了一遍死亡擱淺(導演版),很喜歡死亡擱淺呈現出來的世界觀。包含裡頭的科技也是,不過全影頭像應該很耗電。#日常

新的一年,我想要減少說「complicated」的次數。去深入理解原理,了解背後的運作機制,而不是只會喊 complicated。會覺得複雜只是因為還沒有找到對的方法跟不夠理解原理而已。

我很喜歡日文裡中的「開動」跟「吃飽了」都有專門的句子可以說。(いただきます、ご馳走様です)可以讓我安心地表達對店家的感謝。中文裡雖然可以講吃飽了,但不會特地跟店家這樣說,好像也不會特別去講「多謝款待」。所以只能在結帳時說聲「謝謝」。

工作上就算不怎麼喜歡同事,在同一個團隊裡也只能盡可能去幫助對方,達成團隊的目標,還是不行就用忽略大法,彼此對立或猜忌說真的也沒有什麼用。以前也是那種覺得其他人都不懂在那邊擋路,但很多時候只是自己沒有能力把事情講清楚而已

Follow logic, not rules. 這句話應該要砸在那些愛制定規則卻沒有想過執行面會有哪些障礙的偉い人。

被莫名其妙的 security check 卡著沒辦法做自己想要做的事情。就為了形式上的規則虛耗好幾天的時間。

前綴 : 是 pseudo class,:: 是 pseudo element。兩者的定義跟作用不太一樣。

就是因為有一群人想著要為世界做點什麼,我們才得以過上更便利的生活,如果我們鼓勵的不是創造、生產,而是想著如何操弄資本的話,那世界總有一天就變成堆滿金錢的無用社會。如果大家都有錢,錢就沒有用了。

我發現前端工程師的部落格有很大篇幅都在講 JavaScript、講前端框架(包含我自己),所以近期想要把心力放在 CSS 這塊。發現有很多 CSS 的基本知識跟近幾年的變化不一定所有前端工程師都具備。

Repo 花了幾個禮拜把各種設定搞得很炫炮,但核心邏輯跟業務需求一行都還沒開始寫。有點厭倦這種 over engineering 的開發方式。

有時候會覺得自己是常識的東西對其他人很不一樣。在找 root cause 的時候明明是在 console 裡一眼就能看出的東西,有些人找半天找不出來,或是根本搞錯方向。

熱忱什麼的終究還是會消失的嗎?感覺已經沒有三年前那種熱血跟拼勁了。要做小專案時想的東西更多更廣,知道哪裡需要注意,但取而代之的就是從思考到動手的時間變得很長。

同事推薦了一些適合開發者的 Postgre 雲端服務,最後先試用看看 railway,不然 Cloud SQL 真的貴死人。部落格寫到死可能資料也不到 5GB,也沒有重要到要天天備份高可用

Raycast Extension 當中表單功能蠻強大的,完全可以當作簡易 UI 介面使用。剛開始看到 React 心涼了一半,以為是 Electron 實際上背後是客製化的 React Reconciliation,會轉成原生 UI。對我這種想簡單寫出應用又不想要 overhead 的矛盾工程師來說很適合。

Cloud SQL 莫名其妙 ip 被掃瞄到,一直有人在試著登入 DB。想了一下對策,最好的方法當然是資料庫跟 VM 在同一個 subnet 底下,VM 的位址公開。但現在是用 Vercel 部署,在 ip 位址不確定的情況下也只能 0.0.0.0。有設定 SSL 但還是不想要開著給別人 try。

資料庫保守估計一個月大概要 20 鎂。看來要盡可能實作快取了,改天來研究一下 MATERIALIZED VIEW。

部落格改寫完之後整個神清氣爽,大概數個月前就有這樣的想法但一直懶得動手,終於卸下心中的大石頭!

順手把短筆記跟 Raycast 整合,這樣一來就可以直接在 Raycast 的介面直接發文啦 😍