献给所有迷茫的人

源自史蒂夫·乔布斯在斯坦福大学演讲

再次说明的是,你在向前展望的时候不可能将这些片断串连起来(上文指乔布斯退学);你只能在回顾的时候将点点滴滴串连起来。所以你必须相信这些片断会在你未来的某一天串连起来。你必须要相信某些东西:你的勇气、目的、生命、因缘……这个过程从来没有令我失望,只是让我的生命更加与众不同。

有些时候,生活会拿起一块砖头向你的脑袋上猛拍一下。不要失去信仰。我很清楚唯一使我一直走下去的,就是我做的事情令我无比钟爱。你需要去找到你所爱的东西。对于工作是如此,对于你的爱人也是如此。你的工作将会占据生活中很大的一部分。你只有相信自己所做的是伟大的工作,你才能怡然自得。如果你现在还没有找到,那么继续找、不要停下来,只要全心全意的去找,在你找到的时候,你的心会告诉你的。就像任何真诚的关系,随着岁月的流逝只会越来越紧密。所以继续找,直到你找到它,不要停下来!

当初次听到这段文字,不经心生澎湃,迫不及待放在博客首页,当作践行人生的指南。乔布斯这里也强调了成长的意义,这种意义可以作为人生的指南,让人在迷茫的时候找到前进的动力,找到心的力量!

独立开发之路

Photo by Octavian Dan on Unsplash

2016年6月计算机硕士毕业之后进入移动地级市公司工作。原本以为国企铁饭碗很香,也没想到那么快会对这份工作失去兴趣。每日的工作主要是取数和资产管理类工作,中间穿插大大小小的培训,我觉得这样的生活不是我想要的,于是想到了跳槽。

17年5月离职去了另一家相对轻松的国企做数据库管理工作。和上一份工作相比,这份工作显然轻松了很多,每天基本就是看数据库相关的技术书籍,这个阶段学到了很多东西,比如基础的 Linux 运维、自动化的一些工具、系统学习了 Python 和 Shell 脚本。

18年8月上岸现在的单位,接触全栈开发相关内容至今。经过不断的折腾,用 Python、Nodejs、Go、C# 都做过工程,目前熟悉的技术栈是 React + Gin。

2021年5月开始构思自己的产品。在小城市,体制内的工作还是最香的。但是招聘信息碎片化,不够系统,不利于研究分析。为此正在做一个职考类相关 App。采用微信服务号+H5的形式完成最小化可行产品(Minimum Viable Product, MVP)验证,后续看发展可能采用 Flutter 做双端。

系统架构设计师备考指南2022修正版

2020年9月至11月初本人业余时间都用来备考软考系统架构师这一科目,最终以选择题59 案例58 论文53 的成绩顺利通过。因此想分享一下备考中的干货,让备考的同学多一份指南,少走点弯路。

免费备考资料以及付费咨询

本文涉及到的复习资料全部在微信公众号芝士职考上,回复系统系统架构师即可免费获取。

考试时间

系统架构师考试一年一次,每年11月上旬进行考试。小伙伴需要安排好时间,战线不需要太长。我个人建议,一般基础较差(不做一线开发)至少3个月时间,做开发的同学1-2个月就可以。也就是说8月-9月是最好的复习开始时间,之前你可以大致了解一下备考情况。

考试意义

这场考试对于每个人的意义都不同。但是我可以负责任的说,假如你是单纯为了显示自己多牛逼,建议不要报考,这玩意儿在如此卷的计算机行业没有什么含金量 。另外许多机构会吹什么计分落户,国际认证···。但是我相信对于90%的人来说,基本都是为评上高级工程师职称,每年可以多加那小几千块钱(我考试那年,我们考场来了一个50多岁大叔,监考员看了也十分惊讶,后来得知也是为了评上副高,略微提升下退休待遇。)。

继续阅读系统架构设计师备考指南2022修正版

关于自由

关于自由的形态。我想可以这样说起。独立开发逃离了资本压迫的自由,但是无法逃脱生存的自由。还是要为生计去做妥协。假如有这样的一种自由,我觉得是真正的自由。他无需担心吃食问题,无需为其他生存去工作,用一部分财富应付这个社会应该有的开销。也需这个概念接近财务自由。但是财务自由之后就自由了么。假如真的是,无需为生存发愁,像永动机一样不断给你提供生活资料,真的做到,这种自由我感觉是很美的。

但是放大来看在现行的社会制度人类文明之下,这样的自由又是很脆弱。要依附人类社会才会拥有。反之人类社会出现极端变化,比如战争,疾病,个人自由也完全不能存在。所以追寻这种自由有点空中楼阁的感觉。在当下能够把握自由,已经是非常难得的事情了。

最近的一些习惯改变

最近还是习惯使用 Notion 来记录工作、生活上的琐碎一级思考。我对这个博客的定位也更加明晰了。上面的内容还是期待能够以系统或者优质的标准去做一个呈现,而不是单纯的开发或者吐槽日志。想沉淀一些更有价值,或者长期价值的东西。同时我对自己的定位也更加明确,不是技术专家,更不是业务老手,而是一个不断学习的普通开发者。同时希望结合自己的业务或者发掘出来的能力,进行更多多元化的探索。

专注当下与专注一件事

第一个是生活上的感悟。就是做事不要专注于结果。而是专注于当下。但是我不是否定目标导向。而是说不要去纠结除了目标之外的得失。有的时候我会纠结做这个事情做不好怎么办,会不会影响别人对我的看法,会不会浪费资源。从理性角度来说,这种得失心只会影响自己的思考,除此之外,并没有其他好处。

因此做事的时候需要集中在事上。而不是得失。这是很难的体会。

第二个是做事方法上的感悟。今天听博客收获到一个关于注意力是资源的说法。这个说法把人的注意力看作如何做好一件事最主要的资源。若同时有多个不同的东西要做要学,来回切换,会导致产出的降低。这也是听范冰的博客注意到的。因此如何“划定自己边界”,只做一件事,做的时候心无旁骛,学会专注可能是一门必修课。

关于一些Golang包API设计的理解

有的API设计成通过传入引用来给调用者返回结果。

比如Gorm里Find 这个函数就需要传入指针来存放结果(假如你不传指针会直接报错)。

materials := make([]models.Material, 0)
var total int64
db := global.DB
db.Find(&materials).Count(&total)

仔细想来,应该是为了满足API的链式调用设计。链式调用需实例对象上的每个函数都返回且只能返回一个相同类型的指针,比如 Find 和 Count 的返回结果都是*gorm.DB。这样一来,传递结果只能通过函数接受一个指针对象才能实现函数的返回,Find(&materials).Count(&total)

类推到其他可以做链式调用的API,比如 Restry 之类,做赋值操作都要传一个指针进去。

学习的边界

不得不承认,给自己划定一个兴趣边界,可以让人变得更加专注,把一件事做好。时间有限,在找到自己热爱的、需要持续发力的方向之后,就不要被外物所打扰。

比如有段时间,大概1-2个月,我会关注各种投资、副业群中发布的成功的例子,我会心动,然后去看自己能否做。比如人家有游戏赚钱了,自己也想通过做游戏赚钱,别人通过营销赚钱了,自己也想去复制做同样的事情。心被感官牵着走,让我的心无处安顿,在别人的成功中迷失。

人生充满无限可能并不与兴趣边界相冲突。在未找到热爱之前,可以朝三暮四,可以四处历练,但是一旦找到心中所想,就必须做到专一和持续。

对我来说,目前有两样很重要的事情要做,我反复思索过很久,认为这是热爱和正确的事情,所以我今年开始在兴趣的探索上给自己制定了边界。那就是:舍弃一些诸如源码探索、游戏引擎等东西,确保我的注意力只集中在1-2件手头的事情上。

umi-fabric 帮助写代码的工具

https://images.unsplash.com/photo-1554034483-04fda0d3507b?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb

一开始我对 lint 类工具不太感冒,觉得只要运行没问题就 OK 了,但是当入门之后想精进一步,lint 会帮你查漏补缺(群里的一个大佬提醒我的),帮你写出符合规范的代码。结合框架umi,查到了 umi-fabric ,一个包含 prettier,eslint,stylelint 的配置文件合集(我个人 stylelint 用的比较少,因为基本都是 tailwindcss )。

继续阅读umi-fabric 帮助写代码的工具

但行好事,莫问前程

人要建立自己的价值归宿,并把它放在做人与行事之前。人要忠于这个价值判断而非利益判断。发现价值,推扬价值,才能让自己的心归于平静,让做的事变得高尚。这里价值是多元的,但必须是有道德内涵的。比如对于商业竞争来说,要合理竞争,不做小动作互相攻讦,对客户服务来说,要优化服务,为客户着想,诚信为本,不能坑蒙拐骗。另外的内涵是,一件事做成与否固然重要,过程比结果更为重要。君子爱财取之有道。但是若失败赔本,也不是说我就是失败者,只不过可能这个方向错了,或者说我能力不够,求道本身已然是一种修行。这个其实也和第一个内涵一脉相承。

突然想到一句话,那就是但行好事,莫问前程。

学习与地图

若把学习比喻成一场旅行,那么,书本就是出发前必须要准备好的地图。这个比喻我在极客时间——手机摄影这门课里看到,深以为然。这个观点很有意思,我认为包含两层意思,好的书如同一本绘制清晰的地图,能让你在对即将学习的知识有一个全面的了解,这个认识可以让你在面对实践中产生的问题时,能定位问题产生的原因和解决的办法。另外,知识也是在不断丰富和变化的,若拘泥于书本,不去从其他地方求新知,则会陷入固步自封的境地,也不利于自身成长。