2024 年第 53 周草梅周報:2024 年度項目總結(jié)與展望

前言

歡迎來到草梅周報唠椭!這是一個由草梅友仁基于 AI 整理的周報祭埂,旨在為您提供最新的博客更新套硼、GitHub 動態(tài)、個人動態(tài)和其他周刊文章推薦等內(nèi)容霹疫。


草梅友仁的 2024 年度項目總結(jié)

時間過的真快拱绑,一轉(zhuǎn)眼就到了 2024 年年底,也是時候來個年終總結(jié)了丽蝎。

作為程序員猎拨,衡量標(biāo)準(zhǔn)之一自然是代碼,今年寫的代碼行數(shù)如下:

image-20241229182035528

今年的代碼行數(shù)達到了驚人的 105000+ 行!和去年的 75000 行相比多了快 30000 行落君!

主要代碼量由 rss-impact-server 和 rss-impact-web 貢獻靴拱。

當(dāng)然,單純的代碼行數(shù)是沒什么營養(yǎng)的类腮,只能證明寫了很多代碼。

接下來再看下今年的開源情況蛉加,以下是 GitHub 日歷圖:

image-20241229182825852
image-20241229182714318

可以看出今年是創(chuàng)建相當(dāng)多的開源項目蚜枢。

今年應(yīng)該也是筆者寫開源項目最多的一年了缸逃,也是收獲 stars 數(shù)量最多的一年(在此感謝阮一峰老師推薦),后續(xù)會聊聊開源方面的心得厂抽。

開發(fā) RSS Impact 的得與失

今年我個人在代碼開發(fā)方面跟往年有一個很大的不同需频,那就是極大的增加了開源項目的時間投入。

image-20241229191609686
image-20241229191718960

和往年相比筷凤,今年的貢獻日歷可謂一片綠昭殉。

在此之中,rss-impact-serverrss-impact-web 又是投入時間最多的藐守。

事情的起因還要追溯到上半年寫的一篇文章:《2024-02-25 RSS 使用的最佳實踐 RSSHub+FluentReader+FreshRSS》挪丢。

在這篇博客中,我提到了 rsspush 沒有達到我理想的程度卢厂。

為此乾蓬,才開發(fā)了 RSS Impact。

RSS Impact 是一個支持 Hook 的 RSS 訂閱工具慎恒。

rss-impact-server 支持 RSS 推送/RSS 下載/RSS AI 總結(jié)等功能任内。

甚至還得到過阮一峰老師的推薦,登上過 科技愛好者周刊融柬,GitHub Stars 也快速增加死嗦,一度前途無量。

image-20241229193603905

但很遺憾的是粒氧,這個項目還是撲街了越除。

用戶數(shù)在那一段時間的高峰過后就再起不能了,連創(chuàng)建過 Hook 的用戶都寥寥無幾外盯,根本沒人使用過 RSS Impact 的核心功能廊敌。

image-20241117200048690

再后來,見識到 Follow 和它的 自動化功能 之后门怪,我就意識到一件事情骡澈,RSS Impact 是競爭不過 Follow 的。

因此掷空,我選擇了打不過就加入肋殴,在未來,RSS Impact增加 Follow Action 支持坦弟。

至此护锤,RSS Impact 的開發(fā)陷入了瓶頸。

