We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Photo by Clay Banks on Unsplash
这本书放在书架很久了,一直没有阅读。至于为什么没有,写这篇文章的时候我又仔细梳理了一下。可能是源于多年前对嘻哈包袱铺产生的负面印象。而这个负面印象主要来源于那段时间观看欢乐喜剧人,对其“掌柜”高晓攀所表演的新式相声引发的心理不适。从那以后,我对所谓的新式相声敬而远之,也对“xxyy铺”这种名称没了好感,连带着,对《解忧杂货铺》也没有开卷的兴趣。
一个礼拜前,我突然想读东野圭吾的书,搜索”东野圭吾“,蓦然发现这本《解忧杂货铺》竟然躺在书架上。也不知道什么时候加入进来的。我对东野圭吾的作品印象奇好,所以尽管“xxyy铺”这样的名称不讨我喜欢,依然耐心阅读起来。这一读,就放不下。
�在读完《解忧杂货铺》之后,我的微信读书当前记录是109本。
记录当然没有什么意义。如果一味的追求数量,那选择自然是页数少,文字简单,不太挑战认知的,这样的话,读的块,一天刷一本也不在话下。我有过这样的经历,很糟糕,读了很多,但是却感觉什么都没有读过。时间浪费了,却没有收获。
我这里所说的收获不一定是很干很干的知识,如果阅读一本书,可以发现一点点新的东西,新的世界,不一样的世界观价值观人生感,等等,那就是不错啦。
那,看完《解忧杂货铺》,我收获了什么呢?
我其实也说不清楚,很难用一句话概括。从杂货店老板雄志的故事里,我读到了坚持;从追求音乐的青年的故事里(对不起名字忘记了),我读到了梦想,还有梦想背后,亲情的力量;从初中生(又忘记名字了)在家庭遭遇变故时与家人的互动中的苦涩与甜蜜。
《解忧杂货铺》并不长,在我读过的书里面,顶多算是中篇的体量。但是内涵却丰富的让人感动。东野圭吾的小说一直都是这个样子吧。你明明很触动,但是却无法简单的概括感受,因为这感受太复杂太多面了。
有一段时间疯狂的刷各种历史穿越文,就是那种男主穿越然后虎躯一震八方来投的。我现在还记得看过一本叫做《星沉三国》,男主叫赵信,跟典韦,赵云结拜为兄弟。割据一方,曹孙刘结盟讨伐,结果被男主带着一票兄弟一顿暴打,曹孙刘灰飞烟灭。又看过一本叫做《东莱太史慈》,这本篇幅就很长,讲的很细。当然,看的最早的还是《寻秦记》,不过那时候不喜欢作者只敢给历史进程做微整形的笔法,觉得不够大胆。心里面还是倾向于那些动不动就改朝换代的男主,可能与年轻时不知天高地厚有很大的关系吧。
网文刷多了之后最大的后遗症就是看网文看不出新意来了,左看右看,好像都是昨天看完那本的微创新版本,然后随便翻到十几张以后,人物性格发展也差不多,故事走向也乏善可产,只能弃了。后来又开始看武侠,高中那段时间看过几本,学业限制,看的不够尽心,于是又重新看。看完了金庸和古龙的,开始看梁羽生,看不进去。我的性格特点是看不进去就看不进去吧,不勉强,这多半来自于先天遗传母亲的率性洒脱,后天接受父亲的不拘形式。接下来做了一个书单,把听过的外国文学名著录进去,然后一本一本读,读一本,停一下,换换口味。用来换口味的一般都是侦探小说,江户川乱步,松本清张,东野圭吾,这些名字开始进入我的事业。在这其中,东野圭吾的作品最适合我的胃口。
在开始阅读《解忧杂货铺》之前,我读完了《白夜行》,也是东野圭吾的作品。在第一章,我看到书友留下的人物关系图谱,这让我以为这本书出场人物可能超级多。但是整本下来,似乎并不多。看起来,记名字的能力好像提高了,是不是可以挑战一下以出场人物多而出名的《红楼梦》呢?
当然, 我现在还是不太想读《百年孤独》,何塞·阿尔卡蒂奥·布恩迪亚,何塞·阿尔卡蒂奥,阿尔卡蒂奥,祖孙三代的名字是这样的,我很难不认错。相较而言,日本人的名字好记多了。
工作需要,本地搭建了一个 blog,集成 disqus。但是问题来了,disqus 需要配置目标站点的 URL(你可以理解为网址),localhost 这样的本地测试地址是不支持的。怎么办呢?网络上倒是有人说可以做到,问题是他们都用了 php 的某个框架,而我没有用这个框架。也换成这个框架吗?算了。还有网友说要在 disqus 的控制台配置本地可用,问题是我找了一个多小时都没找到入口。
localhost
算了算了,老本行走起。
简单来说,就是在本地伪造出一个 domain,方法是 hosts + nginx。hosts 将请求 route 到 localhost,nginx 再将请求 route 到对应的本地服务。这里,我们要伪造的 domain 是 doc-portal.io,在 disqus 中的配置是 http://doc-portal.io。
hosts + nginx
hosts
route
nginx
doc-portal.io
http://doc-portal.io
配置如下:
## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost # 上面的配置不要动,一般系统已经配好了 127.0.0.1 doc-portal.io
nginx.conf
http { server { listen 80; server_name doc-portal.io; location / { proxy_pass http://localhost:8000; } } }
如果你用代理访问网络,修改代理配置让他忽略 doc-portal.io。
最后,重启 nginx。
这一周又是 TypeScript 大方光彩的一周。
我觉得使用 TypeScript 还有一个隐形的好处是,代码的可读性高多了。类型系统可以很直观的表达业务的细节,即便一行注释也没有,也能很快的 warming up。
而且,即便 warming up 的效果一般,当我们不得不修改代码时,因为类型系统的快速反馈,很容易就顺着类型的思路来编排代码,减少了很多错误。
因为上面的缘故,现在写代码,我首先会做的事情就是看看要不要升级和丰富类型。然后通过类型来推导逻辑代码的升级。当然,这样的做法离不开对逻辑数据化的步骤,在2021/06/25: 减少 if else 的办法 对逻辑数据化做了简单介绍。逻辑数据化 + 提取类型 + 补充调度逻辑(无法数据化或者没有必要数据化的逻辑),核心逻辑尽量用约束比较强的类型+数据来定义,剩下都就只是调度逻辑。
拿我现在的项目举例,这是一个用来生成项目的 cli,接受用户参数,根据选项生成项目。
我的做法是先定义逻辑数据:
拿最近的一次业务更新举例,添加一个用户参数,改动如下:
如果只是更新 solution,那更简单:
这种简单,来源于前期对逻辑的深度结构,数据化,然后提取类型。这些做完以后,后期的微修改很简单。当然,如果变动过大,现有类型不敷使用,那就必须重构。但是这种可能性比较小,大部分时间,当类型确定好之后,总有办法围绕类型做延伸以适配新业务,不用总是重构。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
封面图
Photo by Clay Banks on Unsplash
《解忧杂货铺》,以及我的读书历程(小记)
这本书放在书架很久了,一直没有阅读。至于为什么没有,写这篇文章的时候我又仔细梳理了一下。可能是源于多年前对嘻哈包袱铺产生的负面印象。而这个负面印象主要来源于那段时间观看欢乐喜剧人,对其“掌柜”高晓攀所表演的新式相声引发的心理不适。从那以后,我对所谓的新式相声敬而远之,也对“xxyy铺”这种名称没了好感,连带着,对《解忧杂货铺》也没有开卷的兴趣。
一个礼拜前,我突然想读东野圭吾的书,搜索”东野圭吾“,蓦然发现这本《解忧杂货铺》竟然躺在书架上。也不知道什么时候加入进来的。我对东野圭吾的作品印象奇好,所以尽管“xxyy铺”这样的名称不讨我喜欢,依然耐心阅读起来。这一读,就放不下。
�在读完《解忧杂货铺》之后,我的微信读书当前记录是109本。
记录当然没有什么意义。如果一味的追求数量,那选择自然是页数少,文字简单,不太挑战认知的,这样的话,读的块,一天刷一本也不在话下。我有过这样的经历,很糟糕,读了很多,但是却感觉什么都没有读过。时间浪费了,却没有收获。
我这里所说的收获不一定是很干很干的知识,如果阅读一本书,可以发现一点点新的东西,新的世界,不一样的世界观价值观人生感,等等,那就是不错啦。
那,看完《解忧杂货铺》,我收获了什么呢?
我其实也说不清楚,很难用一句话概括。从杂货店老板雄志的故事里,我读到了坚持;从追求音乐的青年的故事里(对不起名字忘记了),我读到了梦想,还有梦想背后,亲情的力量;从初中生(又忘记名字了)在家庭遭遇变故时与家人的互动中的苦涩与甜蜜。
《解忧杂货铺》并不长,在我读过的书里面,顶多算是中篇的体量。但是内涵却丰富的让人感动。东野圭吾的小说一直都是这个样子吧。你明明很触动,但是却无法简单的概括感受,因为这感受太复杂太多面了。
有一段时间疯狂的刷各种历史穿越文,就是那种男主穿越然后虎躯一震八方来投的。我现在还记得看过一本叫做《星沉三国》,男主叫赵信,跟典韦,赵云结拜为兄弟。割据一方,曹孙刘结盟讨伐,结果被男主带着一票兄弟一顿暴打,曹孙刘灰飞烟灭。又看过一本叫做《东莱太史慈》,这本篇幅就很长,讲的很细。当然,看的最早的还是《寻秦记》,不过那时候不喜欢作者只敢给历史进程做微整形的笔法,觉得不够大胆。心里面还是倾向于那些动不动就改朝换代的男主,可能与年轻时不知天高地厚有很大的关系吧。
网文刷多了之后最大的后遗症就是看网文看不出新意来了,左看右看,好像都是昨天看完那本的微创新版本,然后随便翻到十几张以后,人物性格发展也差不多,故事走向也乏善可产,只能弃了。后来又开始看武侠,高中那段时间看过几本,学业限制,看的不够尽心,于是又重新看。看完了金庸和古龙的,开始看梁羽生,看不进去。我的性格特点是看不进去就看不进去吧,不勉强,这多半来自于先天遗传母亲的率性洒脱,后天接受父亲的不拘形式。接下来做了一个书单,把听过的外国文学名著录进去,然后一本一本读,读一本,停一下,换换口味。用来换口味的一般都是侦探小说,江户川乱步,松本清张,东野圭吾,这些名字开始进入我的事业。在这其中,东野圭吾的作品最适合我的胃口。
在开始阅读《解忧杂货铺》之前,我读完了《白夜行》,也是东野圭吾的作品。在第一章,我看到书友留下的人物关系图谱,这让我以为这本书出场人物可能超级多。但是整本下来,似乎并不多。看起来,记名字的能力好像提高了,是不是可以挑战一下以出场人物多而出名的《红楼梦》呢?
当然, 我现在还是不太想读《百年孤独》,何塞·阿尔卡蒂奥·布恩迪亚,何塞·阿尔卡蒂奥,阿尔卡蒂奥,祖孙三代的名字是这样的,我很难不认错。相较而言,日本人的名字好记多了。
如何在本地测试 disqus
工作需要,本地搭建了一个 blog,集成 disqus。但是问题来了,disqus 需要配置目标站点的 URL(你可以理解为网址),
localhost
这样的本地测试地址是不支持的。怎么办呢?网络上倒是有人说可以做到,问题是他们都用了 php 的某个框架,而我没有用这个框架。也换成这个框架吗?算了。还有网友说要在 disqus 的控制台配置本地可用,问题是我找了一个多小时都没找到入口。算了算了,老本行走起。
简单来说,就是在本地伪造出一个 domain,方法是
hosts + nginx
。hosts
将请求route
到localhost
,nginx
再将请求 route 到对应的本地服务。这里,我们要伪造的 domain 是doc-portal.io
,在 disqus 中的配置是http://doc-portal.io
。配置如下:
nginx.conf
如果你用代理访问网络,修改代理配置让他忽略
doc-portal.io
。最后,重启 nginx。
TypeScript
这一周又是 TypeScript 大方光彩的一周。
我觉得使用 TypeScript 还有一个隐形的好处是,代码的可读性高多了。类型系统可以很直观的表达业务的细节,即便一行注释也没有,也能很快的 warming up。
而且,即便 warming up 的效果一般,当我们不得不修改代码时,因为类型系统的快速反馈,很容易就顺着类型的思路来编排代码,减少了很多错误。
因为上面的缘故,现在写代码,我首先会做的事情就是看看要不要升级和丰富类型。然后通过类型来推导逻辑代码的升级。当然,这样的做法离不开对逻辑数据化的步骤,在2021/06/25: 减少 if else 的办法 对逻辑数据化做了简单介绍。逻辑数据化 + 提取类型 + 补充调度逻辑(无法数据化或者没有必要数据化的逻辑),核心逻辑尽量用约束比较强的类型+数据来定义,剩下都就只是调度逻辑。
拿我现在的项目举例,这是一个用来生成项目的 cli,接受用户参数,根据选项生成项目。
我的做法是先定义逻辑数据:
拿最近的一次业务更新举例,添加一个用户参数,改动如下:
如果只是更新 solution,那更简单:
这种简单,来源于前期对逻辑的深度结构,数据化,然后提取类型。这些做完以后,后期的微修改很简单。当然,如果变动过大,现有类型不敷使用,那就必须重构。但是这种可能性比较小,大部分时间,当类型确定好之后,总有办法围绕类型做延伸以适配新业务,不用总是重构。
The text was updated successfully, but these errors were encountered: