肖恩技术周刊(第 53 期):编程的本质
周刊内容: 对一周内阅读的资讯或技术内容精品(个人向)进行总结,分类大致包含“业界资讯”、“技术博客”、“开源项目”和“学习资源”等。
更新时间: 周一
历史收录: 技术周刊合集
订阅方式: 微信公众号“肖恩聊技术”,除周刊外还有更多原创技术博文,欢迎关注👏🏻~
Programs = Algorithms + Data Structures
Algorithm = Logic + Control
编程的本质包括逻辑(Logic)、控制(Control)和数据(Data)。逻辑是问题的本质,控制是解决问题的策略,数据是问题的表现形式。编程范式和程序设计方法主要围绕这三方面工作,因此,有效地分离Logic、Control 和 Data 是写出好程序的关键所在。
为了解耦,可以使用状态机、DSL和编程范式等模型、工具和方法。更具体的,面向对象的设计模式是基础思维,C语言是必须学习的语言,C++语言是世界上范式最多的语言,Java 语言是综合能力最强的语言,而 Go 语言则是最适合入门的语言。
——《左耳听风》 陈皓著
## 业界资讯 ### [马斯克Grok-4碾压所有大模型!“比所有博士聪明”,AIME25拿满分](https://www.qbitai.com/2025/07/307398.html#/) 马斯克的Grok-4模型发布,其在多项基准测试中表现卓越,如AIME25获满分,SAT、GRE近乎满分,还具备强大推理、编程、药物发现等能力。训练量是Grok-2的100倍、Grok-3的10倍,依靠xAI的20万卡计算集群。发布直播中展示了与ChatGPT的语音对话对比,Grok-4明显更胜一筹。未来,Grok系列将推出更多模型,如编程模型、多模态Agent等,且Grok已融入特斯拉固件,将成为擎天柱人形机器人的大脑。
深夜开源首个万亿模型K2,压力给到OpenAI,Kimi时刻要来了?
月之暗面于2025年7月11日晚开源了Kimi K2大模型,包含基础模型Kimi-K2-Base和微调后模型Kimi-K2-Instruct,均可商用,API价格为16元人民币/百万token输出。Kimi K2在多个基准测试中成绩优异,超过一些开源和闭源模型,尤其代码能力突出,被认为是Claude 4 Sonnet的有力开源平替。其训练中引入MuonClip优化器解决训练稳定性问题,采用大规模Agentic数据合成策略解决真实工具交互数据稀缺难题,引入通用强化学习结合自我评价机制,推动强化学习技术向更广泛的应用场景扩展。
技术博客
深度剖析反向代理
深入探讨了反向代理在分布式系统中的核心功能、复杂性及优化策略。反向代理是分布式系统的关键组件,广泛应用于服务网格、负载均衡、边缘代理等场景。其主要功能包括连接管理、HTTP请求解析与头信息操作、服务发现、作为HTTP客户端以及可观察性。
文章重点分析了连接管理的复杂性,尤其是在处理高并发连接时的挑战。传统的阻塞I/O方式在多客户端场景下效率低下,而非阻塞I/O和I/O多路复用技术(如select、poll和epoll)能够显著提升性能。文章还讨论了C10k问题,即如何在单台主机上处理10,000个并发连接,事件驱动架构通过单个事件循环监控I/O状态并分发请求,但存在单线程局限性。随着多核处理器的普及,HAProxy和Nginx等代理软件通过多进程或多线程模型来提升性能,Envoy则利用SO_REUSEPORT特性实现负载均衡。此外,TLS支持和协议多样性也为连接管理带来了新的挑战。
文章最后指出,尽管连接管理是反向代理的基础功能,但在大规模场景下的实现极具挑战性,不同的代理软件通过多种技术优化以适应不同的使用场景,每种方法都有其优缺点,需根据需求谨慎选择。
JavaScript 核心
详细介绍了JavaScript中对象、原型链、构造函数、执行上下文栈、变量对象、激活对象、作用域链、闭包和this值等关键概念。对象是属性的集合,具有单一的原型对象,用于实现继承。原型链通过对象的__proto__属性实现,允许对象共享方法和属性。构造函数用于创建具有特定模式的对象,并自动设置其原型。执行上下文栈管理代码的运行时行为,每个上下文包含变量对象、this值和作用域链。变量对象存储上下文中的变量和函数声明,而激活对象是函数上下文中的变量对象,包含形式参数和arguments对象。作用域链用于查找代码中的标识符,闭包允许函数在父上下文结束后仍然访问父上下文中的变量。this值是一个与执行上下文相关的特殊对象,其值在进入上下文时确定。文章通过示例代码详细解释了这些概念,并提供了进一步阅读的建议。
如何构建智能体
文章通过构建电子邮件代理的案例,详细介绍了从想法到实际部署的六步框架。第一步是定义代理的工作范围并提供具体任务示例,确保任务现实且范围合适。第二步是设计详细的操作流程,明确人类完成任务的步骤。第三步是构建最小可行产品(MVP),专注于最关键的推理任务并设计有效的提示。第四步是将MVP与真实数据和用户输入连接起来,并编写协调逻辑。第五步是进行手动和自动化测试,确保代理在核心用例中表现良好。最后一步是部署、扩展和优化代理,根据用户反馈和实际使用情况进行迭代。文章强调,构建代理不仅是让其运行,而是要通过明确的用例、真实示例的测试和用户反馈来打造有用、可靠的工具。
开源项目
OpenHands:开发智能体
OpenHands(前身为OpenDevin)是一个由人工智能驱动的开源软件开发平台,旨在帮助开发者减少编码工作量并提升开发效率。它能够执行人类开发者可以做的任何任务,包括修改代码、运行命令、浏览网页、调用API等。
p2p:远程桌面软件
p2p 是一个开源的远程桌面软件,基于P2P技术,使用UDT协议,能够绕过大多数防火墙规则,实现两台计算机之间的远程桌面控制和消息发送。
n8n:代码工作流自动化平台
n8n 是一个代码工作流自动化平台,结合了代码灵活性与无代码速度,提供 400+ 集成和原生 AI 能力。用户可以编写 JavaScript/Python 代码、添加 npm 包或使用可视化界面构建自动化工作流,同时支持自托管和云部署。其核心功能包括代码支持、AI 原生平台、完全控制、企业级功能(如高级权限、SSO 和隔离部署)以及活跃社区支持。
学习资源
密码学101
免费面向所有年龄段和技能水平的程序员的密码学入门课程。包含理解完整系统(如SSL/TLS)所需的所有内容,涵盖块密码、流密码、哈希函数等。课程通过实践学习,教授如何利用常见密码学缺陷,如伪造管理员cookie、恢复密码等。
Red Hat 技术写作风格指南
指南旨在为Red Hat的技术文档提供一致的写作风格和语言规范。它涵盖了语法、标点、排版设计、语言选择、清晰简洁的写作技巧以及交叉引用的使用等多方面内容。此外,还包括了一个用法词典,提供了特定术语的正确使用方法和推荐的拼写形式。
Redis 历史版本
Redis创始人antirez提供的早期Redis版本,并讲述了相关的历史和背景。
随便看看
盘古之殇
本文是花厂诺亚方舟实验室员工对盘古大模型研发历程的披露。文章指出,盘古团队在研发过程中面临诸多困境,包括算力有限、架构落后、tokenizer效率低下等问题,导致与国内其他公司的差距逐渐拉大。小模型实验室多次套壳其他模型并冒充盘古模型,严重打击了团队士气,导致大量人才流失。在核心成员的努力下,盘古团队从头训练了第三代模型,包括135B V3(Pangu Ultra),效果与同期竞品相当。然而,花厂内部的繁重流程管理严重拖累了大模型的研发节奏,小模型实验室却不受约束,随意套壳和获取算力资源。作者对花厂内部管理问题和造假行为感到失望和愤怒,决定离职,并希望花厂能吸取教训,真正做好盘古模型,把昇腾打造成世界一流算力。
CPython 即时编译器两年反思:优点、缺点与不足
作者对CPython JIT编译器两年工作的反思。JIT目前是社区驱动的项目,尽管微软裁员影响了团队,但社区建设成果显著,有更多新贡献者加入。追踪式JIT的设计使项目易于教学,团队也积极培养没有编译器背景的人参与。然而,性能方面仍面临挑战。CPython 3.13的JIT速度慢于解释器,3.14虽有改进,但总体仍不理想。媒体对JIT性能的报道存在误解,3.13 JIT很多时候比解释器慢得多,而一些错误的性能数据误导了用户。尽管如此,作者对JIT的未来保持乐观,目前社区正在壮大,新的优化正在推进,可能会在3.15中带来一定的性能提升。作者呼吁更多人参与测试和改进,共同推动JIT的发展。
Stack Overflow 的新时代
2025年7月10日,Stack Overflow在WeAreDevelopers大会上宣布了其新的愿景、使命和产品更新。自2008年成立以来,Stack Overflow经历了云计算、远程工作和人工智能等技术变革。2025年,开发者使用AI工具的比例增加,但对其输出的信任度却在下降。Stack Overflow计划通过提供可信的人类智能层来填补这一信任缺口,致力于成为全球技术爱好者的可靠知识来源。
Stack Overflow简化了品牌架构,将公共平台统称为Stack Overflow,而Stack Overflow Business将包括广告业务、Stack Internal和Stack Data Licensing。新的社区互动功能包括社区活动和聊天,为开发者提供更轻松的交流空间。学习工具方面,Stack Overflow推出了Stackoverflow.ai 和编程挑战,帮助开发者提升技能。企业解决方案方面,Stack Overflow for Teams(现Stack Internal)推出了知识摄取、新的连接器和即将推出的双向MCP服务器功能。此外,Stack Overflow还在探索更新其视觉身份,并邀请全球用户参与投票。