前言#
本篇是對 2023-02-13
到 2023-02-20
這周生活的記錄與思考。
這一周工作和各種自己的項目安排異常滿,雖然其實也不是真的忙到一點睡覺的時間都沒有,但是因為有了很多莫名的焦慮感和低迷情緒,導致常常有些報復性熬夜的傾向,看了看手機給我記錄的每天平均睡眠不足 3 小時。
這周情人節被豆瓣電影日曆觸發了一些心緒,想到了一些過去的事;下定決心折騰了一下買了 ChatGPT Plus,配合上 GitHub Copilot,節省了很多重複性的工作;因為最近一直在折騰這個,還去博譯學姐的財經直播間裡科普了一個小時 AIGC 和 ChatGPT,直播首秀,很新奇的體驗;周末因為實在太壓抑,和朋友去跳海酒館喝了點酒,是難得的放鬆時刻;之前的 Side Project 瘋狂拖延,到了周末幾乎通宵兩天,瘋狂寫前端;參加了 Cusdis v2 的開發團隊,也寫了第一個功能,作為一個後端給第一個比較大的開源項目提的 PR 居然是 Next.js 的,有點離奇;還有很多有意思的事。
開源與前端學習#
雖然自己好像還是挺活躍在 GitHub、推特和博客的,但是因為其實工作年限比較短,而且當前工作也還並不是開源性質的,所以其實並沒有怎麼以代碼貢獻的方式參與過什麼大型的開源項目,倒是幾個 Markdown 和課程作業項目拿了不少 star,讓我常常有些不太好意思。
所以今年年初也還是立了一些 Flag,多多以各種形式參與一些自己感興趣的開源項目,包括在上周自己還給自己定了一個開源預算(詳見『周報 #30 - 開源預算、寫作初心與對技術的謙卑』),也給 RSS3 提了一些 Issues,算是一個好的開始了。
有一個挺有意思的事是看到 Randy 在推特上找一起開發 Cusdis v2 版本的夥伴,我用 Cusdis 已經接近兩年了(即本博客的評論系統),非常喜歡這樣簡約且強大的系統,也幫一些朋友創建或是解決了一些部署和使用的問題,也差不多是移動的廣告牌了。
雖然我不是前端,但因為太感興趣了還是加了 TG 聊了一下,Randy 真的是個很純粹的技術人,也很友好,我簡單陳述了自己的情況和想法後,他讓我先拉一下最新代碼,能跑起來再聊(頓時有點面試的感覺)。
我粗略看了一下代碼結構與命令,因為之前寫 Solidity 一直用的是基於 JavaScript 的 Hardhat 框架,而後面學前端的時候也了解了 TypeScript,所以對包安裝管理、一些基礎命令還是比較熟悉的,只是從 yarn 換成了 pnpm,折騰了一下環境,在伺服器上用 Docker 啟動了一個 PostgreSQL 實例,就運行起來了(後來發現其實本地 sqlite 就可以了,不用繞那麼大一圈)。
然後就是讓我看了一下現在的基礎功能,看看對哪一塊比較感興趣,於是我開始慢慢看代碼,並且還提了一些 v1 版本的 Bug 給他(迅速都修復了,強大的執行力),接著工作項目很忙,就沒開始寫,但是期間看了一本 Randy 寫的 Next.js 開發的小書:
這本書真的超級好,是我寫 Next.js 以來在代碼實踐上講得最清楚的資料了,其中有 Query、Mutation 和通過 Query Invalidation 來強制刷新數據等最佳實踐,也推薦了 Prisma 這個超好用的 ORM 庫,前面的理論講解很清晰易懂,後面還附了兩個實例項目,非常值得一看。
看完這本書後,我廢棄了做了一半的 Side Project 的 Go 後端,花了一整個周末把後端邏輯實現部分在 Next.js 的 api 模塊用 Prisma 連接 PostgreSQL 數據庫的方式重構了,剛開始寫的時候有些不太習慣,在用戶管理和鑑權這一塊一邊看著那本小書的代碼一邊照著修改,後面的其他功能就比較順手了,也算是一個比較完整的實踐了,稱讚一下 Next.js + TailwindCSS + Prisma 的組合帶來了非常好的開發體驗,很適合獨立開發一些項目。
而經過了周末兩天的狂寫代碼,對前端這一塊實現上的信心也增長了不少,於是找 Randy 去領了開發任務,功能不複雜,就是使用 Mutation 實現用戶保存評論提醒所需要的 Webhook 連接配置的邏輯,並且加上一些加載中狀態、toast 提示等效果,但也是一個還不錯的開端。
實現過程還遇到一些問題請教了他,也給了很耐心的解答。最後終於在晚上完成了這個 PR。
其實這種體驗還蠻有意思的,自己在幾乎沒寫過前端項目的時候去嘗試參與開源,得到了很敬佩的開發者的幫助和引導,可能有時候主動一些也會有意料之外的收穫。不過想到自己作為一個區塊鏈後端開發,加入的第一個比較大的開源項目和提的第一個功能性 PR 居然是前端的,也是奇妙的體驗了。
大家有興趣可以嘗試一下 Cusdis,之前也寫過一篇部署介紹的文章可以參考:
ChatGPT#
自己最早就是 GitHub Copilot 內測玩家,第一次用上就驚嘆不已,原來 AI 在代碼這一塊就已經能做到這樣的程度了,後面也持續在使用,大概也有一年多了;後來也同樣高頻用到的是 DeepL 的機器翻譯,質量感覺比 Google 翻譯好很多,也輔助我完成了很多開源的翻譯項目;再之後就是 Notion AI 了,不過因為後來完全從 Notion 轉移到了 Logseq,所以嘗了個鮮就搁置一旁了;同類的還有之前黑五買的 Craft,一個在線筆記軟件,也內置了小助手來優化文本;而最最重磅級的當屬去年年末推出的 ChatGPT 了。
我記得約 11 月底推出,我在 12 月初找在澳洲的倪接了個手機驗證碼開始體驗了。當時就常常用來問一些代碼問題,基本上都能給出比較準確的回答,但由於自己其實還是更偏向於 GitHub Copilot 這種比較無感的方式,而並不想每次都組織一堆語言去問問題,再粘貼代碼回來編輯,所以玩了一陣子其實也就搁置了,只是在學一些新技術的時候偶爾打開看看。
而上周偶然看到自力使用 ChatGPT 作為小助手的用法,很心動,經過一番虛擬信用卡之類的折騰終於搞定了 Plus 會員,20 美元一個月的的不菲開銷讓我開始梳理自己的日常使用需求,最後把編程代碼問題、日語學習、中英翻譯、搜索引擎、文案優化等需求分成了多個對話框進行使用,每天像是有一堆小助手一樣,可熱鬧。
最近有不少寫前端的事,之前雖然也看過課學習過,但是還是有很多細節不算很清楚,這時候面向 ChatGPT 提問和從它的回答中過濾正解以及消化為自己的知識其實也還蠻有效的,而且很偏實戰,也會提出不少新穎的實現思路,語言學習應該也是同理,但還沒來得及好好測試日語學習的效果,後面如果有意思可以記錄一下對話。
有趣的事與物#
輸入#
雖然大部分有意思的輸入會在 『Yu's Life』Telegram 頻道裡自動同步,不過還是挑選一部分在這裡列舉一下,感覺更像一個 newsletter 了。
文章#
- Next.js 應用開發實踐
- 入行 14 年,我還是覺得編程很難 | Piglei
- 馬桶裡的大廠病 - hayami's blog
- Re Issue 25 - 浪漫至死
- The 4 Levels of Personal Knowledge Management - Forte Labs
- Real-world Engineering Challenges #8: Breaking up a Monolith
- Readme Driven Development
播客#
記錄了一些自己在聽的播客:
- ep.2 跳海酒館:世界在下沉,我們要建造 - 牌牌坐 | 小宇宙
- Vol. 84 數碼荔枝:正版軟件生態、獨立開發與遠程辦公 - 枫言枫语 (播客) | Listen Notes
- ChatGPT 的出圈與大佬們的焦慮 - 科技亂炖 (播客) | Listen Notes
- #20 一年一度敗家節目 2022 - 二分電台 (podcast) | Listen Notes
視頻#
同樣的,也有記錄一下看過的有意思的視頻:
個人生活剪影#
跳海酒館#
周末和朋友去了跳海酒館,一個在胡同裡的小小的酒吧,擁擠但算不上嘈雜,卻別有一番熱鬧,裡面寫著大大的 “有人跳海” 四個字。和恰巧來北京出差的朋友暢聊了很久,連這周帶著些陰霾的情緒也緩解了不少,新的一周也要好好調整。
捏捏#
去『跳海酒館』喝了點酒,到家已經大概 1 點,沒多久就昏睡過去。剛迷迷糊糊睜眼發現捏捏似乎湊在我的臉上努力聞著什麼,時不時還用小爪子試探性地碰一下,腦子(重啟後)轉了好一會兒才反應過來她是在擔心我是不是還活著。黑暗中慌忙打開手機抓拍了一張,頓時感受到了些許久違的溫暖和依靠。
她一定知道自己很可愛!
情人節#
不得不說豆瓣電影日曆的選片人還是有點心思的,情人節放花束般的戀愛,然後配上一句:
戀愛就像派對,總有一天會結束。