刷個虎撲,還能刷到自己?-「編程雜感」第 6 期
還是學(xué)姐提醒我,我才知道編程雜感系列已經(jīng)停更了好久。
最近的幾個月都在忙著各種瑣碎的事情,把這事忘得一干二凈。
本文概覽(你可以選擇自己感興趣的部分閱讀):
思考: 避免貨物崇拜編程 復(fù)習(xí)計算機網(wǎng)絡(luò)的一點感觸 快速閱讀的秘訣 工具/網(wǎng)站推薦 一個高質(zhì)量的編程導(dǎo)航 AI 人工智能圖片放大 趣事:刷個虎撲,還能刷到自己? 閱讀:我在本周閱讀的一些不錯的文章 開源:推薦一些不錯的開源項目
思考
避免貨物崇拜編程
何為貨物編程?
維基百科是這樣解釋的:
貨物崇拜編程(Cargo Cult Programming)是一種計算機程序設(shè)計中的反模式,其特征為不明就里地、儀式性地使用代碼或程序架構(gòu)。貨物崇拜編程通常是程序員既沒理解他要解決的 bug、也沒理解表面上的解決方案的典型表現(xiàn)。
簡單來說,貨物編程就是我們不明就理地使用各種框架/優(yōu)秀實踐(比如設(shè)計模式)/軟件架構(gòu),最后把項目搞得像個四不像。
列舉一些我身邊發(fā)生過的實際的例子吧!
看到一些比較火的框架就直接套用在自己的項目上,而不知道這個框架究竟能解決項目上的什么問題?是否適合項目?有沒有什么風(fēng)險? 學(xué)習(xí)了某個設(shè)計模式/工程實踐之后,不顧項目實際情況,刻意使用在項目上! 直接復(fù)制從網(wǎng)上(比如 Stack Overflow )找到的代碼,只要運行 OK 就好。 看到一些比較火的概念就魔怔了,比如前兩年開始爆火的中臺概念。
相關(guān)閱讀 :
貨物崇拜編程-技術(shù)小黑屋[1] 性能調(diào)優(yōu)和船貨崇拜-熊節(jié)
復(fù)習(xí)計算機網(wǎng)絡(luò)的一點感觸
G 哥要開始刷計算機基礎(chǔ)相關(guān)的書籍了。離校已久,發(fā)現(xiàn)很多計算機底層的知識都已經(jīng)忘記了,想要復(fù)習(xí)一下,畢竟是地基,還是要打的深點(其實主要是為了重構(gòu) JavaGuide 上計算機基礎(chǔ)部分的內(nèi)容)。

我的 JavaGuide[2] 上的計算機網(wǎng)絡(luò)部分的重構(gòu)日程已經(jīng)拖了很久。我就想著應(yīng)該能不能借著這次復(fù)習(xí)計算機基礎(chǔ),給這個事情畫個句號。因此,我是先從計算機網(wǎng)絡(luò)開始的!

計算機網(wǎng)絡(luò)的話,大學(xué)那會我們使用的謝希仁老師的《計算機網(wǎng)絡(luò)》這本書。

我當(dāng)時還參考這本書很認真地做了筆記:《大二逃課總結(jié)的 1.2w 字的計算機網(wǎng)絡(luò)知識!掃盲!》 。
這本書的內(nèi)容質(zhì)量確實很高,也很全面,算得上是很棒的教材了。但是,這本書的內(nèi)容又有點過于枯燥,很多地方講的都很難理解,有點過于書面語了。
我最近看的計算機網(wǎng)絡(luò)書籍是 《計算機網(wǎng)絡(luò)—自頂向下方法》[3] 這本書。國內(nèi)很多名校開設(shè)的課程的教學(xué)大綱就是這本書的目錄。

從這本書的名字中的“自頂向下(A Top Down Approach)”就能看出,它是從應(yīng)用層開始講的,再到運輸層->網(wǎng)絡(luò)層->數(shù)據(jù)鏈路層。這樣的安排其實更容易讓學(xué)習(xí)計算機網(wǎng)絡(luò)的人接受。
另外,這本書對于每一層的講解都非常詳細并且容易理解,書中會列舉很多日常生活中的例子。并且,每一層的銜接也做的特別好!

