Author Archives: youenzeng

生命

生命的延续

地球Online终于还是迎来了一个特殊的节点, 得到一名人类宝宝. 这个宝宝来的有点急, 我们备孕第二个月就来了, 间接导致了一些事情, 比如我老婆入职不到1年就怀孕, 我这边入职因为不到半年没法享受40个workday的配产检.

刚开始的时候, 内心还是比较淡定的, 心里对这个宝宝没什么认知, 后面做产检看到一次次的B超数据,看着他在快速生长, 才意识到宝宝在一步步的准备降临. 前面说的影响都是小事, 重点是👶🏻健康的生产下来了. 我们的基因得以延续.

class Baby1: Parent, IHuman {
    public int Height => 50;
    public int BodyWeight => 3350;
    public int Gender => 1;
    public int Face => MotherFace;
}

逆行

坐标上海, 中国. 由于COVID-19, 现在不是一个好的生育时间,一方面是不确定因素太多, 另一方面,👶🏻后面的生活可能会受影响. 从新闻上看到瑞丽的小孩看到医生下意识的张嘴接受核酸检测, 如果检测清零一百年不动摇, 我们的小孩也会这样, 无法获得一个正常的童年. 座上的这位瓶子,开着倒车油门踩死. 我们一起逆行, 爱咋咋滴吧.

我初一的时候家里养了一只狸花猫, 领过来的时候还没满月, 我和妈妈一起照顾它长大, 家里条件有限我开始把鸡蛋肉之类的留给它吃, 晚上带着它在我被窝里面睡觉, 当然后面它也和我非常亲近, 我感到这个小生命从一定程度上改变了我的性格.

养小孩某种程度上和养小动物有相似之处, 我们要负责把他养育成人, 这个过程一点都不容易, 费神费钱. 要说收获, 除了所谓的养老之外, 可能最大的是一段难忘的人生经历. 这个过程要坚持下去难吗, 我认为不难. 依稀记得我上学的时候, 有好几次在课堂上就有回家抱抱猫的冲动. 现在我一直在家, 目前没有特别强烈的这种冲动, 但是我相信后面去上班后肯定也有, 这个生命已经在我的心里扎根发芽,后面几十年也必将占据很大一片位置.

未来

现在生育率低下, 大的原因我认为有俩, 一个是人们的自我意识比以前强烈, 社会娱乐方式那么多, 每天快活不过来, 自己还要分神那么多照顾小孩感觉不值, 还有个就是房价了,这个没啥好说的. 对于养娃这个事情来说, 还是多赚钱, 用钱去解决大部分问题. 可以花钱让父母身心更加健康然后他们来帮忙, 花钱让全家的居住环境更好等等..

2021总结与展望

2021一些事件记录

  1. 还是把工作换了, 离开ADP去了Flexport, 拖延症的我..
  2. LeetCode刷了500+题目(吐了), 周赛rank最好到200多名
  3. 养了缸鱼,最后还是放了
  4. 有娃快要出生了
  5. 健身处于摸鱼状态,不过三大项还是刷新了一些个人记录(Squart 275lbs, DL 325lbs, Bench 135lbs)
  6. 拿到了驾照但是还没拍到拍照,考虑买个电车了
  7. 英语口语有一些提升,听了EnglishPod的大部分章节

2022的一些计划

  1. 回家2~3次, 因为种种原因2年没有回去了
  2. 照顾好家庭
  3. 除了上手现在工作之外, 拓展下技术视野, 最近很忙HackNews/Github/blog等都没有太多时间看
  4. 考虑考个PMP之类的
  5. 照顾好自己的身体(体重控制到70-72), 抽空去健身房
  6. 对自己的职业发展做一些具体可行的规划

VS2022 preview 体验

自己的电脑之前一直用VS2017,最近磁盘空间不太够了,打算把VS卸载了顺便安装到别的磁盘.于是乎就考虑安装VS2022,顺便可以体验下C#新语法和.NET 6.

至于VS2022的新特性,官网都有就不胶水了,在我看来比较好的一个是支持64bit,一个是结合了AI的智能提示的功能,以及WSL的集成.

Tips: Resharper还没有正式支持,但是有对应的preview版本使用

安装

没啥大变化,web,.net Core之类的成为默认的了,不像之前需要勾选cross platform,installer UI有些变化,里面嵌入了视频

体验

.net 6 WSL 支持

这个也算是跟上VS Code的remote server吧,不过有点BUG,安装一直是失败,目测是权限问题,切到WSL里面自己sudo安装下,路径就在home的dotnet_install下面

原理嘛,估计跟vscode那套差不多,都是远程启动个进程,共享些数据回来

AI IntelliCode

总体体验下来, 虽然有不少提示不正确, 不过总体还是可以的. 可能因为就是测试写算法题, 这些逻辑本来就有些绕, 如果是业务代码估计体验会好很多, 还有这个是离线使用的.

二分: 猜对了一半,这个很强,没有前面的上下文

拓扑排序: 好像猜对了,根据上下文猜的

KMP: 我都不知道我写的对不对,你能猜对?

下面两图可以看到AI已经认为我是个胶水程序员了

总结

海星

Leetcode 700题纪念

最近几年在这个上面花了可能有上千个小时了, 是一个值得纪念的里程碑。

起源

说来惭愧, 大学期间完全没有听过过OJ这个东西,直到毕业几年逛论坛才知道有这么个东西,从最初的想破脑袋也解不了,到现在的看到题目就有个基本思路。但是做这些题目有意义吗?实际工作会有这么的问题需要解决吗?工作中确实没有用到这些技能,不过对复杂问题的分解,对性能的追求,对简洁完善的代码的追求,对边界条件的处理等,这些每天都用得到的技能,是我最大的收获。

另外,最近看了些Redis的源码,里面花式操作链表非常熟悉,在LC上有不少相关的题目。

几年前一次偶然的机会,得到了一个神秘的代码挑战,google foobar invitation,激发了我对OJ的兴趣。 这个挑战一点都不简单,前面的2个问题我还能应付,后面的几个我当时参考了别人的答案, 一个是最大流算法,一个是Markov chain的问题,放到现在我有信心解这2个题目。

下一步

前面几年没有太多时间刷题,工作考证健身学习等花了我大部分的时间。 疫情期间在家办公,省去了通勤时间,且出门次数更少,使我有比较多的时间来刷题。最近一年有1500+次提交。后面我可能不会再这么频繁的提交了,要把时间花再其他方面了。比如最近很感兴趣的分布式系统。

这几个月开始参加LC contest,也从最开始的俩题,现在基本稳定在三个题目,有次还意外的全部AC,不过后面有个题目补了case,最后算没过。几次比赛下来,发现第四题都会牵涉到一些高级算法或者组合多个问题,比如状压DP,树状DP,各种图论如Tarjan/BF,数论等, 打算学习一些高级算法技巧, 争取后面能稳定4题。

语言

之前刷题主要是用C#, 框架里面少了2个高级数据结构有点无语,PriorityQueue, MultiSet,PQ内部就是个堆,可以自己手动撸个, MultiSet 这个可以用 SortedList<TKey,TValue> ,加二分来实现floor和cell功能。由于没接触过这俩数据结构带来解题思路上的缺失,使我意识到要BFS,开拓一下视野。

最近参与6.824课程,使用了golang做课程,发现golang里面一些设计有点意思。还写了一些Java代码,了解了一些JVM的东西,通过对比CLR有一些收获,后面考虑写一篇相关的。

Ctrl + c , Ctrl + v 如何工作

做为一个胶水程序员, Ctrl+C 和Ctrl+V是必备的技能之一.

从VS Code复制东西到word和VS复制到word, 怎么VS里面有些高亮的东西没了, 怎么掉色了? 复制到OneNote更是掉色的彻底, 字体高亮都没了,全是黑色字体了.

做为一个胶水程序员, Google是必备的技能之一.

以下为Windows上复制和粘贴的一些记录:

  1. Copy and paste本质上是IPC, 也就是是进程间通信, 比如前面的数据从VS到了Word
  2. 当然, 这个由操作系统调度, 内容在RAM中, 文件/目录的话应该是它的地址, Windows10云粘贴板的话数据要到云端了
  3. 粘贴板的内容有格式, 并且有多种格式并且复制时操作系统会生成多种格式的复制供粘贴选择, 比如从浏览器复制了一个带链接的文本, 到NotePad++里面就是纯文本,到OneNote里面就是带链接的
  4. 粘贴到target的内容的样式, 其实是类似”协商”的结果, target可以按照优先级选择要粘贴的格式

通过以上可以看到复制粘贴也是有些复杂的, 至少比想象的复杂的多..