肖恩技术周刊(第 45 期):冰冷的规则
周刊内容: 对一周内阅读的资讯或技术内容精品(个人向)进行总结,分类大致包含“业界资讯”、“技术博客”、“开源项目”和“学习资源”等。
更新时间: 周一
历史收录: 技术周刊合集
订阅方式: 微信公众号“肖恩聊技术”,除周刊外还有更多原创技术博文,欢迎关注👏🏻~
开篇图
事情是这样的,5月初刚给娃买了奶粉,最近618启动就再看了一下价格,好家伙直接便宜了300多(总价2000)。买之前也看了价格追踪软件,去年的最低价和我买时差不多,所以就没等618提前下了单(毕竟娃吃奶也等不了)。虽然7天保价超过了3天,但想着这么大的价格波动,多少会有些补偿吧,就问了下商家客服(非自营店),但也没抱太大希望。
但和客服一聊就来气了,张口闭口就是没有、不行、平台要求和正常价格波动这种车轱辘话,态度冷漠机械,还给我截那种详情页字小的不能再小的截图,和当时让我好评返现时态度简直判若两人。其实之前也在这家店买过3次了,后面也有复购的需求,况且也不是追究久远订单的补偿,如果是任何一家线下店或者是想做回头客生意的店,多少会照顾一点老顾客吧。
也在小🍠上看了一些经验贴,但嫌麻烦上班还忙,沟通无果想着只能咽下。不过我媳妇是个维权老手了,后面直接找了平台Plus专属客服寻求解决。具体的过程不详述了,简而言之就是商家不愿意和平台一起承担差价,平台侧最后提供了一些补偿金(估计是看在了11年老用户和7年Plus上吧)。
就事情本身来说不算啥大事,商家、平台不作任何补偿也无可厚非,但在这个过程中,我深刻感受到了规则的冷漠和人的无能为力。只按规则办事,没有丝毫的人情味。但所有工具和规则都是为人服务,若人离开了,还有什么用呢?
对于规则,除了严苛时间限制的保价功能,对于哪些在极短周期内价格剧烈波动的商品,是否也能提供一些补偿措施呢?至少对于我这样价格敏感型客户,还是挺能提升用户粘性。
业界资讯
Codex:OpenAI推出的编程智能体
OpenAI推出了Codex,一个基于云端的软件工程代理,由优化后的Codex-1驱动,专为软件工程设计。它能够并行处理多项任务,支持ChatGPT Pro、Enterprise和Team用户,未来也将向Plus和Edu用户开放。用户可以通过ChatGPT侧边栏访问Codex,为其分配编码任务。Codex在独立沙盒环境中运行,可以读取、编辑文件并运行命令,任务完成时间通常在1到30分钟之间,用户可实时监控进度。
技术博客
工程权衡:最终一致性(英文)
本文探讨了在现代分布式系统中,为何最终一致性比强一致性更为重要。以打车应用为例,若追求强一致性,系统会在后台服务达成完美一致前拒绝显示任何信息,导致用户界面卡顿。而采用最终一致性,系统可先显示部分信息,后续再进行数据同步与校正。现代应用多基于事件驱动的分布式系统,数据异步流动,组件独立更新,这使得一致性无法立即保证。最终一致性允许组件独立工作,之后再进行协调,优先考虑可用性和响应速度。文章还介绍了如何在事件驱动的世界中构建具有最终一致性的系统,包括处理事件顺序错乱和设计能应对延迟的系统。
这才是真正的Git——Git实用技巧
文章主要介绍了Git的一些实用技巧,包括将多个commit压缩成一个、找回丢失的commit节点或分支、获得干净的工作空间、修改最近一个commit、提交文件的部分修改、禁止修改多人共用的远端分支、撤销合并、从历史中删除文件以及其他一些好用的命令。文章通过操作录屏的方式让读者更直观地了解命令的使用方法,每个技巧都是独立的,读者可以根据自己的需要学习。
将 “if” 语句上移,将 “for” 语句下移(英文)
本文提出了两个编程优化原则:“将条件判断(if)上移”和“将循环操作(for)下移”。作者建议将函数内部的条件判断逻辑推到调用者层面,通过类型检查或前置断言集中控制流程,减少重复检查,避免冗余逻辑。例如,通过将枚举匹配逻辑上移至主函数,可以简化代码结构,避免分支冗余。
同时,作者提倡将循环操作推到数据层面,引入“批量”概念,将批量处理作为基础情况,单个操作作为特殊情况,从而分摊启动成本,提高性能。例如,FFT算法通过批量处理多个点来优化性能。这两种优化方式可以结合使用,例如将条件判断移出循环,减少分支,可能解锁向量化操作。这种模式在微小层面和宏观架构设计中都有效,如TigerBeetle架构通过数据平面的批量处理分摊控制平面决策成本。这些优化方法有助于简化代码、提升性能,并使程序更具表达性。
开源项目
fastmcp:构建 MCP 服务器和客户端工具
用于构建 MCP(Model Context Protocol,模型上下文协议)服务器和客户端的 Python 库。
browser-use:让AI控制浏览器
browser-use 是一个开源项目,允许 AI 代理通过浏览器执行任务。它支持多种语言模型,如 OpenAI 和 DeepSeek,并提供快速安装和使用指南。用户可以通过 pip 安装,并使用 Playwright 安装浏览器。
uv:Python包和项目管理器
一个由Rust编写的极快速Python包和项目管理器。它集成了pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等多个工具的功能,速度比pip快10 - 100倍。它提供全面的项目管理,包括通用锁定文件、脚本运行支持、Python版本安装管理等功能。
学习资源
DNS 如何工作:理解互联网地址簿指南
详细介绍了DNS的工作原理,包括DNS解析过程、查找第一个DNS服务器的方法、DNS解析如何驱动应用程序的网络请求、递归解析器与根、顶级域名(TLD)和权威域名服务器的交互,以及域名注册商在DNS设置中的作用。DNS通过将域名转换为IP地址,使互联网用户能够轻松访问网站。还探讨了DNS缓存的工作原理以及如何为新域名设置DNS。
程序员做饭指南
一个专为程序员设计的开源烹饪指南,通过模块化的菜谱和清晰的步骤描述,帮助程序员轻松在家做饭。它不仅提供了丰富的菜谱资源,还涵盖了厨房准备、烹饪技巧、食品安全等多方面内容,适合不同烹饪水平的用户学习和实践。
随便看看
关于AI创作的思考(英文)
文章探讨了人工智能(AI)对其创作和思考能力的影响。作者发现,在AI的背景下,自己的写作、编程和项目创作变得毫无价值,因为AI能够更高效、更完善地完成这些任务。过去,通过写作整理思路并获得认可,但如今,AI能够快速生成完整的想法,导致他的思考能力退化,分享意愿降低。作者意识到,尽管使用AI能获取知识,但缺乏自主思考过程中的智力成长,反而让他变得更迟钝。
作者反思自己可能错误地将AI当作思维辅助工具,而实际上它更像是让人陷入麻木的工具。AI的输出虽然完善,但缺乏自主思考过程中的智力锻炼。尽管作者知道得更多了,却感觉失去了对知识的深入理解。尽管如此,他仍坚持用自己的方式表达想法,认为直接传达原始想法仍然有意义。他提醒读者,在AI时代,我们不能完全依赖技术,而应努力保持自主思考的能力,以应对未来的挑战。
21 条来自观察人群的发现(英文)
这篇文章是作者通过观察婚礼等社交场合中人们的互动,分享了对人类社交行为的深刻洞察。作者从多个角度分析了人们在交流中的细微表现,包括注意力的集中度、情感表达的真实性、与他人互动的开放性等。她指出,通过观察人们的语调、语气和行为,可以感知到他们的情绪状态、自尊水平以及对世界的爱与接受程度。
文章提到,注意力的性质像光谱,从跳跃到稳定不等,而解离状态则是注意力的缺失。作者还讨论了调情的本质,认为这是一种营销行为,试图通过展示自己来获得他人的回应。她还区分了快乐与礼貌的不同,快乐是自然流露的,而礼貌则是经过计算的。
在社交互动中,作者观察到人们与世界互动的方式反映了他们是否接纳自己。那些接纳自己的人通常不会对他人表现出强烈的敌意,而那些自视甚高的人往往不愿给予他人真正的关注。此外,作者还提到,通过观察一个人的肢体语言和表情,可以判断他们是否相信自己有权存在,以及他们的情绪历史。
文章还探讨了亲密关系中的信任问题,指出情侣之间的信任可以通过他们与他人互动的方式体现出来。作者最喜欢的那类人,他们的动作有一种弹性,表现出对每个人的无条件接受,这种开放性和好奇心使他们很受人喜爱。
总的来说,这篇文章通过对社交场合中人们行为的细致观察,揭示了人类社交互动的复杂性和多样性,展现了人们在交流中的真实情感和心理状态。