若要给龙年的自己一个关键词,那非“折腾”莫属。
工作上这一年达成目标,也逐渐在团队中扮演更重要的角色。家庭上喜迎迷你谢(辛苦火火妈咪),家庭读书会办了 7 场,促进了三代人(迷你谢也开始旁听了!)的关系和睦。个人上技术能力有所突破,认知也在缓慢迭代中,公众号保持住了更新频率,可喜可贺。
由于个人总结很大程度上是写给自己看的,通过给记忆加一个锚点,让回顾的时候有迹可循。因此下面内容会有点流水账,大家选感兴趣的读读就好。
若要给龙年的自己一个关键词,那非“折腾”莫属。
工作上这一年达成目标,也逐渐在团队中扮演更重要的角色。家庭上喜迎迷你谢(辛苦火火妈咪),家庭读书会办了 7 场,促进了三代人(迷你谢也开始旁听了!)的关系和睦。个人上技术能力有所突破,认知也在缓慢迭代中,公众号保持住了更新频率,可喜可贺。
由于个人总结很大程度上是写给自己看的,通过给记忆加一个锚点,让回顾的时候有迹可循。因此下面内容会有点流水账,大家选感兴趣的读读就好。
Code visualization is the process of creating graphical representations of source code to help understand and analyze it.
代码可视化是创建源代码的图形表示以帮助理解和分析它的过程。
个人理解:通过使用图形化手段(架构图、依赖图、分布式追踪、类图、火焰图、CallGraph等)使代码在某些特征上变得可观测,用于辅助开发人员理解分析项目或建设一些自动化工具。

在《肖恩技术周刊25年总结》的来年规划中有一项是提升周刊的全流程自动化。终极目标是让个人只聚焦于阅读和笔记,剩下的交给工具,让它自己“写”出一篇周刊。
但若纯靠自己撸代码实现工具,虽然也能完成,但成本会高很多。一方面技术栈不熟,先学再写,时间成本过高;另一方面,日常事务繁忙,根本无法抽出整块时间进行沉浸式编程。
于是,我自然就想到了和AI结对编程。既能满足需求,又能借此深入了解市面上的各种AI编程工具,完成对AI编程的探索,可谓一举两得。
事不宜迟,说干就干!
PS:嫌“太长不看”的朋友可直接跳到总结部分。
本文最早撰写于4月,当时效果一般且工具JoyCode未开放外网因此文章也未发布。经过8个月的发展,编程智能体有了很大进步,越来越可用,生成的效果也越来越好。因此在新工具上执行了文章中相关案例,重新整理发布一下。
XML之父Tim Bray有个好玩的说法:“代码不写测试就像上了厕所不洗手……单元测试是对软件未来的一项必不可少的投资。” 从下图可以了解到85%的缺陷都在编码阶段产生,而发现Bug的阶段越靠后,修复成本就越高,而且是指数级别的增高!
从缺陷修复成本出发,单元测试的含金量不言而喻。

省流总结:
LLM之所以能“知道”应调用哪个MCP服务及其参数,并不是源自模型本身具备实时解析接口的能力,而是依赖于智能体框架在运行时自动收集、整理所有可用服务的描述和参数定义(schema)。
这些结构化信息通过特定的Prompt或函数调用协议作为上下文注入LLM。LLM基于用户输入和这些服务信息推理出是否需要发起服务调用,并以标准化格式(如JSON)输出调用指令和参数。
框架再解析LLM输出并完成实际调用,并将结果返回给大模型进行后续处理。

成年人缓解焦虑的三种方式:阅读、运动和冥想。其中阅读的门槛和成本最低,通过碎片化阅读能有效利用垃圾时间,在缓解焦虑的同时提升自己。但在这个信息爆炸的时代,优质信息反而更难发现。
首先是信息分散,各类APP、公众号、网站和newsletter像一盘散沙,阅读时需要反复切换、筛选,进一步消耗本就稀缺的时间和精力。
其次是信息密度低,内容形式日益短视频化,降低了碎片化阅读的效率。
再者是算法困境,各类APP为留住用户都会使用推荐算法,通过分析用户的行为和偏好,推荐“感兴趣”的内容给用户,但算法收集的信息毕竟有限,会导致推荐的内容单一,用户的行为又会进一步加重这种单一化,最终形成信息茧房。
最后是AI的冲击,低成本的AI工具快速生成了大量垃圾内容,充斥在各大平台,严重干扰到有价值内容的获取。
针对以上问题,如果有这样一个工具,能够统一整合所有类型的信息源,让我们在碎片化的时间里,像刷短视频一样阅读,岂不美滋滋?
面试中问到 TCP 相关知识时一般会问到三次握手和四次挥手,内容大家一定回答过很多次并熟记于心了。传统的 TCP 建立连接时需要三次握手,并且握手时只发送简单的 SYN 和 ACK 报文(部分优化的网络协议栈可以在第三次握手时直接发送数据)。
从网络带宽的资源利用的角度来看,传输层的 TCP 头部 + 网络层的 IP 头部,最少有 40 个字节,为了发送几个字节的报文数据包,而额外组装了 40 个字节的头部,着实有点浪费资源。
从应用优化的角度来看,因为要等到 TCP 经过三次握手建立连接之后才能发送应用层数据,所以会造成应用程序首次发送数据时存在一定的延迟,尤其是短连接、移动设备等场景中,这种副作用会加剧。
为解决上述问题,TCP Fast Open 应运而生。
2022年12月OpenAI推出ChatGPT,经过2023一整年迭代和各方势力追赶,在24年迎来了集体的爆发。各式各样的工具层出不穷,从最开始的聊天机器人,到AI写作工具、AI图像工具、AI视频工具、AI幻灯片工具和AI编程工具等等。好像任何和内容创作相关的场景都可以和大模型挂钩,都能产生“化学反应”。
最近干货吸收的有点多,脑子快转不动了。闲暇时搜罗了一些编程相关的趣事,放松一下。相关内容没有进行严格考证,大家图一乐就好~
Mac 自带的终端很简陋,缺少很多必要的功能,用户体验较差。但一个好用的终端将直接给开发人员的工作效率带来极大提升,毕竟很多操作是直接在命令行上执行的。笔者对终端有几个基本的诉求:
当然还有一些非必要的功能,有的话可以锦上添花,例如: