刷个虎扑,还能刷到自己?-「编程杂感」第 6 期
还是学姐提醒我,我才知道编程杂感系列已经停更了好久。
最近的几个月都在忙着各种琐碎的事情,把这事忘得一干二净。
本文概览(你可以选择自己感兴趣的部分阅读):
思考: 避免货物崇拜编程 复习计算机网络的一点感触 快速阅读的秘诀 工具/网站推荐 一个高质量的编程导航 AI 人工智能图片放大 趣事:刷个虎扑,还能刷到自己? 阅读:我在本周阅读的一些不错的文章 开源:推荐一些不错的开源项目
思考
避免货物崇拜编程
何为货物编程?
维基百科是这样解释的:
货物崇拜编程(Cargo Cult Programming)是一种计算机程序设计中的反模式,其特征为不明就里地、仪式性地使用代码或程序架构。货物崇拜编程通常是程序员既没理解他要解决的 bug、也没理解表面上的解决方案的典型表现。
简单来说,货物编程就是我们不明就理地使用各种框架/优秀实践(比如设计模式)/软件架构,最后把项目搞得像个四不像。
列举一些我身边发生过的实际的例子吧!
看到一些比较火的框架就直接套用在自己的项目上,而不知道这个框架究竟能解决项目上的什么问题?是否适合项目?有没有什么风险? 学习了某个设计模式/工程实践之后,不顾项目实际情况,刻意使用在项目上! 直接复制从网上(比如 Stack Overflow )找到的代码,只要运行 OK 就好。 看到一些比较火的概念就魔怔了,比如前两年开始爆火的中台概念。
相关阅读 :
货物崇拜编程-技术小黑屋[1] 性能调优和船货崇拜-熊节
复习计算机网络的一点感触
G 哥要开始刷计算机基础相关的书籍了。离校已久,发现很多计算机底层的知识都已经忘记了,想要复习一下,毕竟是地基,还是要打的深点(其实主要是为了重构 JavaGuide 上计算机基础部分的内容)。
我的 JavaGuide[2] 上的计算机网络部分的重构日程已经拖了很久。我就想着应该能不能借着这次复习计算机基础,给这个事情画个句号。因此,我是先从计算机网络开始的!
计算机网络的话,大学那会我们使用的谢希仁老师的《计算机网络》这本书。
我当时还参考这本书很认真地做了笔记:《大二逃课总结的 1.2w 字的计算机网络知识!扫盲!》 。
这本书的内容质量确实很高,也很全面,算得上是很棒的教材了。但是,这本书的内容又有点过于枯燥,很多地方讲的都很难理解,有点过于书面语了。
我最近看的计算机网络书籍是 《计算机网络—自顶向下方法》[3] 这本书。国内很多名校开设的课程的教学大纲就是这本书的目录。
从这本书的名字中的“自顶向下(A Top Down Approach)”就能看出,它是从应用层开始讲的,再到运输层->网络层->数据链路层。这样的安排其实更容易让学习计算机网络的人接受。
另外,这本书对于每一层的讲解都非常详细并且容易理解,书中会列举很多日常生活中的例子。并且,每一层的衔接也做的特别好!
快速阅读的秘诀
发现身边很多人喜欢和别人对比读书的速度,觉得读书快是一件非常厉害的事情。
在我看来,抛开书籍本身以及看书人自身水平来谈论读书速度的行为都是耍流氓!
单纯从技术书籍角度来说,有一些技术书籍我需要一两个月甚至一年才能看完,但是,也有一些我一两天就能看完。
一本技术书被很快看完或许有下面几种可能:
你对这本书中所讲内容的认知和书中的作者差不了多少。 这本书的价值对你来说很少很少。
相应地,一本技术书需要很久才能看完或许有下面几种可能:
书中所讲内容超出了你的认知很多。 书中有很多对你来说很有价值的内容,你需要花时间消化吸收。
以下是《Redis 设计与实现》的作者黄健宏大佬在其博文《快速阅读的秘诀》[4]中的分享:
书读的慢并不是一件坏事, 相反, 这恰恰说明你在学习一些以前没接触过的新知识, 这是一件非常棒的事情。你唯一需要做的就是耐着性子继续学习, 丰富自己在该领域的知识积累, 等到你的积累多起来了以后, 你迟早也会读的越来越快。
工具/网站推荐
一个高质量的编程导航
通过编程导航,你可以一站直达很多优质的编程资源,比如优质开源项目、一些不错的学习网站、大厂面试题解和面经、优质的技术博客等等
为了方便查找,编程导航还支持按照 分类专栏、资源名称、标签搜索。
网站地址:https://www.code-nav.cn/recommend[5] 。
AI 人工智能图片放大
这个网站真心厉害了!可以接近无损的将一个小图片给放大。具体原理利用了深度学习技术,使用深度卷积神经网络,将噪点和锯齿的部分进行补充,实现图片的无损放大。
网站地址:https://bigjpg.com/[6] 。
趣事
刷个虎扑,还能刷到自己?
这个事情感觉蛮好笑的。我自己是不玩虎扑的哈,是一位读者在虎扑看篮球赛的时候刷到了我。
在我的印象中,虎扑就是一个偏篮球、游戏以及数码的交流圈子。真是没有想到这里竟然还有人发编程相关的内容。
原帖子地址:https://bbs.hupu.com/42127215.html[7] 。这个帖子是 2021-04-06 17:36:17 发的,阅读量还挺高的!说明我以后还能去虎扑引引流?
其实,看这些人的评论特别是“准备面试,我只看 javaguide!”这句真有点像是我自己找人发的。
不过,真心不是。我真还没有干过这种羞耻的事情,未来也不会干这种事。每天自己都忙的不行,干这些事情的话,那就太特么无聊了吧!
还是一句话:你的东西别人觉得有价值的话,自然会说好!
还有很多号主的读者分享面经的时候提到过我的 JavaGuide ,比如大家应该比较熟悉的汪哥的读者就推荐过老多次我的 JavaGuide。
客套的夸奖终归是虚的!我自己是对 JavaGuide 上面的很多内容是不满意的,比如操作系统、计算机网络,再比如分布式那块的内容。未来几年,持续完善吧! 相信未来也会有越来越多的开源电子书。
阅读
最近两周阅读的一些不错的文章 :
技术 :
字节码增强技术探索 👍👍👍👍👍:从字节码结构开始讲起,再到字节码增强技术 ASM、Javassist。 字节码增强:原理与实战 👍👍👍👍:从动态代理小案例到 JavaAgent 小案例(计算方法执行时间)。可以作为字节码编程的实战小案例来学习。 从 0-1 开发 Java 性能剖析工具 👍👍👍:涉及到了字节码编程!算是一个简单的字节码编程入门小案例。 聊聊二维码扫码登录的原理 👍👍👍👍:二维码登录的具体原理解析。 有哪些可以提高代码质量的书籍推荐? 👍👍👍👍 :推荐了很多对于提供代码和架构质量的经典书籍。 使用 Arthas 排查 SpringBoot 诡异耗时的 Bug 👍👍👍:阿里巴巴云原生的一篇 Arthas 实战。 我在架构设计和代码开发中的一些常用原则 👍👍👍👍:软件开发中必备的一些优秀实践/原则。 这次答应我,一举拿下 I/O 多路复用! 👍👍👍👍 :大量图解,非常精彩! 当程序员具备了抽象思维 👍👍👍👍👍:软件技术本质上就是一门抽象的艺术。
其他 :
如何高效协作绘图?[8] 👍👍👍:通过 Excalidraw 实现协作绘图。 图床搭配 PicGo:打造高效的图片处理工作流[9] 👍👍👍👍👍 我们在努力成为恒星-王兴 👍👍👍👍:介绍了美团创始人王兴的故事,非常精彩。 字节跳动 9 周年,张一鸣最新演讲中的自我认知和团队打造(附全文)[10]👍👍👍👍
开源
最近两周,awesome-java (非常棒的 Java 开源项目集合)这个项目中又添加了 4 个不错的国产开源项目。
ruoyi-vue-pro[11] :基于 SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统。 TLog[12] :一个轻量级的分布式日志标记追踪神器,码云 GVIP 项目。 Forest[13] :轻量级 HTTP 客户端 API 框架,功能强大。相比于 OkHttp 和 HttpClient,它更高层。 Redis Manager[14] :Redis 一站式管理平台,支持集群(cluster、master-replica、sentinel)的监控、安装(除 sentinel)、管理、告警以及基本的数据操作功能。
awesome-java 地址:
Github:https://github.com/CodingDocs/awesome-java[15] Gitee:https://gitee.com/SnailClimb/awesome-java[16](Github 无法访问或者访问速度比较慢的小伙伴可以看码云上的对应内容)
参考资料
货物崇拜编程-技术小黑屋: hrome.google.com/webstore/category/extensions?hl=zh-CN
[2]JavaGuide: https://github.com/Snailclimb/JavaGuide
[3]《计算机网络—自顶向下方法》: 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]如何高效协作绘图?: https://sspai.com/post/65684
[9]图床搭配 PicGo:打造高效的图片处理工作流: https://sspai.com/post/65716
[10]字节跳动 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!简单复盘!
推荐👍 :Github掘金计划:Github上的一些优质项目搜罗