💡
你正在阅读 稻草人周刊 的第 6 期,我会在这里分享最近的有意思的事情、思考、阅读和体会。

🏃

www.guhub.cn 这个域名空了好久,我终于把它填上了。

Bento 风格的新主页

这种风格叫做 Bento,是日语里「饭盒」的意思。虽然设计风格不算新了,但之前一直没有用到个人网站上的灵感。前几天偶然发现 ImQi1 的播客,觉得他的关于页面令人眼前一亮,用的也是 Bento 风格。

便想要自己用 Vue 写一个,就有了现在这个主页。做这个页面还有另一个心思,就是想要练习「做小事」。因为自己容易陷入完美主义的拖延症当中,所以就给自己限定时间把一个小项目做完。

正因为真的很简单,就越容易陷入过度打磨当中,然后迟迟不肯发布。比如我现在还想往技术栈那一个卡片里加上 Hugo 和 MySQL 的徽标,想要打磨一下页面在小屏幕上的样式,但我知道,如果我继续的话,我就停不下来了。

如果你也是独立开发者,我认为你我都需要一种,能够毫无波澜地把一堆充满了潜在 bug 和各种待重构的屎山代码推送到生产环境的勇气。拥抱 MVP(最小可行性产品),先让世界看到你的想法。

🤔

重构(refactor)到底是什么意思?

虽然是软件工程专业的学生,但还没开始正经地研究软件工程学。重构这个常见的概念,我其实一直不知道具体的意思。我发现我身边的不少人用「重构」这个词的时候,其实非常混乱,似乎都不是一个意思。

第一次接触到「重构」这个词,大概是高中的时候写 Typecho 主题,圈子里有不少开发者会「重构主题」,我自己也效仿过。当时我的理解就是,把相同设计的程序重新写一遍,就算重构了。这个理解其实不错,但也不对。

我接触版本管理也比较早,git commit summary 的编写规范也有所了解。这个 summary 就是在 git 仓库中递交(commit)一次更改时,用来描述这次更改内容的信息。主流的格式是 <type>(<scope>): <subject>,其中 type 指类型,比如 feat 表示添加了新特性(feature),还有一个是 refactor,也就是重构。我当时没多想,只是疑惑:这个操作有那么常见吗?重构这样的大操作,居然可以写在一个 commit 里吗?

开始学 Java 之后,自然接触到了 IntelliJ IDEA 这个集成开发环境。第一次用的时候,我找不到重命名(Rename)在哪。后来才发现,Rename 被归属到 Refactor 下了。我心生疑惑:重命名这样简单的操作怎么就算重构了呢?但我也没多想,只是记住了,在写代码的时候,重命名也算一种「重构」操作。

直到这周,我终于搜索了「重构」的意思。维基百科给出的定义如下:

代码重构(英语:code refactoring)指对软件代码做一些改动以增加可读性或者简化代码结构而不影响输出结果。

……

软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码1

所以,把主题重写一遍,但是设计不变,只是从整体上优化结构,的确是「重构」,因为它没有改变代码的外部行为;简单地给文件重命名,也确实对代码进行了更改,代码的外部行为没有变,因此也算「重构」。重构这个操作不论大小,的确很常见。

我认为我遇到了一个叫做「前置引用」的现象,就是一个概念在我大脑中定义之前就出现在了其他定义中。简单来说,就是我过早地接触到了我没学过的东西,但这种「过早」并不是错的,甚至是难以避免的,在学习任何东西时都会遇到「前置引用」。在理解某个新概念的时候,往往会在他的定义中遇到另一个陌生的概念。

可以尝试的解决方法:

  1. 感到疑惑时就立刻去查
  2. 如果不妨碍现在的理解,就不管,把更多的精力放在当下需要理解的东西上

知识本质上也还是信息,真正重要的信息,你早晚会知道的,囫囵吞枣不是好事。

如果你想要了解更多有关前置引用的内容,可以阅读《关于前置引用现象,学习卡顿的根源

深柜男同的既要又要

看到《你看你,像不像它》这篇文章,大家都在讨论那个多管闲事的网友,不过我在博主的评论区里发现了一些有意思的东西:

😁 川渝地区的gay,有很多gay自我认同都有障碍,他们焦虑、担心自己真的变成gay,然并卵。

我也是川渝的,读到博主的这条回复我不禁会想了一下我认识的、符合这种描述的人,还真不少。之前没什么感觉,现在回想起来,是会觉得有些离谱的。

初中有个男同学,知道我喜欢宝可梦,所以《皮卡丘大侦探》上映的时候就约了我出去。当时我以为会有别人,结果等我们上电梯的时候,跟他同行的一个朋友离开了过后,我才发现不对劲,但也没多想。由于当时是个上初中的小孩子,很幼稚,所以看电影的时候一直在跟他讲电影里出现的那只宝可梦叫什么名字,他听得意外地认真,给人一种「听你讲话好有意思哦」的姿态。

事情过了一两年我才后知后觉:我当时是被泡了?我回忆起和这位男同学的其他互动。有一次他突然加速走上来和我并肩走,然后搀住我的手。我表示不解,他故作强硬地说了一句「不可以吗?」,见我没什么反应就撒手,神色怪异地走开了。

还有一次,我隐约记得是某次模拟考试,我们站在走廊上。他背对着我站在我前面,突然用臀撞我的胯部(对,就是你脑子里想的那样),他这样重复了几次。我忘记我当时的感受了,印象里,他的神色和上次搀我手的时候一样。

除了他以外,还有上数学补习课时把手放在我大腿上,睁大眼睛看我的,可我没怎么理睬他,结果后来跟着班上的某个帅哥一起嘲讽我的长相,大概是为了换取某种平衡。还有一个在我向他表白之后叫我滚,之后却又在我向其他人表达恋爱苦恼时上来插话,问我还记不记得我跟谁表白过,暗示我「他有意向了」。另外一个因为和我交流比较多,知道我有博客,在我的博客下用「张」(他的姓氏)和一个不存在的邮箱留言,写下了「其实,我也是同」这句话,然后在我询问他时打死不认。

很多不成熟的男同性恋者容易形成一种矛盾的心理,一方面想要对方知道自己的情感,另一方面又不原意被别人知道自己的取向。一般人看不出来,但在我眼里,说实话,就像是嘴角沾了奶油的小孩,尝试辩解自己没偷吃蛋糕一样。

这话题真是越写越有意思,改天写篇文章聊一聊好了。

「无点击互联网」时代,独立博客何去何从?

文章《The Zero Click Internet》指出了当代互联网继「信息茧房」之后,另一个令人担忧的事实——互联网巨头们在争夺注意力的同时,正在想尽一切办法阻止用户点击外部链接跳出他们的平台。

包含外部链接的帖子会被限流,就连 Google 也在用 AI 生成的摘要信息,防止你点进网站查看结果——作为一个搜索引擎来说,这实在可笑

作者预言,找这个态势发展下去,独立网站将会不复存在,因为用户和流量全都被集中在无法跳出的大平台上了。也因为独立网站不复存在,面向这些网站的广告业务也会面临危机,域名买卖也会失去意义……

我认为,作者的担忧有些过于悲观,但的确值得深思。作为独立博主的你我,应该如何保证自己的内容生产不受到互联网的这种趋势影响呢?我想不出来,我唯一能想到的,就是保持现状。毕竟我们都只是花自己的钱为爱发电,做博客也不求盈利,只要技术没被封死,就会有这样一个圈子。哪怕是一小群人的狂欢又怎样呢,现在不也是那样吗?

📒

什么是智慧? - Rolen’s Blog

我知道当心中有一个念头的时候,就应该放下手头的事情,马上去实现,因为一旦过了那个点,就大概率不会去做了。

广东大学生请假事件分析 - 林海草原

我知道现在一些人戾气很重,他们在网上写下这些言论,只是在发泄情绪而已。如果自己遇到类似的事情,恐怕也会无法处理,甚至出现严重违纪行为。

在咒骂学校等机构的死板和不近人情之余,也应该思考一下何为「责任体系」以及这些原因背后更不个人化的考量,实际上是为了群体的利益而非蠢坏。

基督 - 栖木的网络日志

我不想成为一个虚无存在的眷属。我相信一些别的东西,用时髦的话说:我自信乐观还有阅读量,我有什么好害怕的。

如何解决信息焦虑问题 - Versun

  • 重要的信息绝不会消失,你很快会再次看到它
  • 时间是最好的过滤器

为什么人们开始不会“提问”了? - 莫比乌斯

  • 时刻记住,你要关注的是“人”

  • 不要评价他人,因为你不知道对方的雷区在哪里。

  • 如果你就是想夸,与其夸大家都能看见的“点”,不如夸她从未被夸的点

  • “你是最特别的”。

《How to Deal With idiots》

Try to negotiate and meet your norms with others’ norms. Don’t think you’re so smart that everyone has to do things your way.

试着协商,将你的规则和其他人的规则靠拢。不要觉得你聪明到所有人都必须按照你的方法做事。

《乌合之众》

  • 群体会汇集的不是智慧而是愚蠢
  • 如果整个世界代表一个群体,伏尔泰肯定比整个世界睿智
  • 群体在智力上总是低于孤立的个人
  • 群体或许会经常聚众犯罪,但往往也会豪情万丈