数据优先级

刘启春

今天上午和前端同学开周会,我捕获到了一个字眼 —— “数据优先级”,这让我想到了我工作中处理任务的优先级,如果把程序想象成一个具备独立思维的个体,它想更好的处理业务也是需要考虑这些的。

在工作中,同时处理多个工作有时让人头大,从一件事转向另一件事,脑海里必然要切换事情的上下文,有时话费的时间甚至比做这件事还多,这种情况对应到程序中自然是操作系统调度线程切换上下文的开销,我们不能忽略,程序也是。还有数据竞争、锁机制等,都能找到和生活中对应的,如果把我们现实中的最佳实践应用在程序肯定会提升程序设计能力。

用 Java 实现生成 Markdown 文本的工具

刘启春

公司的 IM 每天有许多机器人推送的消息,我也在使用,这个功能是好的,但是当我们想去发送一些格式优美的消息时,却要费许多功夫,主要来源于字符串拼接,如果要拼接出 Markdown 格式的那就更费力了,另外由拼接带来的是混乱的代码,为了解决这个痛点,我写了一个 Java 代码生成 Markdown 文本的工具,还给它起了一个酷酷的名字 MdKiller。

MdKiller —— Markdown 杀手。

MdKiller 可以格式化生成 Markdown 文本的工具,支持常用 Markdown 格式生成,例如引用块、代码块、有无序列表、表格等,内容上支持字体样式(style)和内容的嵌套,适用于 IM 消息 Markdown 排版。

Rust语言笔记

Rust语言笔记

刘启春

本文不讨论是否选择 Rust,只做 Rust 介绍以及它最新动态的陈述,另外一些资料我会列在文末。

系统级开发语言一直是 C/C++ 的代名词,C 语言偏低层缺少类似 C++ 标准模版库这样的利器,虽然 C++ 开发效率高,但是复杂很难精通,而 Rust 语言同时兼顾了 C 和 C++,即有低层控制硬件的能力又有高级语言的语法特性,例如面向对象、范型等。

Rust 是一门静态语言,其源文件编译后可以不依赖 SDK 运行;Rust 具有安全的内存管理并且没有 GC,对于系统级别软件(文件系统、系统内核、驱动…)是不允许存在 Stop The World(俚语,暂停整个程序)的,对于内存管理的苦楚恐怕只有 C/C++ 程序员最清楚,常常引发问题的就是这块,Rust 以其独有的方法在编译前就解决了这块,相当于拥有了自动内存管理。

毕业后相聚

刘启春

三月软件 2022 届毕业生聚会,等这一天等了许久了,一提起就说“忙”、“有工作还需要加班”,今天可算抽出空来。

我们组织了两个活动:聚餐和泡温泉。

泡温泉是愉快的,的地方有许多不同样式的休息区,我们泡完在里面歇息了一会,享受了短暂的自由与快乐时光;吃饭是尽兴的,湘菜有些辣,无形地让聊天的话题变得炙热起来,等菜品吃的差不多看大家还意犹未尽,又点了几个菜,名曰“续杯”,伴随夕阳一起落下,天渐渐黑,最后心满意足了。

平凡的国庆,感受家的温暖

刘启春

国庆过完了,回来了,却回不去了。

国庆去了好几个地方,父母住的郑州、老家周口,还有新乡,在路上画了不少时间,不是在赶车就是在路上,虽然忙但做这些事是高兴的。

性能测试指标笔记

刘启春

我们经常说要提升程序的性能,提升性能的方法有很多,评判的依据是某些指标朝着好的方向发展,站在服务端首先能想到的是 QPS、TPS、RT,前端页面最常见的指标是页面加载速度、首屏有限显示时间,同意数据库、中间件使用什么指标度量也有许多。

公司的中秋礼盒

公司的中秋礼盒

刘启春

今年公司的中秋礼盒,可以看出 HR 很用心。

印象最深刻的是三封来自边远地区的信,来信的是退役军人,他们多从事护林、守卫边疆的工作,信的内容很质朴,从中我看到了他们的生活、意志、信仰,“未来当一个士兵”,“守卫好祖国的边疆”,“尽自己的绵薄之力,帮助父老乡亲致富”……这些不像那些伟大工程那般但同样值得被记住。

我想到了公司产品的 slogan —— “拥抱每一种生活”,我所理解的“拥抱”更多的等同“包容”,每个人都有不同的生活,精彩或不精彩,它是客观存在的,不能说不精彩就有错,存在就有其合理性。