就本次開發(fā)經(jīng)歷酿傍,我可以給出一些寫開源項目的教訓(xùn):

  1. 前期調(diào)研很重要烙懦,需要調(diào)查清楚 GitHub 上是否已存在相同定位的項目。
    1. 如果有赤炒,不妨先看下他們是怎么做的氯析,然后分析這些項目的優(yōu)點與缺點亏较,并對優(yōu)點加以學(xué)習(xí),缺點加以改進掩缓。
    2. 如果沒有雪情,意味著開創(chuàng)了一個先河,雖然成功的可能性很小你辣,但不妨就試一下吧巡通,萬一成功了呢?
  2. 避免和熱門項目競爭舍哄,要找出新的賽道宴凉,最好是細(xì)分賽道,這樣競爭小一點表悬。
  3. 從項目可以跑開始就需要找用戶來試用跪解,沒有反饋就沒有改進,不要想著改的差不多了才給用戶使用签孔,你以為的需求很可能只是偽需求,并不是用戶真正想要的窘行。(以 RSS Impact 為例饥追,一個 RSS 閱讀器 + Action,顯然會比一個純 RSS Action 觸發(fā)工具更好用罐盔,你所謂的核心功能但绕,只是別人的附加項)
  4. 使用門檻盡可能低,最好讓用戶一鍵安裝就可以使用惶看,或者訪問網(wǎng)頁就可以使用捏顺。
  5. 用戶界面很重要,UI 需要認(rèn)真設(shè)計纬黎,盡可能簡化用戶操作幅骄。同時最好提供多端兼容,比如同時支持桌面端和手機端訪問本今。
  6. 用戶文檔很重要拆座,既沒有文檔又沒有用戶引導(dǎo),用戶使用起來會非常困難冠息,難以上手挪凑。

總之,寫開源項目最大的困難不在于編寫代碼逛艰,而是如何將你的項目推廣出去躏碳,沒有用戶,就沒有一切散怖。

因此菇绵,這才有最優(yōu)秀的獨立開發(fā)者肄渗,必定是最優(yōu)秀的推銷員的說法。

博客更新情況

今年博客的數(shù)量是 23 篇(含本篇)脸甘,相較于去年有所減少恳啥,主要是有很長一段時間忙到?jīng)]時間寫博客。

但今年在博客寫作方面倒也有所創(chuàng)新丹诀,那就是創(chuàng)立了《草梅周報》這個周更博客钝的。

雖然不是每次都能寫出點東西,但和之前啥都寫不出相比铆遭,《草梅周報》的存在確實讓我有更多的動力去寫博客了(當(dāng)然硝桩,更新壓力也更大了)。

應(yīng)該說枚荣,AI 大模型的出現(xiàn)碗脊,對博客寫作也是有很大幫助的,比如總結(jié)橄妆、標(biāo)簽衙伶、分類等工作就可以直接交給 AI 大模型來完成了。

《草梅周報》本身也是借助 AI 大模型來實現(xiàn)自動化的害碾,可以說矢劲,沒有 AI 的話,就沒有《草梅周報》慌随。

就我目前對《草梅周報》的定位而言芬沉,《草梅周報》主要是同步我個人的博客更新、GitHub 動態(tài)和個人動態(tài)阁猜。

其中一些比較小的話題丸逸,就會直接放在《草梅周報》的前言里講完,如果要講的話題比較大剃袍,則會開一篇新的博客(目前還沒有遇到)黄刚。

今年相較于去年的話,在發(fā)布平臺上多了一個 Memos民效,也不知道有沒有人是通過該渠道訂閱的隘击。

此外,年中的時候還折騰過 WordPress研铆,一度產(chǎn)生過要遷移博客到 WordPress 的想法埋同。

可惜最后折騰了半天,發(fā)現(xiàn) WordPress 的性能實在不能讓人滿意棵红,最后還是決定放棄了凶赁,明年就直接停用 WordPress 了。

目前博客還是會基于 Hexo 發(fā)布,純靜態(tài)博客還是比較符合我目前的需求虱肄。

今年總結(jié)與展望未來

今年的話比去年忙很多致板,無論是工作還是開源,亦或者游戲咏窿,都比去年多很多斟或。

今年最大的一個感受就是感覺時間不夠用,想做的事情太多集嵌,能用的時間太少萝挤。

另外,在副業(yè)探索上也很不順利根欧,無論是 Timing Push 還是 RSS Impact怜珍,都沒有取得成功,回報率幾乎為 0凤粗。

雖然人人都說要做副業(yè)來增加收入酥泛,但副業(yè)又豈是那么好做的?沒有足夠的時間和精力投入嫌拣,又怎能取得成功柔袁?

因此,明年還是要在副業(yè)和開源上增加時間投入异逐,寫出更好的項目才行捶索。

當(dāng)然了,今年取得的教訓(xùn)還是要稍微避免一下应役,以免重蹈覆轍。

Scoop:更適合程序員的軟件管理工具

最近重裝了系統(tǒng)燥筷,導(dǎo)致要從頭開始裝軟件箩祥。

作為程序員,自然是不能做重復(fù)工作肆氓。

因此袍祖,這一次,選擇了 Scoop 這個軟件管理工具來安裝需要的軟件谢揪,例如代碼開發(fā)工具蕉陋、編程語言運行時以及一般項工具(包含游戲、視頻等軟件)拨扶。

以下是我寫的一個 PowerShell 腳本凳鬓,用于批量安裝軟件。

# 安裝 Scoop
if (-not (Get-Command scoop -ErrorAction SilentlyContinue)) {
    Write-Host "正在安裝 Scoop..."
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
    Invoke-RestMethod get.scoop.sh | Invoke-Expression
    Write-Host "Scoop 安裝完成患民。"
} else {
    Write-Host "Scoop 已安裝缩举。"
}

# 添加源
scoop bucket add extras
scoop bucket add java
scoop bucket add nerd-fonts
scoop bucket add dorado
scoop bucket add php
scoop bucket add versions
scoop bucket add nonportable
scoop bucket add games

# 定義要安裝的軟件列表
$apps = @(
    "git", # 用于代碼管理、scoop 安裝軟件等
    "aria2", # 用于加速下載文件
    "sudo", # 用于管理員權(quán)限
    "7zip", # 用于壓縮文件
    "zip",  # 用于壓縮文件
    "gzip", # 用于壓縮文件
    "chsrc", # 用于切換鏡像源
    "bun", # 用于JavaScript開發(fā)
    "curl", # 用于網(wǎng)絡(luò)請求
    "tcping", # 用于網(wǎng)絡(luò)測試
    "dark", # 用于設(shè)置主題
    "ffmpeg", # 用于視頻、音頻等處理
    "gnupg", # 用于加密
    "openssh", # 用于SSH
    "nvm", # 用于Node.js版本管理
    "openjdk", # 用于Java開發(fā)
    "gradle", # 用于Java依賴管理
    "python", # 用于Python開發(fā)
    "miniconda3", # 用于Python環(huán)境管理
    "php", # 用于PHP開發(fā)
    "composer", # 用于PHP依賴管理
    "go",   # 用于Go開發(fā)
    "googlechrome", # 用于瀏覽器
    "localsend", # 用于文件傳輸
    "everything", # 用于文件搜索
    "dbeaver", # 用于數(shù)據(jù)庫管理
    "another-redis-desktop-manager", # 用于Redis管理
    "sqlitestudio", # 用于SQLite管理
    "robo3t", # 用于MongoDB管理
    "notepadplusplus", # 用于文本編輯器
    "vscode", # 用于代碼編輯器
    "idea", # 用于Java開發(fā)
    "android-studio", # 用于Android開發(fā)
    "parsec", # 用于遠(yuǎn)程桌面
    "obs-studio", # 用于錄屏仅孩、直播
    "qbittorrent", # 用于BT下載
    "heynote", # 用于筆記
    "typora", # 用于Markdown編輯器
    "postman", # 用于接口測試
    "treesize-free", # 用于查看文件夾大小
    "picgo", # 用于圖床
    "tabby", # 用于終端托猩、SSH
    "fluent-reader", # 用于RSS閱讀
    "games/steam", # 用于游戲
    "epic-games-launcher", # 用于游戲
    "potplayer", # 用于視頻播放
    "qq", # 用于QQ
    "wechat", # 用于微信
    "fscapture", # 用于截圖
    "waifu2x-caffe", # 用于圖片放大
    # 最后安裝 cuda,因為體積較大辽慕,拖慢整個安裝過程京腥。
    "cuda", # 用于GPU加速
    "ollama", # 用于LLM
)

# 安裝軟件
foreach ($app in $apps) {
    Write-Host "正在安裝 $app..."
    scoop install $app
    Write-Host "$app 安裝完成。"
}

# 安裝 Node.js 最新版本
Write-Host "正在安裝 Node.js 最新版本..."
nvm install latest
nvm use latest
npm i -g pnpm --registry=https://registry.npmmirror.com
Write-Host "Node.js 最新版本安裝完成溅蛉。"

# 使用 chsrc 設(shè)置鏡像源
Write-Host "正在設(shè)置鏡像源..."
chsrc set node
chsrc set nvm
chsrc set java
chsrc set python
chsrc set conda 
chsrc set go
chsrc set php
Write-Host "鏡像源設(shè)置完成公浪。"

Write-Host "所有軟件安裝完成。"

有部分軟件需要代理才能下載温艇,可以考慮切換鏡像因悲。

一個腳本就把絕大部分需要的軟件給下載好了。

接下來說下 scoop 使用上的小技巧勺爱。

默認(rèn)情況下晃琳,scoop 會把軟件安到用戶目錄,也就是 C 盤里琐鲁。

這對于部分 C 盤不足的人來說是比較難受的卫旱。

不過可以通過修改 SCOOP 環(huán)境變量來指定當(dāng)前用戶安裝目錄,這樣就可以把軟件裝到其他盤围段,例如 D 盤里顾翼。

然后就是,對于部分有 GUI 的軟件奈泪,scoop 默認(rèn)情況下并不會在桌面創(chuàng)建快捷方式适贸,因此有時候會出現(xiàn)找不到對應(yīng)的軟件的情況。

此時可以從菜單目錄復(fù)制對應(yīng)的快捷方式到桌面涝桅,就可以解決這個問題拜姿。

image-20241229184234737

當(dāng)然也可以自己創(chuàng)建一下快捷方式

更多內(nèi)容可參考這篇文章 《基于 Scoop 定制屬于你自己的 Windows 應(yīng)用源倉庫》


2024 JavaScript 生態(tài)報告

數(shù)據(jù)來源:2024 JavaScript 生態(tài)報告

最近看了下《2024 JavaScript 生態(tài)報告》冯遂,發(fā)現(xiàn)了一些有意思的內(nèi)容蕊肥,在此做個轉(zhuǎn)載。

在開始之前蛤肌,還是要先說明幾句壁却。

由于主要調(diào)查對象是美國程序員,中國的較少裸准,因此該報告無法反映國內(nèi) JavaScript 生態(tài)的情況展东。

不過,作為參考炒俱,可以了解全世界程序員目前對 JavaScript 生態(tài)的一些看法琅锻。

image-20241229184712910

中國也就占 1%卦停,所以這個數(shù)據(jù)不反應(yīng)國內(nèi)情況。

image-20241229184849748

在代碼庫滿意程度一欄中恼蓬,Vite惊完、Vitest 等庫一騎絕塵。而另外幾個以性能見長的庫处硬,例如 pnpm小槐、esbuild 等,也飽受歡迎荷辕。

與此對應(yīng)的是凿跳,性能相對沒那么出眾的 Angular、webpack 等疮方,則沒那么受歡迎控嗜。

可見,在 2024 年的今天骡显,運行性能已經(jīng)成為了十分重要的指標(biāo)疆栏,將直接決定了你的代碼庫是否受歡迎。

image-20241229185251739

另外惫谤,我還關(guān)注了一下 JavaScript 運行時的情況壁顶。

Node.js 本體還是一騎絕塵,使用率高達 91%溜歪,而瀏覽器也不遑多讓若专,達到了 83%。

由于調(diào)查對象本身就是前段程序員居多蝴猪,出現(xiàn)這樣的情況也很正常调衰。

雖然像 Deno、Bun 這樣新的 JavaScript 運行時已經(jīng)出現(xiàn)自阱,并且性能更高嚎莉,但考慮到 Node.js 本身龐大的生態(tài),讓人放棄 Node.js 轉(zhuǎn)向 Deno 或 Bun 也不是一件容易的事情动壤。

image-20241229190135380

除此之外萝喘,我還看了下無服務(wù)器運行時的使用情況淮逻,AWS Lambda琼懊、Vercel Edge Runtime、Cloudflare Workers 是最多的爬早。

由于今年開始使用 Hono 作為后端開發(fā)框架哼丈,因此研究了下無服務(wù)器運行時的使用。

相較于單機部署筛严,借助邊緣函數(shù)或無服務(wù)器運行時醉旦,可以極大的降低并發(fā)壓力,避免負(fù)載均衡、自動容災(zāi)等復(fù)雜問題车胡。

當(dāng)然了檬输,使用無服務(wù)器運行時的缺點也就在于和云服務(wù)平臺綁定了,因此匈棘,我建議采用 漸進式云函數(shù) 開發(fā)來解決這個問題丧慈。

以 Hono 為例,既可以運行在 Cloudflare Workers主卫、Vercel Edge Runtime 等云服務(wù)平臺逃默,也可以運行在 Node.js 上,那么就可以通過同構(gòu)來實現(xiàn)多種部署方式簇搅,具體可參考 hono-template完域。

image-20241229190904518

在非 JavaScript 語言中,Python 的使用率是最高的瘩将,我個人也是如此吟税,Python 基本上是除了 JavaScript 外的第二選擇。

而 PHP 還有那么高的使用率是我沒想到的鸟蟹,可能是因為我用的太少了乌妙。

image-20241229191124120

最近兩年的編程和以往有一個很大的不同,那就是 AI 工具已經(jīng)深入到編程的方方面面建钥,以至于不可能避開藤韵。

我個人是從今年下半年才開始使用 AI 來加速編程,使用體會就是應(yīng)該早點用 AI 的熊经!

用 AI 開發(fā)真的是太舒服了泽艘,很多簡單的改動都可以直接完成。

不過镐依,對于 AI 輸出的結(jié)果匹涮,還是需要人來把關(guān),因為 AI 輸出的結(jié)果有好有壞槐壳,有時候還會讓項目崩潰然低。

其他周刊推薦

阮一峰的網(wǎng)絡(luò)日志

HelloGitHub 月刊

總結(jié)

本周的更新和動態(tài)如上所示。感謝您的閱讀务唐!
您可以通過以下方式訂閱草梅周報的更新:

往期回顧

本文作者:草梅友仁

本文地址:2024 年第 53 周草梅周報:2024 年度項目總結(jié)與展望

版權(quán)聲明:本文采用 CC BY-NC-SA 4.0 協(xié)議 進行分發(fā),轉(zhuǎn)載請注明出處枫笛!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吨灭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子刑巧,更是在濱河造成了極大的恐慌喧兄,老刑警劉巖无畔,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吠冤,居然都是意外死亡浑彰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門拯辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闸昨,“玉大人,你說我怎么就攤上這事薄风《希” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵遭赂,是天一觀的道長循诉。 經(jīng)常有香客問我,道長撇他,這世上最難降的妖魔是什么茄猫? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮困肩,結(jié)果婚禮上划纽,老公的妹妹穿的比我還像新娘。我一直安慰自己锌畸,他們只是感情好勇劣,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著潭枣,像睡著了一般比默。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盆犁,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天命咐,我揣著相機與錄音,去河邊找鬼谐岁。 笑死醋奠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伊佃。 我是一名探鬼主播窜司,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锭魔!你這毒婦竟也來了例证?” 一聲冷哼從身側(cè)響起路呜,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤迷捧,失蹤者是張志新(化名)和其女友劉穎织咧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漠秋,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡笙蒙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了庆锦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捅位。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搂抒,靈堂內(nèi)的尸體忽然破棺而出艇搀,到底是詐尸還是另有隱情,我是刑警寧澤求晶,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布焰雕,位于F島的核電站,受9級特大地震影響芳杏,放射性物質(zhì)發(fā)生泄漏矩屁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一爵赵、第九天 我趴在偏房一處隱蔽的房頂上張望吝秕。 院中可真熱鬧,春花似錦空幻、人聲如沸烁峭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽则剃。三九已至,卻和暖如春如捅,著一層夾襖步出監(jiān)牢的瞬間棍现,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工镜遣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留己肮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓悲关,卻偏偏與公主長得像谎僻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寓辱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容