2025-02
发布于 2025年2月9日
我的每日阅读,感兴趣的可以每隔一段时间来看一眼。上一期:2025-01
2025-02-28
- Dify v1.0.0 正式上线|不惧“模”改,随需而变 Dify 发布了具有里程碑意义的 v1.0.0 版本,带来了三个重要更新:1) 全新的插件化架构,将模型和工具迁移为插件形式,支持热插拔,并推出了包含 120+ 插件的 Marketplace;2) 工作流增强,新增 Agent 节点支持智能决策,并可通过 Agent 策略插件提供推理策略;3) 开放生态建设,通过扩展类插件实现与外部平台的连接,支持多模态交互。Dify 致力于打造下一代 AI 应用开发平台,重点提升推理能力、行动能力、动态记忆和多模态 I/O 四大核心能力。目前社区版下载量已超 240 万,正在为众多世界 500 强企业提供服务。未来 Dify 将继续完善插件机制,建立合作伙伴生态,推动技术创新与资源共享。
- Raycast AI 用的好是神器,用不好是鸡肋 Raycast 是一款为 Mac 设计的效率工具,最大特色是 AI 功能的加持。文章介绍了几个核心用法:1) AI Chat 功能支持各类 AI 模型且额度充足,建议设置快捷键随时调用,可以替代搜索引擎的很多场景。2) 浏览器增强功能,通过 Chrome 插件可以对任意网页内容进行 AI 分析,支持总结、翻译等。3) AI Extension 新功能支持语音对话控制软件,可以实现跨应用的工作流。4) 基础功能包括 Snippet(文本快速补全)、窗口管理、计算器、时区查询等小工具,加上商店 1000 多个扩展,几乎覆盖所有主流软件。虽然目前仅支持 Mac 系统是个遗憾,但设置合适的使用场景和触发方式,Raycast AI 确实是提升效率的神器。
- macOS Tips & Tricks - saurabhs.org 这是一份 macOS 使用技巧的详尽总结,主要包含以下几个方面:1) 通用操作:包括界面快捷键、截图技巧、文件对话框操作、窗口管理等基础功能;2) 系统应用技巧:涵盖了 Finder、Dock、Spotlight、Safari、Mail、Preview 等常用应用的使用技巧;3) 功能性应用技巧:如 Calendar、Messages、Photos、TextEdit、Terminal、Calculator 等工具型应用的使用方法。这些技巧大多通过组合键(如 Command、Option、Shift 等)来实现,能让用户更高效地使用 macOS。其中很多操作都很实用但不太为人所知,比如按住 Option 键可以实现更精细的控制,或者使用 Command + 字母快捷键来快速执行菜单操作等。
- Rerun commands with the built-in “r” command | Stefan Judis Web Development 这篇文章介绍了在终端中
r
命令的使用方法。r
是 zsh shell 的内置命令,实际上等同于fc -e -
。fc
命令(可能是 “fix command” 或 “find command” 的缩写)允许用户显示、编辑或执行 shell 历史记录中的命令。使用r
可以快速重复执行上一条命令,比如echo "hello world"
后输入r
会重新执行这条命令。更棒的是,你还可以通过添加参数来重新执行指定的命令,如r ls
会重新执行最近的ls
命令。虽然关于fc -e -
的具体行为在文档中并没有详细说明,但r
命令确实是一个方便的工具,让你无需使用方向键就能重新执行命令。
2025-02-27
- Introducing Fullstack-Bench 这篇文章介绍了 Fullstack-Bench,一个用于测试 AI 编码能力的基准测试框架。主要内容如下:1) 框架包含 3 个难度递增的任务:聊天应用、待办事项和文件系统,每个任务都提供了前端代码,要求 AI 来实现后端功能。2) 支持 3 种不同的后端实现方案:Supabase、FastAPI 和 Convex。3) 实验结果表明,成功的自动编程需要具备三个要素:紧密的自动反馈循环、标准的过程式代码表达、强大且不容易出错的抽象。在实验中,Convex 表现最好,AI 几乎可以一次性完成简单任务,而无需人工干预。这个研究对于理解 AI 编码能力的局限性和改进方向具有重要意义,未来会继续扩展支持更多后端和任务类型。
- How I learned to code with my voice 这是一篇作者分享如何通过语音编程的亲身经历。2025 年 1 月,作者因手部疼痛而无法正常工作,被迫学习使用语音来编程。主要使用了 4 个工具:1) Talon:强大的语音控制软件,专为软件工程师设计;2) Cursorless:配合 Talon 使用的 VSCode 导航工具;3) Apple Voice Control:适合基础任务的语音控制;4) Rango:改善网页浏览体验的浏览器扩展。作者还尝试了 Serenade 和 AI 代码生成等方案但效果不理想。她分享了一些重要建议:需要慢慢来、从基础开始、循序渐进地学习,先掌握 Talon 字母表再尝试编码。经过两周练习,作者已经能用语音完成 80% 的工作。这段经历让她意识到,作为 Web 开发者要时刻关注可访问性,因为任何人都可能面临暂时或永久性的障碍。
2025-02-26
- Bundling dependencies (and when not to do it) | e18e 这篇文章主要讨论了何时应该或不应该打包依赖包的问题。作者从实用角度出发给出了建议:1) 对于开发者工具(如 Vite 和 Storybook),打包依赖是合理的,因为可以提前进行 tree-shaking,减轻用户负担;2) 打包依赖的其他合理场景包括:处理只在内部使用的依赖、解决 CommonJS 模块在浏览器中的兼容性问题、使用依赖包中的小部分功能等。但作者也指出打包依赖存在明显缺点:无法获得下载量统计、失去 npm 依赖去重的好处、安全更新需要自行处理、隐藏了实际的依赖树等。对于库的开发者来说,打包依赖通常不是最佳选择,更好的做法是改进上游依赖或寻找替代方案。
- React Performance: Common Problems & Their Solutions | Product Blog • Sentry 这是一篇关于 React 性能优化的全面指南。主要讨论了以下几个方面的问题及解决方案: 1) 大型 bundle 体积问题,建议使用打包工具优化、减少依赖、启用压缩等 2) 资源优化,包括图片、字体等资源的压缩和按需加载 3) 避免不必要的重渲染,可使用 memo、useMemo、useCallback 等方法 4) 优化组件和状态结构,合理拆分组件和使用 Context API 5) 减少网络请求和延迟,使用 SSR、CDN 和缓存策略 6) 避免资源浪费,合理使用 Web Workers 和清理内存 7) 优化加载策略,实现懒加载和资源优先级控制 8) 提升用户体验的感知性能,如使用骨架屏、loading 提示等。文章还推荐了一些性能测量、调试和监控的工具,如 Chrome DevTools、Lighthouse、React DevTools 等,对想要优化 React 应用性能的开发者很有帮助。
- How Core Git Developers Configure Git 这篇文章介绍了 Git 核心开发者推荐的一些 Git 配置设置。作者将这些设置分为三类: 1) 明显改进 Git 体验的设置,包括分支排序、更好的 diff 算法、推送和获取配置等; 2) 无害但有用的设置,如自动纠错提示、显示详细的提交信息、重用冲突解决方案等; 3) 个人偏好设置,如合并冲突样式、pull 策略、文件系统监控等。文章详细解释了每个设置的作用和原理,并提供了实际的配置示例。
2025-02-25
- Claude 3.7 Sonnet and Claude Code 这篇文章介绍了 Anthropic 发布的最新模型 Claude 3.7 Sonnet 和配套工具 Claude Code。主要亮点有:1) Claude 3.7 Sonnet 是首个混合推理模型,可以根据需要快速回答或进行深度思考,用户还能控制思考的时长;2) 在编程和前端开发方面表现出色,在多个基准测试中都达到了最佳水平;3) 定价与之前版本相同,每百万输入 token 收费 3 美元,输出 token 15 美元;4) Claude Code 作为一个代码开发工具可以直接在终端中工作,能够搜索和阅读代码、编辑文件、编写测试等;5) GitHub 集成功能现已在所有 Claude 计划中可用。
- A Million Little Secrets • Josh W. Comeau 这篇文章介绍了作者为新课程《Whimsical Animations》制作的落地页面背后的一些技术细节。主要包含以下几个方面:1) SVG 动画:通过操作 SVG 的不同部分实现图标的动态效果;2) 粒子效果:使用极坐标系统来控制粒子的运动方向和距离;3) 精灵图(Sprite)技术:将 22 个形状合并为一张图片以优化加载,并通过 object-position 来显示单个形状;4) 磨砂玻璃效果:结合 backdrop-filter 和 clip-path 实现半透明效果;5) 音效处理:通过录制多个音效样本并随机播放来增加自然感。作者还在页面中加入了一个完全功能的合成器作为复活节彩蛋。整体来看,这个落地页面融合了多种创新的动画和交互技术,展现了网页设计的趣味性。
2025-02-24
- MCP 是什么,现状和未来 | OneV’s Den 这篇文章介绍了 Anthropic 在 2024 年底推出的 MCP(Model Context Protocol,模型上下文协议)。主要内容是:1) MCP 通过标准化接口让 LLM 能够获取外部信息并执行具体任务,解决了 LLM 无法访问专属内容和实时信息的问题。2) 目前主要支持 Claude 系列模型,通过本地运行 MCP Server 来保证安全性。3) MCP 目前面临几个挑战:一是安全性和易用性的平衡问题,二是作为开放标准在 AI 竞争中的生存问题。4) 文章对未来做出预测,认为未来可能会出现"原生的 AI API",让各个专业模型之间直接对话完成任务,不再需要人工编写结构化的调用接口。总的来说,MCP 虽然还有不少局限,但可能是迈向 AI 原生 API 的重要一步。
2025-02-21
- 步行如何成为我的生产力系统(AI版) 这篇文章介绍了作者如何利用 AI 和智能硬件打造个人步行生产力系统。作者从高中就开始做语音助手,受钢铁侠里贾维斯的启发。最近他用豆包的 Ola Friend 智能耳机(千元价位)配合 AI 做了个 demo,可以实现:1) 语音记笔记到 Obsidian 2) 添加待办事项 3) 远程执行 Python 脚本 4) 自动抓取新闻并用 DeepSeek 生成摘要。这套系统让作者在步行、陪娃时也能高效处理工作,记录灵感。相比手机原生语音助手和其他 App,这个方案更方便,一秒即可唤醒。作者表示这还只是个雏形,未来希望用更好的开源硬件和 AI 来升级,让生活更有趣味。
- Running Pong in 240 Browser Tabs · eieio.games 这是一个有趣的浏览器标签页实验,作者把标签页图标当作显示屏,用 240 个浏览器标签页组成了一个 8x30 的显示网格来运行经典游戏 Pong。主要技术难点包括:1) 使用 AppleScript 自动创建和排列标签页网格,2) 通过 Web Worker 解决后台标签页更新图标被限制的问题,3) 使用 Broadcast Channel API 实现标签页间通信和同步,4) 精确测量浏览器标签页布局以确保图像能在主窗口画布和标签页图标之间平滑过渡。作者最终实现了一个 Pong 游戏,小球和挡板可以在主窗口和标签页图标之间无缝移动。整个项目灵感来自朋友制作的在标签页图标中运行 Flappy Bird 的创意,展示了对浏览器功能的创新应用。
- Demo: running TypeScript directly in Node.js 这篇文章介绍了一个名为 nodejs-type-stripping 的示例仓库,展示了如何在 Node.js 中直接运行 TypeScript 代码而无需编译。主要特点有:1) 使用了 Node.js 的内置测试运行器、util.parseArgs() 和 util.styleText() 等功能;2) 项目结构简单,只包含几个核心文件,其中 twice.ts 实现了 CLI 命令;3) package.json 中只有一个开发依赖 @types/node,并通过 “type”: “module” 让 .ts 文件被解释为 ESM 模块;4) tsconfig.json 中设置了一些关键选项,如 allowImportingTsExtensions 和 erasableSyntaxOnly,确保只使用可以被剥离的 TypeScript 特性。文章最后还提供了一些额外的参考资料,包括 Node.js 官方文档和相关博客文章。 [[Demo__ running TypeScript directly in Node.js-1740099871286]]
2025-02-20
- How I program with LLMs 这是一位开发者分享的他过去一年使用 LLM 编程的经验。他发现主要通过三种方式使用 LLM:1) 自动补全代码,减少重复性输入;2) 搜索,相比传统搜索引擎能更好地回答具体问题;3) 对话式编程,虽然使用门槛最高但也最有价值。他建议在使用 LLM 编程时:给出明确的需求和背景,让 LLM 专注在特定任务上;注意验证 LLM 生成的代码,通过编译器和测试来检查;善用 LLM 处理重复性工作的特点,不要担心让它重写代码。他还介绍了一个正在开发的工具 sketch.dev,这是专门为 Go 语言打造的 LLM 编程环境。作者认为未来的编程可能会更倾向于写专门化的代码而不是追求代码复用,因为 LLM 可以帮助处理重复性工作。 译:我如何用 LLMs 编程
- My LLM codegen workflow atm | Harper Reed’s Blog 这篇文章介绍了作者使用 LLM 进行代码生成的工作流程。主要包含两种场景:1) 全新项目开发:先用 ChatGPT 等工具进行头脑风暴形成详细规范,然后用推理模型制定执行计划,最后通过 claude.ai 或 aider 等工具执行代码生成。2) 已有项目迭代:使用 repomix 等工具获取代码上下文,再通过 LLM 进行代码审查、生成测试用例等工作。作者认为这种方法效率很高,但也提到了一些局限性,比如目前主要适合单人开发,团队协作时可能会遇到冲突。在等待 LLM 生成代码的过程中,作者会通过听音乐、玩游戏等方式打发时间。对于对 AI 持怀疑态度的人,作者建议阅读 Ethan Mollick 的《Co-Intelligence》一书来了解 LLM 的实际应用价值。 译:我的 LLM 代码生成流程
2024-02-19
- A year of uv: pros, cons, and should you migrate 这篇文章介绍了 Python 新的包管理工具 uv 一年使用后的体验总结。作者认为在条件允许的情况下应该优先尝试使用 uv。主要优点有:1) 安装和使用简单,完全独立于 Python 本身,解决了环境配置问题;2) 提供统一的 Python 安装方式,无需管理员权限,多版本共存;3) 兼容现有的 pip 和 venv 工作流程,可以平滑迁移;4) 依赖解析强大可靠,跨平台支持好;5) 运行速度快,错误提示清晰。主要限制包括:1) 老旧项目可能存在依赖解析问题;2) 企业环境下可能受限制;3) 仅支持特定 Python 版本;4) 命令行操作对新手不够友好;5) 缓存占用空间较大。
2025-02-18
- GitHub - davideast/dataprompt: Prompts with data superpowers dataprompt 是一个 AI Prompt 元框架,它类似于前端开发中的 Astro 框架。主要特点有:1) 采用类似 Vue 单文件组件的方式,将提示、数据源和操作整合到单个 .prompt 文件中;2) 使用类似 Next.js 的基于文件的路由系统;3) 基于 Firebase Genkit 构建,支持在文件头部声明数据获取、Firestore 读写等功能;4) 提供可扩展的插件系统,内置了基本的 fetch 和 Firestore 操作插件;5) 可以作为独立服务运行,也能无缝集成到现有项目中。
- New Junior Developers Can’t Actually Code | N’s Blog 这是一篇关于新一代程序员过度依赖 AI 工具的思考文章。作者认为,虽然现在的初级开发者借助 Copilot、Claude 等 AI 工具能够更快地写出代码,但他们往往缺乏对代码的深入理解。作者回忆了曾经程序员需要通过 Google 搜索和 Stack Overflow 来解决问题的时代,认为那时虽然解决问题的速度较慢,但通过阅读专家讨论能获得更深入的知识。对此,作者提出了几个建议:1) 用学习的心态使用 AI,多问为什么;2) 在 Reddit、Discord 等平台找到志同道合的人进行深入讨论;3) 在代码评审时多关注解决问题的思路;4) 有时尝试从零开始编写代码。作者认为 AI 工具的普及已不可避免,关键是要找到在使用 AI 提高效率的同时,也能保持对技术深入理解的平衡点。 [[New Junior Developers Can’t Actually Code __ N’s Blog-1739892874708]]
2025-02-17
- The End of Programming as We Know It – O’Reilly 作者认为 AI 不会取代程序员,而是会改变编程的方式,就像历史上从物理电路到汇编语言,再到高级语言的演变一样。以下是关键观点:1) 每次技术革新都让编程变得更简单,但最终导致了更多而不是更少的程序员需求; 2) AI 将成为程序员的超级助手,让他们的工作效率提升,能专注于更具创造性的工作; 3) 未来的编程不只是写代码,而是要理解业务流程,设计系统架构,处理复杂的边界情况; 4) AI 会让编程更接近人类语言,但这需要新的技能和思维方式; 5) 真正面临淘汰的不是初级和中级程序员,而是那些拒绝接受新工具和范式的顽固开发者。作者认为我们正处于编程行业的新一轮变革初期,未来会需要更多而不是更少的程序员。
- Introducing Perplexity Deep Research 这篇文章介绍了 Perplexity 新推出的 Deep Research 功能。Deep Research 是一个强大的研究工具,可以自动执行深度研究和分析,帮用户节省大量时间。它的工作方式是:1) 通过迭代搜索、阅读文档和推理来完成研究 2) 将研究成果整合成全面的报告 3) 支持导出为 PDF 或分享给他人。这个功能在金融、营销、技术、时事、健康、传记和旅行等领域都很实用。在性能测试方面,Deep Research 在 Humanity’s Last Exam 上获得了 21.1% 的准确率,在 SimpleQA 测试中达到了 93.9% 的准确率,超过了许多主流模型。大多数研究任务能在 3 分钟内完成。该功能已在网页版上线,即将登陆 iOS、Android 和 Mac 平台,Pro 用户可无限使用,免费用户每天有次数限制。
- How to start a React Project 2025 这篇文章介绍了 2025 年开始 React 项目的三个主要方案:1) React with Vite:作为 create-react-app 的非官方继任者,适合构建单页应用(SPA),配置轻量,开发服务器快速,对初学者友好,但需要自行选择配套库;2) React with Next.js:最成熟的 React 框架,支持多种渲染技术(SSR、SSG、ISR、CSR 等),提供全栈开发能力,包含很多内置功能,但学习曲线较陡,变化较快;3) React with Astro:专注于内容网站开发,采用 island 架构,默认提供优秀的性能和 SEO 支持,支持多页应用(MPA),但不太适合构建动态 Web 应用。对于初学者来说,建议使用 Vite;如果需要成熟的框架,可以选择 Next.js;如果要开发内容型网站,Astro 是不错的选择。
- Microsoft Study Finds Relying on AI Kills Your Critical Thinking Skills 这篇文章讨论了 AI 可能带来的一个意想不到的威胁:人类过度依赖 AI 工具可能导致自身能力退化。微软和卡内基梅隆大学的研究发现,知识工作者在使用 AI 工具时表现出以下特点:1) 对 AI 能力越有信心,越容易放松警惕,减少批判性思维,这在低风险任务中尤其明显;2) 反之,当对 AI 能力缺乏信心时,人们会更多地运用批判性思维,并能更好地评估和改进 AI 的输出;3) 使用 AI 工具的用户往往产出更单一的结果。研究表明,尽管 AI 工具确实能提高效率,但过度依赖可能会让工作者失去独立完成任务的能力,甚至丧失与工作的深度互动。这提醒我们,如果盲目依赖 AI,可能最终真的会被 AI 取代,但这取决于我们如何使用它。
- AI or Die | RKG 这篇文章讨论了 AI 技术的快速发展及其对企业的影响。作者引用了 Anthropic CEO Dario Amodei 的观点,预测到 2026 年,AI 模型将具备超越诺贝尔奖得主的智慧,能够完成从写小说到编程等各种任务,并能以人类 10-100 倍的速度工作,就像在数据中心里拥有一个"天才国度"。作者认为,企业需要积极应对这一变革:1) 深入了解 AI 当前的能力,不要把它仅仅看作聊天机器人;2) 重新构建公司,使其成为 AI 优先的企业;3) 提高使用 AI 的野心和耐心,给予足够的上下文信息;4) 评估每个职位可能被 AI 取代或增强的程度。文章最后强调,这种转变对于规模越大、越成功的公司来说越困难,但这是必经之路,公司的未来取决于如何应对这场变革。
- Doing Nothing With Your Favorite People Is Really, Really Good for You | SELF 这篇文章探讨了与亲朋好友一起"无所事事"的重要性。在当今社会,人们的社交活动往往需要提前计划,有明确的开始和结束时间,缺乏自然和spontaneous 的相处。作者认为,最珍贵的回忆往往来自那些看似平凡的时刻,比如在厨房闲聊或和朋友窝在沙发上。专家解释说,非结构化的社交时光能帮助减压、增进创造力,让人更容易展现真实的自我。为了重拾这种相处方式,文章提出几个建议:1) 克服最初的不适感 2) 把手机收起来 3) 制定无计划的计划,比如随时邀请朋友来访 4) 一起做些日常事情,如做饭或遛狗。专家强调,这种轻松的相处方式不仅能改善心理健康,还能加深人际关系,对抗现代社会的孤独感。
2025-02-16
- Designing backgrounds with LLMs and React 这篇文章讨论了如何使用 LLM(大语言模型)和 React 设计网页背景。作者分享了几个有趣的背景效果实现:1) 互动式网格背景,当鼠标悬停时会显示不同颜色; 2) 倾斜的网格线效果,带有边缘渐变; 3) 带垂直渐变的圆点网格; 4) 类似 Stripe 官网的虚线网格; 5) 星空动画效果。作者认为 LLM 在处理 CSS、正则表达式等特殊语法时表现出色,虽然不会取代设计师,但能帮助开发者快速实现独特的视觉效果。通过代码实现的动态设计比静态设计更有趣,因为像 Figma 这样的设计工具在处理状态变化时比较局限。总的来说,使用 LLM 和 React 可以让开发者用较少的努力做出令人印象深刻的背景效果。
- Interop 2025: another year of web platform improvements | web.dev Interop 始于 2021 年,由 Google、Apple、Microsoft 和 Firefox 共同发起,旨在改善浏览器的互操作性。他们每年都会选择重点关注领域,创建测试用例并公开追踪各浏览器团队的表现。2025 年他们提出了 19 个重点领域,其中最令人期待的 4 个是:1) Anchor positioning:简化弹出窗口和工具提示的定位,2) Navigation API:为页面导航提供集中式 API,3) URLPattern:标准化 URL 模式匹配方式,4) Same-document view transitions:实现无需完整页面重载的 UI 状态切换动画。文章认为,作为一个跨公司合作项目,Interop 难能可贵地取得了实质性成果,让浏览器之间的兼容性达到