快速閱讀的秘訣
發(fā)現(xiàn)身邊很多人喜歡和別人對比讀書的速度,覺得讀書快是一件非常厲害的事情。
在我看來,拋開書籍本身以及看書人自身水平來談?wù)撟x書速度的行為都是耍流氓!
單純從技術(shù)書籍角度來說,有一些技術(shù)書籍我需要一兩個月甚至一年才能看完,但是,也有一些我一兩天就能看完。
一本技術(shù)書被很快看完或許有下面幾種可能:
你對這本書中所講內(nèi)容的認知和書中的作者差不了多少。 這本書的價值對你來說很少很少。
相應(yīng)地,一本技術(shù)書需要很久才能看完或許有下面幾種可能:
書中所講內(nèi)容超出了你的認知很多。 書中有很多對你來說很有價值的內(nèi)容,你需要花時間消化吸收。
以下是《Redis 設(shè)計與實現(xiàn)》的作者黃健宏大佬在其博文《快速閱讀的秘訣》[4]中的分享:
書讀的慢并不是一件壞事, 相反, 這恰恰說明你在學(xué)習(xí)一些以前沒接觸過的新知識, 這是一件非常棒的事情。你唯一需要做的就是耐著性子繼續(xù)學(xué)習(xí), 豐富自己在該領(lǐng)域的知識積累, 等到你的積累多起來了以后, 你遲早也會讀的越來越快。

工具/網(wǎng)站推薦
一個高質(zhì)量的編程導(dǎo)航
通過編程導(dǎo)航,你可以一站直達很多優(yōu)質(zhì)的編程資源,比如優(yōu)質(zhì)開源項目、一些不錯的學(xué)習(xí)網(wǎng)站、大廠面試題解和面經(jīng)、優(yōu)質(zhì)的技術(shù)博客等等
為了方便查找,編程導(dǎo)航還支持按照 分類專欄、資源名稱、標簽搜索。

網(wǎng)站地址:https://www.code-nav.cn/recommend[5] 。
AI 人工智能圖片放大
這個網(wǎng)站真心厲害了!可以接近無損的將一個小圖片給放大。具體原理利用了深度學(xué)習(xí)技術(shù),使用深度卷積神經(jīng)網(wǎng)絡(luò),將噪點和鋸齒的部分進行補充,實現(xiàn)圖片的無損放大。

網(wǎng)站地址:https://bigjpg.com/[6] 。
趣事
刷個虎撲,還能刷到自己?
這個事情感覺蠻好笑的。我自己是不玩虎撲的哈,是一位讀者在虎撲看籃球賽的時候刷到了我。

在我的印象中,虎撲就是一個偏籃球、游戲以及數(shù)碼的交流圈子。真是沒有想到這里竟然還有人發(fā)編程相關(guān)的內(nèi)容。

原帖子地址:https://bbs.hupu.com/42127215.html[7] 。這個帖子是 2021-04-06 17:36:17 發(fā)的,閱讀量還挺高的!說明我以后還能去虎撲引引流?
其實,看這些人的評論特別是“準備面試,我只看 javaguide!”這句真有點像是我自己找人發(fā)的。
不過,真心不是。我真還沒有干過這種羞恥的事情,未來也不會干這種事。每天自己都忙的不行,干這些事情的話,那就太特么無聊了吧!
還是一句話:你的東西別人覺得有價值的話,自然會說好!
還有很多號主的讀者分享面經(jīng)的時候提到過我的 JavaGuide ,比如大家應(yīng)該比較熟悉的汪哥的讀者就推薦過老多次我的 JavaGuide。

