编程小技巧:尽早汪汪汪的狗才是好狗;少用胶水;避免被僵尸吃掉脑子
尽早汪汪汪的狗才是好狗
我们的工作是去野外采摘药草,然后卖给药店,为了提高效率,我们打算买条狗,此刻有甲乙两条狗,可以购买...
甲狗:一旦发现药草,就立刻汪汪汪!
乙狗:发现药草后,默不作声,然后向随机方向走上100米,然后汪汪汪...
我们应该选择哪条狗?乙狗显然没啥用
对应到日常编程中,我们的代码,接收到不合理变量输入时,应尽快报错(汪汪汪),而不是等到程序崩溃了,再去回头找错误。
少用胶水
我买了个手办,需在墙上固定一个木板,把手办摆上去,有两个方案:
方案A: 搞瓶胶水,然后把木板侧面与墙粘合在一起。
方案B: 在墙上打孔,然后在孔里加两根棍,形成一个支架,在支架上放一个木板。
胶水方案方便,问题在于,黏到墙上,就完全无法调整,而支架可以加小垫片精调。
需求也会随时间变化,多放几个手办,胶水粘性无法承担更大的重量,自然被废弃。
写码不是一锤子买卖,要留出精调的参数,也要方便修改,适应不断增长的需求
避免被僵尸吃掉脑子
内存泄漏是一个经典问题,用Javascript写程序,我们需要使用定时器,监听器,如果我们用完后忘记清理,就会造成内存泄漏。这些定时器,监听器就像一只只僵尸(Zombies),在地下室里蹒跚而行(参考植物大战僵尸中的普通僵尸)

这些幽灵般的不死不灭的僵尸会吃掉大脑,让记忆外泄(内存泄漏), React Hook这类工具也给出了 useEffect return 函数的方式,专门清理这些僵尸;
内存泄漏无小事,关注代码运行的副作用,规范编码,不要让僵尸吃掉脑子。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2023-02-04-14-57-27-good-code/
土地财政锁死了中国年轻人的未来,买房变租房,一念天地宽
原贴 本人目前是码农,关于是否要在 35 前进入体制内,和女朋友有了如下对话,不知道大家怎么看 https://v2ex.com/t/912179

在V站看到篇帖子,发帖的老哥和他女朋友因为房子,体制,35岁后码农就业的问题,进行了一波儿深入的探讨。
我的看完后的,直观感受是,这也太没劲了。作为一个程序员,我和帖子中的老哥处境类似。
作为一个创业公司的程序员,我连下个月做什么需求都无法确认,当然也无法预测10年后某地段的房子会不会升值。
为了10年后所谓的资产升值,疯狂压榨当下的自己,并不是正常的做法。
儿孙自有儿孙福,如果父母很聪明,下一代的智商,大概率是比不上父母的,但智商比不上父母,并不代表下一代不幸福,还未结婚,就考虑下一代孩子阶级跌落,本就是一件很无厘头的事,那些疯狂鸡娃的人,就好比是宫崎英高世界里追求永生的人,无一例外全是悲剧。
我所在的小区,离腾讯滨海大厦很近,有三十多层楼,距今已有二十年,我感觉已经不太宜居了,物业也都是50岁左右的人,配合超高的楼层,再过十年,不知道还有多少户人家。
人要给自己留余裕,不要勉强自己,活得久比什么都重要。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2023-02-01-20-08-34-it/
流浪地球2真是量大管饱
看完了流浪地球2,近三个小时的膀胱局,真的是量大管饱。
流浪地球2展现了肉眼可见的经费爆炸,是我看过最棒的国产科幻电影,太空电梯,海量无人机,火炮塔防,核弹炸月球,每个场面都在展示电影工业的力量,看完后,我有点后悔没买IMAX厅的票。
在流浪地球2中,有星际穿越的影子,穿越时空的剧情交互,让科幻始终伴随剧情,而不是单纯的CG爽片。
中国需要强大的电影工业,争夺文化霸权,科幻题材更容易穿越国界,形成独特的科幻叙事文化,2023年,流浪地球2开了个好头~
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2023-02-01-20-04-07-update/
最终幻想7重制版PS5版通关体验(附游戏摄影图)
最近一个月,前后花费了30小时,在PS5通关了最终幻想7重制版,做了游戏摄影,本篇先抑后扬,简单聊一下最终幻想7重制版的优缺点。
缺点
- 地图做的像迷宫,有大量上下楼梯的场景,不看地图,很容易迷路。
- 60%的时间都在赶路,赶路过程中绝大多少场景都很破败,不值得摄影留念。
- 最后一章的公路追逐战,纯纯搞玩家心态,无法使用恢复补HP的道具,玩家需要骑着摩托拿着刀,冒着枪林弹雨,去刀砍技能丰富的装甲车,装甲车血量极其厚,纯纯刮痧,手都按麻,我是打了四遍才过。
- 绝大多数场景过暗,走下水道的章节,要一边找路,一边解密,一边重复打怪,如果不是有妹子NPC一直给主角对话,真的玩不下去了。
优点
- 剧情曲折,超有代入感,整个游戏分18章,在不被剧透的前提下,就像读一本极其上头的超现实主义小说。
-
人物建模精致,女性NPC蒂法,爱丽丝的建模360度无死角的精细,爱看漂亮妹子的玩家心满意足。
-
欲望之都的场景设计很棒,有点日本的感觉,光影舒服,男主角被迫女装的一段设计很搞笑。
-
玩法丰富,很多章节设计了独特的小游戏,投飞镖,操控机械手臂,启动气压阀,跳舞,摩托车追逐,能看出游戏开发者的用心。
游戏摄影

















































本文永久更新地址:
https://fangyuanxiaozhan.com/p/2023-01-08-13-50-22-ff7/
玩最终幻想7重制版联想到一些编程趣事(持续更新…)
特定关卡中,丢弃关卡机器人BOSS身上的零件,可以弱化BOSS;最近接入Agora(声网)的SDK,我发现每次开启或关闭对麦克风设备的占用,Agora整个音频模块会直接重启,会导致喇叭中断不可用;我忽然感觉,神罗公司的机器人工程师真是良心,被主角团拆了5个模块,依然能保证机器人正常工作,换成现实中的Agora团队,缺失五个模块,机器人能不能启动,都是个问题。
克劳德去杰西家「借」到钥匙,开后门,未关门(无法关),直走拐弯,回头看,门自己关上了,为了避免BUG, 程序模块会在「某些情况下」主动重置状态,而重置状态本身就是BUG;
和tifa在钢铁森林走迷宫,全是断路;开发程序会用到很多现成的功能包,这些包并不能保证稳定,程序员更换依赖包的过程,就像是在走迷宫。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2023-01-01-16-32-47-game-final-fantasy/
赚钱之外的爱好有什么用?
按照主流的价值观,除了赚钱,其它的兴趣什么的都是不误正业。
想要了解一个人,我会先询问一个人的兴趣
如果一个人的兴趣是玩游戏,玩的还是超高难度的魂类游戏,那他是个有坚韧精神的人。
如果一个人的兴趣是长期写博客,那他是个乐于分享且乐于探索新事物的人。
如果一个人的兴趣是长期健身,而且身材好于普通人,那他是个严于律己的人。
如果一个人的兴趣是疯狂抽烟,且除此之外别无爱好,那他可能是个热爱祖国痴迷纳税的乐子人…
兴趣体现了生命的质量与能量,一个人兴趣多一分,应付复杂环境的自由度就大一分。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2022-12-08-19-34-54-hobby/
2022年终总结
这篇文章总结一下2022年做了啥...
换工作
zhaoolee年初换了份工作,从一家金融公司转到一家互联网公司,金融公司会儿比活儿多,互联网公司活儿比会儿多。
研究开发桌面端应用
进入新公司,更新了一波技术栈,开始做Electron技术栈的桌面端应用,把已有的Web端应用,扩写为桌面端应用,路由适配,多窗开发,开机启动,托盘信息,日志收集,进程通讯,sdk集成,签名发版,自动更新...
与macOS Windows原生开发相比,Electron优化不够极致,优势是很省人力,一套核心代码打通Web, Windows, macOS, Linux ,目前的腾讯QQ也在切Electron技术栈,人力成本优化真的无处不在。
我翻阅了大量Electron开发相关的中文资料,普遍写的很烂,Electron相关的中文书籍也已经过时,水平很一般,废话多,关键地方一笔带过。
zhaoolee打算以一线开发者的身份,写一套实用的Electron开发经验博客,选用Github Wiki作为载体,挖个坑,留给2023年
更新一些树莓派家庭服务以及内网穿透玩法相关的博客
去年10月份zhaoolee开了一个把树莓派变身家庭服务器的开源项目 https://github.com/zhaoolee/pi 目前已经有1K Star, 但写了7篇后,树莓派就变成了理财产品(变得毫无性价比),比显卡价格还坚挺。不过zhaoolee还是保持了项目的更新,目前更到了15篇。
关于内网穿透,树莓派家庭服务器很多玩法都是基于frp内网穿透技术,最近几周,zhaoolee在普通Windows笔记本上,基于frp和v2ray,实现BT种子的双向网络穿透,可以和海外老哥进行硬盘资源的p2p交流。
更新受欢迎的开源项目,折腾新的开源项目
较多维护的已有项目:
今年又开了一些新坑:
为了消除魔幻新闻的的负面影响,玩了一些「后悔没早点玩到」的单机游戏
2022年有很多魔幻新闻,那些新闻总让人觉得很消极,后面我找到一种方法来抵消这种消极,那就是玩单机游戏,很感谢这些游戏,把我暂时拉到了另一个世界去逃避现实。
今年把异度神剑2 和 异度神剑3 通关了,也许是对日式RPG情有独钟,目前在玩最终幻想7重置版;
玩游戏其实是一件很奢侈的事,一需要设备,二需要时间,三需要找到自己喜欢的游戏;
好的游戏让玩家感觉时间没有虚度,听到异度神剑2的配乐 One Last You 响起,配合大结局的动画,让我后悔没有早点玩到这样的游戏。女神异闻录5的美术风格,让我发出游戏居然可以做成这样的赞许,也理解了P5天下第一这个梗。

2022年是艰难的一年,三国耗尽英雄气 两晋皆是鼠辈出,小丑们粉墨登场,给全国人民演出一场场闹剧,这些小丑其实一直存在,只不过有了互联网,小丑们的荒诞直接呈现在了全国人民面前。
控制饮食锻炼身体
今年尝试了5个月左右的过午不食,体重下降到了比较理想的范围,控制饮食和进行锻炼,都有助于体重下降,但实践下来,控制饮食的效果远好于锻炼。
另外,控制饮食还有一个好处,吃不饱只有一个烦恼,吃饱了会有无数烦恼,保持相对饥饿的状态,能避开很多精神内耗。
新一年的计划
- 持续更新技术博客,树莓派和内网穿透系列会持续更新(Just for fun)
- 保持身体健康,避免二次感染新冠
- 开坑Electron实用开发技巧系列博客
- 能做到以上三点,我就很满足

