0%

2023-07-15: 新时代的家族关系如何维系?

城市化让更多人搬进了封闭的钢筋混凝土小区,以前亲密的家族成员也分散到了全国各地。

在以前家族成员聚集到一起的时候,总能经常有些活动,比如谁谁过生日,大家就一起聚个餐,谁谁要办个什么事,大家就一起棒棒忙。亲密的亲戚关系于是得以维系。

现在离得远了,很多亲戚经常几年也没联系。如何继续这样的关系?

我们有一个家族微信群,每当有人过生日,大家就在里面发红包,十块八块大家有个心意就是了,过生日的人也会回一个随机红包,让大家一起热闹热闹。借此机会,大家也聊聊近况。由于大家过生日都这样做,一个十多个人的群里面,竟然每个月都至少能有一次这样的活动。

新时代下家族关系的维持可能需要我们去寻找这样的一些仪式。

2023-07-14: 基于ChatGPT进行ETL代码重构

复杂的数据分析场景背后常常使用复杂的ETL进行支撑。然而,由于工程化的缺失,基于SQL的ETL代码很容易变得难以理解。在经历团队人员流动之后,这一问题变得更为显著。如何优化已有的复杂ETL?ChatGPT也许可以帮到我们。以下场景中ChatGPT可以发挥作用。

代码格式化。ChatGPT可以很好的完成代码格式化,相比于学习和配置特定的代码格式化工具,ChatGPT可以用自然语言给出格式化的规范,并在无规范的地方使用行业通用的做法。

代码注释。ChatGPT可以帮我们理解代码并添加注释。当碰到难以理解的逻辑时,ChatGPT可以结合元数据,告诉我们代码的行为及背后的原因。

基于CTE的代码优化。ChatGPT还可以将子查询转化为CTE格式,我们可以基于此功能把多级嵌套的子查询分离出来,并给它一个名字辅助理解。

基于谓词下推的优化。将筛选条件尽可能放在查数据的源头可以有效提升性能,在提示ChatGPT去进行代码性能优化时,它可以帮助实现这一优化。

2023-07-13: 架构设计

最近读了一本书《重塑心灵》,讲的是身心语法程序学(NLP)的知识。NLP里有十二条前提假设,其中之一是:在任何一个系统里,最灵活的部分便是最能影响大局的部分。

最初读到这里的时候有一些诧异。联想到软件架构设计,在我们通常的认知里,架构就是那个最能影响大局的部分,那么架构到底是最稳定还是最灵活的部分?

如果架构是稳定的,它限定了一个框架,那么灵活性就在于填入框架中的细节,那么细节便会成为最能影响大局的部分。所以,细节比架构更重要。

如果架构是最灵活的,那么它就可以被经常调整,那么架构设计就应该在每一天的日常开发过程中进行。

总结起来,我们要么获得了一个不重要的架构,要么把架构变成日常开发中的每一张故事卡。

2023-07-12: 当面沟通的力量

在我还青春年少的时候,大家经常调侃失追女孩的情景说:屌丝有三废,在吗,忙不,早点睡;女神有三宝,干嘛,呵呵,去洗澡。

仔细分析一下为什么屌丝追女孩很失败,我发现这其中有一个重要的原因,屌丝是用短消息和女神交流的。屌丝没法从女神的“干嘛”中捕获到女神今天的心情,也没法知道女神当前的状态。

试想,即便还是用这样的开场白,但是屌丝直接一个电话或者视频打过去,会是什么场景?只要女神真的不是直接拒绝你,你就可以从她的话语、表情或者手势中感知到非常多的信息。她烦躁就听听她的吐槽,她无聊时就跟她讲讲网上查到的笑话,她在娱乐时就远程加入,交流于是如丝般顺滑的进行了下去。

为什么当面交流比起短消息更有效?佛洛依德的潜意识理论认为意识和潜意识就像冰山,意识是水上面的很小一部分,潜意识是水下面的大部分。当面交流时,潜意识帮助我们捕捉了大部分的信息,因而可以帮助我们更有效的交流。

回想起昨晚因为客户的一句拒绝性的短消息回复而失眠,今天见面交流时又能谈的很投机。谁说不是呢?

2023-07-09:

今天陪小孩玩耍时,偶然发现了之前抓周时购买的三字经书。想想我们小时候竟然没有要求阅读和背诵这样的国学启蒙经典,于是翻开读起来。时间比较充裕,竟然读完了整个三字经。

看完之后,心里升起一种深深的相见恨晚的感觉。整部经书不仅仅是我们所熟知的三字一句朗朗上口,更是在内容上包罗万象,从前到后包括了学习方法、行为道德准则、生活中的名物常识、应该读的书目及次序、历史朝代更替,以及最后对读者学习的勉励。三字经就像是古人为后来求学者铺设的一条通往知识殿堂的道路,简明而具体,应该说是一本不可多得的启蒙经典。

2023-07-08:

财务报表中的各项指标计算涉及很复杂的计算过程,很多科目的计算规则并不是简单的统计,比如“固定资产”“投资性房地产”“无形资产”等项目的统计需要应用该项目期末余额扣除相应的减值准备科目及累计折旧(摊销)等的净额。另一个挑战是财务统计科目非常多(《企业会计准则》设置了85个常用一级科目,以及部分金融保险等领域专用会计科目;而《小企业会计准则》设置了58个一级科目),并且这些科目按照父子关系形成了多棵树形的结构。

如果每一个科目都去实现一套特定的统计方法,那一定是非常浩大的工程量。

如何设计一个合理的数据计算系统来应对这一问题呢?以下是一些初步的想法,看起来可以较好的解决这个问题:

将各科目(最细粒度)按照月度周期分别统计期初/期末值,存入一个中间表A

设计一个表格,以便业务人员可以针对每一个父级填入统计计算公式(如:固定资产统计 = 固定资产.期末余额 - 固定资产减值准备.净额 - 固定资产累计折旧.净额)

设计一个程序,读取表格中的计算公式,生成一个数据计算的ETL

这样一来,业务人员只需要按需将所有计算公式填入表格,开发人员使用一个ETL生成程序就能应对所有的计算了。这一设计可以认为为财务指标计算定义了一套DSL(计算公式),看起来可以让整个系统变得一致而简单。

2023-07-06:

前不久我给团队里面一位刚毕业不久的一个同学分配了一个颇具探索性的任务。这个任务对于已经工作十年以上的我来说不算太复杂,但是对于他还是挺有挑战性。于是我尝试给他分享了这个任务要通过几个步骤如何如何完成,并期望他可以顺利地按照我提到的步骤去完成。然而等了一周之后,他没有给我任何反馈。我很奇怪,于是去问他进度。在沟通之后,我不禁大跌眼镜,没想到过了这么长时间他竟还处于完全不知道怎么做的状态!

今天恰好有另一位同学想找我做一些指导,无意中想起了这件事。

反思之前的事,我意识到很可能是因为我没有仔细分析被分配任务的同学能力在哪里,是不是胜任,而是更多站在自己的角度安排了难度太大的任务,而且过程中也没有及时的跟踪和指导。设身处地想一想,当我还在他们那个年纪的时候,刚刚毕业,对于职场几乎还是一片空白,不仅专业知识有很多缺漏,而且沟通也没有技巧和信心,如何能完成这样高难度的任务?

2023-07-06:

前两天刚去看了电影《消失的她》,由于电影结束已经是很晚了,于是刚播放片尾曲的时候我们就快速起身离开了电影院。后来发现竟然还有彩蛋,彩蛋里面是男主做了一个梦,醒来之后幡然醒悟,然后一家人重新过上了幸福生活。两者结局天壤之别,剧情中的男主也走向了两个极端。真实世界的人其实充满着不确定性!回想每天我们做过的决定,有多少次是因为我们头脑一热,灵机一动?这竟然与我最近正在研究的ChatGPT很像。ChatGPT能力很强,大部分时候都能给到正确的答案,但是由于随机性的存在,我们却很难确定它可以在每一个场景都能百分之百给出正确的答案。也许正是那百分之零点零一的概率让人走向了不同的极端。

2023-07-05:

老王特别擅长长跑,每次长跑,他都感觉浑身是劲,越跑越感觉得心应手,信心十足。但是最近一段时间队里面的比赛都是短跑,而队里面确实缺少了跑短跑的,没办法,老王硬着头皮顶了上去。由于这不是老王擅长和喜欢的,虽然顶了上去,老王也老是提不起兴趣,因此短跑也没什么成绩。长期下来,老王感觉越来越没信心,眼看着逐渐逝去的青春,慢慢地开始怀疑自己适不适合再继续做一个运动员。

2023-07-03:

OpenAI的创始人Sam Altman曾在描述大家如何看待ChatGPT时提到,很多人把ChatGPT当作一个数据库使用。刚听到这种描述的时候,我不禁一怔,在大家都在惊叹于ChatGPT强大的语言理解和推理能力的时候,它却只是一种传统得不能再传统的数据库?然而仔细一想,这似乎也没问题,当前大家使用ChatGPT的方式主要是提问,而ChatGPT只是负责给出答案,这不就跟数据库执行查询返回结果是一样的么?这样来看,ChatGPT最多可以称为一个存储知识的数据库,而查询语言是自然语言而已!那么我们期望的能力到底是什么?可能是真正能帮助我们处理日常事务,可以洗碗擦地上楼取东西的智能机器!而这离我们似乎还比较远。

2023-07-02:

去过成都环球中心海洋乐园的人一定会惊叹于这片人造海滩的宏伟,400多米的海岸线竟然硬生生的在一个商场里面给造了出来。海洋乐园前几年是封闭运营,必须买票才能进场到海滩边,我去过几次,发现都是门可罗雀的景象,大概是它的高冷向世人阻挡了它的宏伟。今天带上小孩一起来环球中心闲逛,发现海洋乐园竟然开放了,不用买票就可以走到海滩边。作为一个在环球中心闲逛的游客,看到一层一层卷起的巨浪,听着浪花冲向海滩的哗哗声及沙滩上人们的欢呼声,竟也想买张票下水体验一番了。封闭还是开放?到底要如何选择?