客套的夸獎終歸是虛的!我自己是對 JavaGuide 上面的很多內(nèi)容是不滿意的,比如操作系統(tǒng)、計算機網(wǎng)絡(luò),再比如分布式那塊的內(nèi)容。未來幾年,持續(xù)完善吧! 相信未來也會有越來越多的開源電子書。
閱讀
最近兩周閱讀的一些不錯的文章 :
技術(shù) :
字節(jié)碼增強技術(shù)探索 ??????????:從字節(jié)碼結(jié)構(gòu)開始講起,再到字節(jié)碼增強技術(shù) ASM、Javassist。 字節(jié)碼增強:原理與實戰(zhàn) ????????:從動態(tài)代理小案例到 JavaAgent 小案例(計算方法執(zhí)行時間)??梢宰鳛樽止?jié)碼編程的實戰(zhàn)小案例來學(xué)習(xí)。 從 0-1 開發(fā) Java 性能剖析工具 ??????:涉及到了字節(jié)碼編程!算是一個簡單的字節(jié)碼編程入門小案例。 聊聊二維碼掃碼登錄的原理 ????????:二維碼登錄的具體原理解析。 有哪些可以提高代碼質(zhì)量的書籍推薦? ???????? :推薦了很多對于提供代碼和架構(gòu)質(zhì)量的經(jīng)典書籍。 使用 Arthas 排查 SpringBoot 詭異耗時的 Bug ??????:阿里巴巴云原生的一篇 Arthas 實戰(zhàn)。 我在架構(gòu)設(shè)計和代碼開發(fā)中的一些常用原則 ????????:軟件開發(fā)中必備的一些優(yōu)秀實踐/原則。 這次答應(yīng)我,一舉拿下 I/O 多路復(fù)用! ???????? :大量圖解,非常精彩! 當(dāng)程序員具備了抽象思維 ??????????:軟件技術(shù)本質(zhì)上就是一門抽象的藝術(shù)。
其他 :
如何高效協(xié)作繪圖?[8] ??????:通過 Excalidraw 實現(xiàn)協(xié)作繪圖。 圖床搭配 PicGo:打造高效的圖片處理工作流[9] ?????????? 我們在努力成為恒星-王興 ????????:介紹了美團創(chuàng)始人王興的故事,非常精彩。 字節(jié)跳動 9 周年,張一鳴最新演講中的自我認知和團隊打造(附全文)[10]????????
開源
最近兩周,awesome-java (非常棒的 Java 開源項目集合)這個項目中又添加了 4 個不錯的國產(chǎn)開源項目。
ruoyi-vue-pro[11] :基于 SpringBoot,Spring Security,JWT,Vue & Element 的前后端分離權(quán)限管理系統(tǒng)。 TLog[12] :一個輕量級的分布式日志標記追蹤神器,碼云 GVIP 項目。 Forest[13] :輕量級 HTTP 客戶端 API 框架,功能強大。相比于 OkHttp 和 HttpClient,它更高層。 Redis Manager[14] :Redis 一站式管理平臺,支持集群(cluster、master-replica、sentinel)的監(jiān)控、安裝(除 sentinel)、管理、告警以及基本的數(shù)據(jù)操作功能。
awesome-java 地址:
Github:https://github.com/CodingDocs/awesome-java[15] Gitee:https://gitee.com/SnailClimb/awesome-java[16](Github 無法訪問或者訪問速度比較慢的小伙伴可以看碼云上的對應(yīng)內(nèi)容)

參考資料
貨物崇拜編程-技術(shù)小黑屋: hrome.google.com/webstore/category/extensions?hl=zh-CN
[2]JavaGuide: https://github.com/Snailclimb/JavaGuide
[3]《計算機網(wǎng)絡(luò)—自頂向下方法》: https://book.douban.com/subject/30280001/
[4]《快速閱讀的秘訣》: https://blog.huangz.me/2021/how-to-read-fast.html
[5]https://www.code-nav.cn/recommend: https://www.code-nav.cn/recommend
[6]https://bigjpg.com/: https://bigjpg.com/
[7]https://bbs.hupu.com/42127215.html: https://bbs.hupu.com/42127215.html
[8]如何高效協(xié)作繪圖?: https://sspai.com/post/65684
[9]圖床搭配 PicGo:打造高效的圖片處理工作流: https://sspai.com/post/65716
[10]字節(jié)跳動 9 周年,張一鳴最新演講中的自我認知和團隊打造(附全文): https://www.huxiu.com/article/418732.html
[11]ruoyi-vue-pro: https://github.com/YunaiV/ruoyi-vue-pro
[12]TLog: https://gitee.com/dromara/TLog
[13]Forest: https://gitee.com/dromara/forest
[14]Redis Manager: https://github.com/ngbdf/redis-manager
[15]https://github.com/CodingDocs/awesome-java: https://github.com/CodingDocs/awesome-java
[16]https://gitee.com/SnailClimb/awesome-java: https://gitee.com/SnailClimb/awesome-java
推薦?? :1049天,100K!簡單復(fù)盤!
推薦?? :Github掘金計劃:Github上的一些優(yōu)質(zhì)項目搜羅