本文永久更新地址:
https://fangyuanxiaozhan.com/p/2022-12-31-12-18-02-2022-mark/
年青人为什么会变成愤青
初入社会的年轻人,相信奋斗就能改变人生,然而大多数情况下,父母因素的决定性更大。
领导们倡议,给年轻人更多的生存空间,一个个都要一本正经地胡说一通,很享受那种唾星四溅的快感,但又不许年轻人讲话,于是,网络环境越来越扭曲变形。
由于太缺乏改变人生的正常途径,才导致任何可能暴富的东西,都异乎寻常的流行,比如股票,炒房,P2P,传销,互联网金融,加密货币,赌球…
以上套路被年青人探索完成后,毫无收获,就容易变成愤青。有人说,青年是一个国家的希望,准确来讲,愤青才是一个国家的希望。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2022-12-08-19-06-38-young-people/
软件开发随想录
大公司开发的软件普遍很难用,很重要的一个原因是:项目的设想太宏伟了,但是细节的设计没有跟上
小开发团队乐于打磨细节,因为打磨的成本很低,找到开发者,面对面,一杯咖啡的时间就能搞定,低成本高回报;
而大团队修改一个细节,需要走一套流程,繁杂的流程足以劝退想要打磨细节的人。
当然,以上规则不只适用于大公司的软件开发。
编写一个设计优雅,易于使用的软件产品,其实是很难的。
虽然看到最终成品的时候,你可能会觉得不难做,但实际上是很难的,就好比你在看精彩的相声演出,你觉得演员很轻松,实际上换了你就困难无比。
但毁掉一个优雅的软件产品,却意外的简单,只需要加一些晃动手机触发的开屏广告即可。
当然,以上规则不只适用于软件产品。
程序员们一直崇尚 talk is cheap, show me the code (多说无益,代码拿来)
偏偏很多人就只会 talk,团队越大,talk人的比例越高,小的团队,成员之间优势互补,大的团队,互扯后腿才是常态。
乐于talk的人有个特点,就是喜欢造新词,如果新词只有造词人自己懂,那就是好词,独占了新词解释权,talk什么都是对的。
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2022-12-08-19-00-39-software-dev/
程序员编程能力会自发地退化
今天读了一篇十年前的博客文章,内容是作者对于计算机专业只进行Java教学,而不进行c系指针相关原理教学的担忧。
作者认为计算机专业课,应该使用难的知识筛选学生,淘汰那些没有兴趣编程,或者没有能力编程的学生,让他们不要浪费生命,趁早去读政治学或法学。
十年后,再看这篇文章,我忽然理解,大学java程序设计课老师,对于一些学生连java学起来都费劲的叹息。
校方一般会觉得,学生拿不到学位很可惜,但这部分人真的不适合编程,比较幽默的是,获得计算机学位80%的人,还是主动脱离了编程这个行业,因为真的没能力,写出的程序漏洞百出,真的很煎熬。
最近一个我鸟厂同学讲,某个同事问他「get大key为啥会cpu满,如果是内存读这种操作应该不会需要cpu吧」,同学只能尴尬笑笑「他估计也不知道什么是总线,那些所谓搞机器学习人工智能的,就会改几个参数,张嘴就要源码和论文」
只要降低难度,计算系的淘汰率就降低了,学生人数上升了,经费预算变大了,可谓皆大欢喜,但代价呢?
长期来看,我们会失去有能力编写操作系统内核的程序员,我们会像刘慈欣笔下的上帝文明一样,拥有极其先进的技术,而驱动这些先进技术的底层技术是核聚变产生的能量,但对于巅峰时期的上帝文明而言,核聚变就像钻木取火一般简单,所以没有任何记录,过了很多年后,上帝文明需要修复日渐老化的飞船时,竟发现无计可施。
美国1969年的阿波罗登月计划,让整个人类文明为之震撼,但到了2019年,美国再次期望登月时,却发现缺乏人才,一度延期到2025年…
当代,我们拥有不断优化操作系统的程序员,但随着时间推移,计算机系学生们,可能连Python都写不了就能毕业,无法从事改参数以外的工作,那时,人们望着没能力修改的系统内核代码,只能留下时代的眼泪…
本文永久更新地址:
https://fangyuanxiaozhan.com/p/2022-11-21-22-09-03-p/