肖恩技术周刊(第 26 期):无痛写作
周刊内容: 对一周内阅读的资讯或技术内容精品(个人向)进行总结,分类大致包含“业界资讯”、“技术博客”、“开源项目”和“学习资源”等。
更新时间: 周一
历史收录: 技术周刊合集
订阅方式: 微信公众号“肖恩聊技术”,除周刊外还有更多原创技术博文,欢迎关注👏🏻~
开篇图
写作相关的工具,这几个月可没少折腾。先是选了一个好用的笔记工具 Obsidian,并自建了图床解决了图片管理问题。写作时是舒坦了,但写作后除了push到Github外还需要手动发布到公众号和个人博客,还是比较痛苦。博客由于调整格式太麻烦,最近都放弃同步了。
那如何解决这最后一环真正实现无痛写作呢?当然是基于Github变更能自动发布最好啦。这一周重新了解了一下静态网站建站工具和托管平台,之前逮到一个能用就咔咔搞了,也没有详细对比过,才发现原来静态博客除了域名不需要花一分就能搭建。接着也粗略了解了GitHub Actions,可以结合微信的API实现文章自动发布到草稿箱。是时候补齐写作工作流的最后一环,实现真正的无痛写作啦!
业界资讯
Chrome 牵头成立「浏览器选择联盟」,目标是 “反 Microsoft Edge”
浏览器选择联盟是一个由Chrome、Opera、Vivaldi等浏览器联合成立的组织,旨在反对Microsoft Edge在Windows平台的垄断行为。该联盟强调用户应有权选择自己偏好的浏览器,并列举了Microsoft Edge的多项不正当竞争手段,如在下载第三方浏览器时弹出安全警告、更改默认浏览器时设置障碍,以及在用户搜索其他浏览器时诱导用户切换到Edge。联盟官网提供了更多相关信息,旨在维护浏览器市场的公平竞争和用户选择权。
Deno 请求美国专利商标局撤销 Oracle 的 “JavaScript” 商标
Deno Land 向美国专利商标局提交申请,要求撤销 Oracle 对 "JavaScript" 商标的所有权,以消除社区使用该名称的法律障碍。Deno 创始人 Ryan Dahl 认为,撤销商标将使会议和规范能直接使用 "JavaScript" 名称,社区也不必担心法律威胁。请愿基于三个主张:JavaScript 是通用名称,Oracle 提交欺诈性证据续展商标,以及 Oracle 已放弃使用该商标。Dahl 希望 Oracle 承认 "JavaScript" 属于全球社区,否则将通过法律途径证明 Oracle 未按法律要求使用商标。Oracle 需在 2025 年 1 月 4 日前回应,否则 Deno 可能默认胜诉,诉讼过程将公开透明。
开源压缩软件 7-Zip 被曝严重安全漏洞
开源压缩软件7-Zip被发现存在严重安全漏洞CVE-2024-11477,该漏洞允许远程攻击者在用户解压缩Zstandard格式文件时执行恶意代码。漏洞由Zstandard解压缩实现中的数据验证不当引起,可能导致整数下溢,从而使攻击者能在当前进程上下文中执行代码。受影响的系统可能被执行任意代码、获取登录用户权限甚至完全绕过系统。Zstandard格式在Linux环境中广泛应用。7-Zip已在24.07版本中修复此问题,建议用户手动更新至最新版本以保护系统安全。
技术博客
代码千行不如架构图一张!论契约平台的设计与思考
本文讨论了软件开发中沟通不畅导致的常见问题,并提出了契约式设计作为解决方案。文章通过实际案例分析了文档更新不及时、变更通知不到位、错误码不明确等问题,并强调了信息有效传递的重要性。契约式设计通过明确责任和义务,帮助系统更好地沟通,降低系统熵,提高软件可靠性。文章还讨论了如何利用AI技术辅助契约式设计,以及契约在研发流程中的广义应用。
文章指出,在软件开发过程中,沟通不畅会导致文档更新不及时、服务变更未知情、错误码含义不明确等问题,严重影响研发效率和软件质量。这些问题的根源在于信息传递的不顺畅和责任划分的不明确。契约式设计通过在系统间明确责任和义务,帮助降低系统熵,提高软件的可靠性和稳定性。这种设计方法不仅适用于技术层面,还可以扩展到整个研发流程,包括业务建模、分析和设计阶段。
文章还提到了防御性编程的重要性,并提出了利用AI技术辅助契约式设计,以减少重复工作,提高开发效率。通过AI技术,可以自动生成和维护契约文档,确保文档的及时更新和准确性,从而提高团队间的沟通效率。
总之,契约式设计是一种有效的沟通工具,可以帮助团队明确责任,提高软件的可靠性和稳定性。通过结合AI技术,契约式设计可以进一步优化研发流程,提高开发效率。
基于Redis内核的热key统计实现方案
本文讨论了Redis中的热key问题及其对性能的影响,并介绍了几种常见的热key探测方法。热key是指访问频率极高的key,可能导致CPU资源占用高,影响Redis性能。常见的探测方法包括使用Redis-cli的hotkeys参数、monitor命令统计、Redis节点抓包分析以及Client/Proxy端收集,但这些方法各有局限性。
得物技术提出了一种基于Redis内核的热key统计方案,该方案实时性强,信息详细,支持订阅与查询功能,有效解决了热key探测的难点。方案包含热key统计和通知模块,能在Redis-server端实现。热key统计模块基于LRU队列,统计key每秒访问次数,超过阈值则判定为热key,同时区分读热key与写热key。热key通知模块提供读热key、写热key、热key失效三个订阅通道,Redis-server会主动向订阅通道广播热key消息。此外,还支持热key记录查询与重置命令,允许查询和重置读命令和写命令的热key日志。这一方案为热key探测提供了一种新的解决方案,有助于提高Redis的性能和稳定性。
开源项目
screenshot-to-code:截图生成前端代码
screenshot-to-code通过AI将截图、草图和Figma设计转换成干净、功能性的前端代码。目前支持Claude Sonnet 3.5和GPT-4o模型。
rewrite:自动化代码重构工具
OpenRewrite是一个开源的自动化代码重构工具,它通过修改Lossless Semantic Trees (LSTs)并重新打印源代码来工作,保持代码原始格式。它最初支持Java,但正在扩展对更多语言和框架的支持。开发者可以创建和运行自己的重构食谱,以获得想要的重构效果。
marker:PDF快速转换成Markdown、JSON和HTML格式
marker能够将PDF文件快速且准确地转换成Markdown、JSON和HTML格式。
学习资源
NVIDIA 新开发者福利:600元AI课程免费学,还有机会获得NVIDIA培训证书
NVIDIA为新开发者提供免费学习价值600元的AI在线课程,并有机会获得官方培训证书。课程覆盖生成式AI、大语言模型、图形仿真、加速计算、数据科学和深度学习等五大领域,提供云端实验环境和实践机会,助力专业技能提升。
git-cheat-sheet:速查Git命令
速查Git命令。
看见概率论:交互式学习概率论
交互式学习平台,通过直观演示和实际案例,使概率论的学习变得有趣和易于理解。平台涵盖了大数定理、贝叶斯定理、凯利公式等核心概念,并提供了经典概率趣题的互动演示。
随便看看
连接全球的海底光缆有多脆弱?
全球互联网依赖海底光缆传输95%以上的数据,这些光缆总长140万公里,对现代通信至关重要。尽管海底光缆技术不断进步,它们每年仍会发生约150-200起损坏事件,主要因人类活动导致。
中国华海通信技术有限公司已成为全球海底光缆行业的领先企业之一。尽管海底光缆的维护和修复技术已相当成熟,但部分国家仍对中国的海底光缆工程进行无端抹黑,以国家安全为由进行阻挠。美国在全球监控网络中扮演着关键角色,试图排除中国在全球海底光缆项目中的影响。海底光缆不仅是技术成就,也是国际政治和经济竞争的焦点。
1个数据集的100种可视化效果
文章从单一数据集中创造100个不同的可视化效果,展示了数据可视化的多样性和复杂性。