编程技术笔记

“最近发展区” 理论

最近发展区理论 是教育学上的一个概念,它把人理解事物的等级做了区分,使教育者可以使用这个理论评估学生和教学内容,以达到最优的教学效率。最近发展区理论具备一定的普适性,也可以用在日常沟通、会议、汇报、分享等场景中,作为评估用户的方法。

根据 “最近发展区” 理论,可以人把当前具备的知识划分为三个级别:知识舒适区、最近发展区、知识困难区。

  • 知识舒适区:人已有的知识,理解应用这些知识自然且没有压力
  • 最近发展区:人可以根据已有的知识可能达到的知识,通常需要借助外力达到;
  • 知识困难区:知识超过了人能理解的范围,理解应用这些知识困难

如果把我们日常场景分成两类:沟通交流(会议、汇报)、分享教学(分享、讲课),那么:

  • 在沟通交流的活动中,应该尽量在双方的知识舒适区进行交谈、讨论,避免出现知识困难区的词汇、概念;

  • 在分享教学活动中,最应该关注的是受众群体的最近发展区,最近发展区的知识能有利地让受众成长和受到启发。知识的掌握是一个循序渐进的过程,知识的准备需要遵循这样的逻辑与原理,在准备时首先要找到受众群体的上限和下限(受众群体存在差异时要找重叠区),在组织材料时通常由下限逐渐延伸至上限。

数据优先级

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

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

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

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

MdKiller —— Markdown 杀手。

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

Rust语言笔记

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

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

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

在 Linux 上排查日志的技巧

业务中避不开的就是在解决 bug 的过程中查看业务系统的日志,经常会面临大日志文件,还有日志文件检索问题,这篇文章介绍使用 tail less grep 命令排查日志使用技巧。

之前写过的 Linux 命令、Shell 相关教程,可以帮助了解这篇文章用到的命令。

毕业后相聚

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

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

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

Linux|手动安装 MySQL 教程

使用手动方式安装 MySQL,手动配置 MySQL,使用 systemd 托管 MySQL 启动。

香山公园

香山公园游览 @JT、@HZY、@JXH。

《古树》
《古树》

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

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

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

性能测试指标笔记

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