zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

【DEV周刊】AI 狂飙!开发挑战赛、Gemini 应用、效率工具… 程序员必看硬核干货合集!

意外富翁的头像
|
|
|
## 这周 DEV 社区聊了啥? NO.20251123 这期日报信息量爆炸!从 Uno Platform 的 AI 挑战赛,到 Gemini 和 Lyria 打造的酷炫 AI DJ Boombox,再到 Nano Banana Pro 的图像生成教程,带你玩转 AI 前沿技术。还有大佬分享如何构建可扩展系统架构,以及 Next.js Boilerplate 助你30分钟搞定项目!更有关于遗留代码、面试准备、个人技能提升等实用建议,内容丰富,赶紧点进来看看,别错过任何一个提升技能的机会! ![Dev Community 中文精选](/static/mascot_article.webp) --- ## Uno Platform AI 挑战赛:跨平台应用开发赢取 3000 美元奖金! 本文介绍了 Uno Platform 举办的 AI 挑战赛,鼓励开发者使用 .NET 和 Uno Platform 的 AI 工具,从单一代码库构建原生跨平台应用。挑战赛截止至 12 月 7 日,为开发者提供了一个探索跨平台开发的绝佳机会,目标平台包括 iOS、Android、Windows、macOS、Linux 和 WebAssembly。 本次挑战赛设置了三个主题方向:“WOW Factor”、“Hot Design & Hot Design Agent Showcase”以及“AI Acceleration”。“WOW Factor” 鼓励开发者创建具有视觉冲击力和趣味性的跨平台应用,例如咖啡店风格的界面,侧重于创意、性能和流畅的跨平台体验。“Hot Design & Hot Design Agent Showcase” 则侧重于展示 Hot Design 工具及其 AI Agent 如何简化跨平台 .NET 应用的设计流程,通过实时修改 UI 控件和数据绑定,体验 AI 辅助设计的便捷性。“AI Acceleration” 旨在展示如何利用 Uno Platform MCP Servers 加速应用开发,开发者可以使用 AI Agent,结合 Uno Platform MCP,生成和优化代码,构建可在多个目标平台上运行的应用。 参与者需要根据选择的主题,提交包含应用描述、演示链接、运行截图或录屏、设计过程说明以及关键收获的文章。文章中需要详细介绍应用的构建过程、所使用的技术、遇到的问题以及解决方案。对于“Hot Design & Hot Design Agent Showcase”和“AI Acceleration”主题,还需要提供使用 Hot Design Agent 或 AI Agent 的截图或录屏。 总而言之,这次挑战赛不仅是一个展示开发者技能的平台,也是一个学习和探索跨平台应用开发新技术的机会。通过参与挑战赛,开发者可以深入了解 Uno Platform 的强大功能,并体验 AI 技术在应用开发中的应用。 - 原文: [Join the AI Challenge for Cross-Platform Apps: $3,000 in Prizes!](https://dev.to/devteam/join-the-ai-challenge-for-cross-platform-apps-3000-in-prizes-25c3) - 作者: jess - 点赞数: 147 - 评论数: 16 - 发布时间: 2025-11-19 20:40:03 --- ## 初级开发者并未消失,他们只是刚刚开始 这篇文章讨论了在AI时代,初级开发者不仅没有被取代,反而因为他们对新技术的快速适应和独特视角,变得更有价值。文章强调,初级开发者带来的新鲜想法、对AI工具的熟练运用以及打破常规的能量,对团队的成长至关重要。 文章首先指出,很多人担心初级开发者的职位正在消失,因为AI工具越来越强大,高级开发者使用Copilot等工具的效率也大大提高。但GitHub前CEO Thomas Dohmke认为,初级开发者仍然具有巨大的价值,尤其是在AI时代。他们能够更快地适应AI工具,带来新的视角,并且不会固守旧有的做事方式。 文章进一步阐述了初级开发者带来的具体价值,包括:他们拥有新鲜的想法和尝试新事物的意愿,他们从小就接触AI工具,对AI工具的运用非常熟练,他们对新工具持开放态度,他们充满活力,能够推动团队前进,他们拥有多样化的背景,能够为解决方案带来不同的视角。 文章还区分了工程和编码的概念,认为未来的工程师需要将prompting技能与开源结合,以更快地解决问题。编码技能固然重要,但工程意味着构建复杂的系统,无论你是编写每一行代码,还是协调AI来帮助你。文章强调,快速成长的开发者通常不是技术最强的,而是那些乐于提问、尝试新方法、分享知识并充满好奇心的人。 文章最后鼓励初级开发者,不要只关注技术技能和prompting,而要关注更广泛的能力,包括系统思考、沟通、使用工具解决问题、公开构建以及保持好奇心。文章还给初级开发者们提供了一些建议,例如,不要认为自己需要知道一切才能胜任工作,不要认为必须在没有AI辅助的情况下编写代码才是“真正的”开发者,不要认为只有多年的经验才能让你的观点有价值。 这篇文章旨在消除初级开发者的焦虑,鼓励他们拥抱新技术,发挥自己的优势,为团队做出贡献。 - 原文: [🚀 Junior Devs Aren't Disappearing—They're Just Getting Started](https://dev.to/tlorent/junior-devs-arent-disappearing-theyre-just-getting-started-5fob) - 作者: tlorent - 点赞数: 60 - 评论数: 15 - 发布时间: 2025-11-17 08:35:28 --- ## 构建真正可扩展的系统架构 本文讨论了如何构建能够优雅应对混乱的可扩展系统,并分享了作者在构建分布式系统方面的经验教训。文章强调,真正的可扩展性不是简单地处理更多流量,而是要从“生物体”而非“机器”的角度看待系统,优化其在恶劣环境下的生存能力。 文章首先回顾了作者职业生涯中最糟糕的一次生产事故,事故原因是系统表面上看起来可扩展,但实际上却像纸牌屋一样脆弱。作者由此引出“可扩展性是优雅地处理混乱”这一核心观点,并用一个API重写的案例来说明,旧的API虽然高效且分层合理,但隐藏了47种不同的故障模式,导致在高流量下崩溃。新的API虽然速度较慢,但通过设计应对失败的机制,实现了更高的弹性。 文章进一步提出,应该将系统视为一个“生物体”而非“机器”,生物体在充满不确定性和资源约束的环境中优化生存,而不是追求峰值性能。这意味着在设计系统时,要预料到网络故障、依赖服务不可用、流量模式变化、数据损坏、硬件故障和人为错误等情况,并建立相应的冗余、降级和适应机制。 文章还通过一个获取用户信息的代码示例,展示了如何从基本原则出发构建弹性系统。最初的代码没有超时、回退、重试、熔断等机制,容易在生产环境中崩溃。作者逐步改进代码,添加了超时处理,并在后续的层级中,逐步引入回退机制、重试逻辑、熔断器等,最终构建出一个更加健壮和可扩展的系统。 - 原文: [The Architecture Nobody Talks About: How I Built Systems That Actually Scale (And Why Most Don't)](https://dev.to/thebitforge/the-architecture-nobody-talks-about-how-i-built-systems-that-actually-scale-and-why-most-dont-3fk5) - 作者: thebitforge - 点赞数: 91 - 评论数: 22 - 发布时间: 2025-11-17 12:55:57 --- ## 利用 DEV Followers 数据进行分析:提取 GitHub 用户信息并生成图表 本文介绍了如何从 DEV 社区的 Followers 中提取 GitHub 用户信息,并将其保存为 JSON 格式,以便通过 GraphQL 进行图表输出分析。文章旨在帮助读者了解自己的受众群体,以及他们使用的技术和语言。 文章首先介绍了作者的初衷,即创建一个 DEV followers badge,并深入挖掘数据进行分析。作者希望通过收集 Followers 的公开数据,了解他们的技术栈和兴趣,从而发现潜在的趋势。 接下来,文章分享了一个用于收集 DEV followers 数据的 Python 脚本。该脚本使用 DEV 提供的 API,可以获取 Followers 的用户名、个人网站链接等信息。作者还提到,为了更深入地分析数据,他编写了多个脚本,用于提取 GitHub 用户名,并进一步抓取 GitHub 上的语言信息。 在数据抓取过程中,作者遇到了 GitHub API 的速率限制问题。为了解决这个问题,作者尝试使用 GraphQL。GraphQL 允许在单个请求中处理每个用户的所有存储库,即使输入文件包含 URL 而不是用户名。 此外,作者还分享了一个在使用 .env 文件时遇到的错误。由于忘记安装相应的软件包,导致无法正确获取 GitHub Token,浪费了大量时间。这个经历提醒开发者,在进行 API 请求时,务必确保正确配置环境变量,并安装所有必要的软件包。 总的来说,这篇文章分享了一个有趣的数据分析项目,展示了如何利用 DEV 和 GitHub 的 API,以及 GraphQL 等技术,来了解自己的受众群体。 (由于原文中没有评论内容,因此跳过评论相关的输出。) - 原文: [DEV Follower Analysis](https://dev.to/annavi11arrea1/dev-follower-analysis-4dhc) - 作者: annavi11arrea1 - 点赞数: 26 - 评论数: 3 - 发布时间: 2025-11-19 03:31:54 --- ## 2025 Hacktoberfest 写作挑战赛获奖者揭晓 本文宣布了 2025 Hacktoberfest 写作挑战赛的获奖者,并分享了获奖作品,这些作品涵盖了贡献者、维护者和开源反思等不同主题。 今年的 Hacktoberfest 写作挑战赛收到了近三百份投稿,这些文章讲述了首次贡献者如何找到自己的立足点,维护者如何围绕项目建立社区,以及开发者如何反思开源对他们的意义。主办方最终从每个主题中选出了五名获奖者。 “贡献者编年史”类别中的获奖者分享了他们参与开源社区的经历,以及他们在 Hacktoberfest 期间提交的 PR 和代码贡献。这些故事展示了新手贡献者如何克服犹豫,积极参与到开源项目中。 “维护者聚焦”类别中的获奖者则分享了他们作为开源项目维护者的经验,包括构建社区、开发开源工具以及应对挑战的故事。这些文章突出了维护者在开源生态系统中的重要作用。 “开源反思”类别中的获奖者反思了他们参与 Hacktoberfest 的旅程,以及他们从中学到的经验教训。这些文章探讨了开源的意义,以及如何为开源社区做出贡献。 所有获奖者将获得 DEV++ 会员资格和专属 DEV 徽章,所有参与者都将获得完成挑战的徽章。此外,文章还介绍了正在进行的两项挑战赛:AI 跨平台应用挑战赛和 AI Agents Intensive Course 写作挑战赛。 由于文章没有评论,所以无法进行评论分析。 - 原文: [Congrats to the 2025 Hacktoberfest Writing Challenge Winners!](https://dev.to/devteam/congrats-to-the-2025-hacktoberfest-writing-challenge-winners-1hpn) - 作者: jess - 点赞数: 40 - 评论数: 18 - 发布时间: 2025-11-20 19:15:18 --- ## 区分优秀程序员和卓越程序员的十个习惯 本文探讨了优秀程序员和卓越程序员之间的区别,强调了卓越程序员不仅仅是编写能运行的代码,更在于他们的日常习惯和思维方式。文章总结了十个习惯,帮助开发者从优秀走向卓越。 文章指出,卓越的程序员更注重阅读代码,而不是编写代码。他们会花大量时间阅读和分析其他人的代码,从中学习不同的思维方式和解决问题的方法。通过阅读代码,可以学习到编写代码无法获得的知识,例如代码的简洁性、设计模式以及不同领域的编程思想。文章建议开发者制定阅读代码的计划,带着目的去阅读,并学习不同领域和语言的代码。 此外,卓越的程序员会深入理解每个决策背后的“为什么”。他们不仅仅是执行任务,还会理解业务背景、用户需求以及系统性的影响。他们会质疑需求,确保构建的解决方案是正确的。这种习惯使他们能够做出更明智的决策,并为项目带来更大的价值。 文章还提到了其他一些习惯,例如持续学习、拥抱不确定性、注重沟通、自动化重复性工作、编写可测试的代码、寻求反馈、保持好奇心、精通调试以及教授他人。这些习惯共同构成了卓越程序员的特质,帮助他们在职业生涯中不断成长和进步。 总而言之,卓越的程序员不是天生的,而是通过有意识的培养和实践形成的。通过养成这些习惯,开发者可以不断提升自己的技能和能力,成为团队中不可或缺的一员。 - 原文: [10 Developer Habits That Separate Good Programmers From Great Ones](https://dev.to/thebitforge/10-developer-habits-that-separate-good-programmers-from-great-ones-293n) - 作者: thebitforge - 点赞数: 68 - 评论数: 18 - 发布时间: 2025-11-18 18:02:53 --- ## 用 Gemini 和 Lyria 构建无限 90 年代 Boombox,并拥有 AI DJ 这篇文章介绍了如何使用 Google 的 Gemini 和 Lyria 模型构建一个虚拟的、基于 Web 的 Boombox。这个 Boombox 的特别之处在于它有一个 AI DJ,可以根据当前播放的音乐类型生成介绍词并用语音播报。 这个 Boombox 的核心是 `LiveMusicHelper`,它连接到 `lyria-realtime-exp` 模型,通过发送 "Weighted Prompts" 来实时控制音乐的风格。当用户转动 UI 上的旋钮时,实际上是在告诉 AI 模型改变音乐的风格,而不是下载新的歌曲。 AI DJ 的实现分为两步:首先,使用 Gemini 2.5 Flash 生成一句简短有力的介绍词,然后使用 Gemini TTS 将这段文本转换成语音。为了避免用户快速切换电台时 DJ 不停地播报,文章使用了 debouncer 来确保只有在用户停止转动旋钮一段时间后才会触发 DJ 的播报。 在 UI 方面,Boombox 使用 Lit 构建,并使用 CSS 和 SVG 来实现 Boombox 的外观。为了增加沉浸感,文章还使用了 Web Audio API 来创建音频分析器,并根据音频频率数据来控制扬声器的脉动效果。此外,文章还使用 Gemini 2.5 Flash Image 生成了一个 90 年代风格的卧室背景图。 文章还介绍了如何实现旋钮的旋转和电台的切换逻辑,包括如何将鼠标/触摸移动转换为旋转角度,以及如何处理 0/360 度的环绕逻辑。总的来说,这个项目结合了老式界面的触感和前沿的生成式 AI 技术,创造了一个具有沉浸感的无限电台体验。 由于没有评论内容,这里就不进行评论观点的总结和分析了。 - 原文: [📻 I built an infinite 90s boombox with Gemini + Lyria (and it has an AI DJ!)](https://dev.to/googleai/i-built-an-infinite-90s-boombox-with-gemini-lyria-and-it-has-an-ai-dj-3jh8) - 作者: dynamicwebpaige - 点赞数: 63 - 评论数: 5 - 发布时间: 2025-11-18 06:08:28 --- ## 探索 Nano Banana Pro:完整开发者教程 本文介绍了 Google 的 Gemini 3 Pro Image 模型,开发者们更喜欢称它为 Nano Banana Pro。它不仅速度快、价格实惠,还具备“思考”能力、搜索基础和高保真 4K 输出,非常适合复杂的创意任务。 文章详细介绍了如何使用 Gemini Developer API 来探索 Nano Banana Pro 的高级功能,包括在 Google AI Studio 中使用 Nano Banana Pro、项目设置、初始化客户端、基础图像生成、体验“思考”过程、搜索基础、高分辨率 4K 生成、多语言能力以及高级图像混合等。 Nano Banana Pro 与 Flash 模型(Nano Banana)相比,Pro 版本引入了“思考”能力,这意味着它可以推理你最复杂、最扭曲的提示,然后再生成图像。更棒的是,你可以窥视它的大脑!通过设置 `include_thoughts=True` 可以在 `thinking_config` 中启用此功能,从而查看模型在生成图像之前的思考过程。 要使用 Pro 模型,你需要使用 `gemini-3-pro-image-preview` 模型 ID。文章还提供了 Python 和 JavaScript 两种 SDK 的使用示例,方便开发者根据自己的偏好选择。此外,文章还介绍了如何使用 `response_modalities` 控制输出(获取文本和图像或仅获取图像),以及如何使用 `aspect_ratio` 控制图像的宽高比。 需要注意的是,Nano Banana Pro 没有免费层级,因此需要设置 API 密钥并启用结算。图像生成的成本高于 Flash 版本,尤其是 4K 图像。为了节省 50% 的生成成本,可以使用 Batch API,但可能需要等待长达 24 小时才能获得图像。 总而言之,Nano Banana Pro 是一款功能强大的图像生成模型,具有广泛的应用前景。通过本文的介绍,开发者可以快速上手并充分利用其高级功能。 - 原文: [Introducing Nano Banana Pro: Complete Developer Tutorial](https://dev.to/googleai/introducing-nano-banana-pro-complete-developer-tutorial-5fc8) - 作者: giom_v - 点赞数: 70 - 评论数: 3 - 发布时间: 2025-11-21 21:30:41 --- ## 开发者为自己打造的实用工具:一次技术文化的探索 这篇文章探讨了一个有趣的话题:开发者们为了解决个人问题、满足好奇心或纯粹因为好玩而构建的各种小工具。这些工具往往不为人知,未经请求,也无人付费,但它们却能以微小的方式让生活更轻松,并且展现了开发者独特的思维方式。 文章列举了一些开发者构建的个人工具的例子,例如一键重命名 200 个文件的脚本、追踪情绪和睡眠的个人仪表盘、生成 commit 信息的 AI 机器人、整理 Google Drive 的自动化工具、提醒喝水的 CLI 工具,甚至是因为觉得现有数据库“烦人”而创建的迷你数据库。作者认为,这些工具无论好坏,都反映了开发者的思考方式。 作者本人虽然不是开发者,但也分享了自己用于评估想法、判断项目可行性以及进行市场定位的“个人工具”,例如用于评估想法的系统、在兴奋之前会问的问题、检查项目是否可以扩展为实际业务的方法以及用于定位和消息传递的模板。作者将自己比作调试想法的人,认为这和开发者调试代码有异曲同工之妙。 最后,作者鼓励开发者们分享自己构建的个人工具,无论大小、完整度或是否实用,都希望了解这些不为人知的创造。 - 原文: [What’s a Tool You’ve Built Just for Yourself? (I’m Curious.)](https://dev.to/notadevbuthere/whats-a-tool-youve-built-just-for-yourself-im-curious-pnc) - 作者: notadevbuthere - 点赞数: 31 - 评论数: 35 - 发布时间: 2025-11-18 12:51:28 --- ## 停止相信的关于遗留代码的 5 个迷思 本文探讨了关于遗留代码的常见误解,旨在帮助开发者更有效地处理代码迁移和维护工作。文章挑战了五个主要的迷思,并提供了更实际的视角。 文章首先指出,遗留代码并不一定意味着古老或异类技术,它可能只是稍微过时的技术。关键在于代码与团队、生态系统或业务发展不匹配。其次,作者强调不应将遗留代码归咎于之前的团队,而应理解代码背后的背景。遗留代码会对业务产生负面影响,如安全问题、性能问题和维护成本上升,因此代码迁移并非只是开发者的执念,而是一种风险管理。 文章还讨论了重写和绞杀模式这两种迁移策略。虽然重写通常被认为是不好的做法,但在某些情况下,对于小型、孤立且非关键的应用来说,它可能是最快、最简单的解决方案。绞杀模式适用于大型、复杂的应用,但需要花费大量时间,并且团队需要同时掌握两种技术。选择正确的迁移策略需要根据具体情况进行权衡。最后,文章强调遗留代码是软件生命周期的自然组成部分,重要的是理解各种权衡,选择正确的迁移策略,并避免不必要的恐惧。 - 原文: [5 Myths About Legacy Code You Should Stop Believing](https://dev.to/sylwia-lask/5-myths-about-legacy-code-you-should-stop-believing-pi3) - 作者: sylwia-lask - 点赞数: 41 - 评论数: 26 - 发布时间: 2025-11-20 13:24:57 --- ## 30 分钟搭建 Next.js 项目:一个全功能 Boilerplate 本文介绍了一个 Next.js boilerplate,旨在帮助开发者快速启动项目,避免在基础配置上花费过多时间。它提供国际化 (i18n)、基于角色的访问控制 (RBAC) 和 SEO 等功能,让开发者可以专注于核心业务逻辑。 这个 boilerplate 与众不同之处在于其全面的功能集和易用性。它不仅仅是一个 "hello world" 模板,而是一个功能齐全的基础,可以处理身份验证、国际化、角色管理和 SEO 配置等常见任务。该boilerplate 具有类型安全的 i18n,支持 RTL,使用 Next.js 15 的并行路由实现 RBAC,并集成了 shadcn/ui 组件,方便定制设计系统。ESLint 配置经过精心调整,可以捕获实际错误并强制执行一致性,而不会产生不必要的干扰。SEO 配置使用 JSON 文件集中管理元数据,简化了多语言站点的 SEO 设置。 该 boilerplate 的核心功能包括:类型安全的国际化,可以在编译时捕获翻译错误;基于角色的访问控制,使用 Next.js 15 的并行路由实现灵活的角色管理;集成了 shadcn/ui 组件的设计系统,易于定制和具有良好的可访问性;以及经过优化的 ESLint 配置,可以提高代码质量和一致性。此外,它还提供了基于 JSON 的 SEO 配置,方便管理网站的元数据。 使用该 boilerplate 非常简单,只需克隆代码库、安装依赖项,然后编辑 `app/SEO/app-main-meta-data.json` 文件来配置项目信息。如果需要添加新语言,只需创建相应的翻译文件并更新配置文件即可。要添加新角色,只需创建一个新的并行路由文件夹并在布局文件中处理新的角色。 总而言之,这个 Next.js boilerplate 提供了一个强大的基础,可以帮助开发者快速启动项目,并专注于构建核心业务逻辑。它具有全面的功能集、易用性和可定制性,使其成为构建现代 Web 应用程序的理想选择。 - 原文: [I Spent 30 Hours Building a Next.js Boilerplate So You Can Ship in 30 Minutes](https://dev.to/salmanshahriar/i-built-a-production-ready-nextjs-boilerplate-so-you-dont-have-to-17d3) - 作者: salmanshahriar - 点赞数: 40 - 评论数: 10 - 发布时间: 2025-11-19 19:11:28 --- ## 使用 AI Agent 成功迁移你的应用 本文介绍了如何利用 AI Agent 将应用从一种语言迁移到另一种语言,重点在于提供清晰的指令和上下文,引导 AI Agent 完成复杂的迁移任务。文章作者分享了自己使用 Goose(一个 AI Agent)将一个遗留的 LLM 信用配置系统迁移到 Next.js 框架的实践经验。 作者遇到的问题是需要将一个由 React/Vite 前端和 Node/Express 后端组成的应用,合并到一个统一的 Next.js 应用中。直接让 Goose 进行转换并不奏效,因为缺乏足够的上下文信息。因此,作者采取了一系列策略来引导 Goose 理解代码库并逐步完成迁移任务。 首先,作者使用 "Can you get a lay of the land for the two projects found here and how they communicate?" 这样的 prompt,让 Goose 分析项目架构,了解前端和后端如何交互。 Goose 使用 analyze 工具生成了一个高层次的架构流程图,帮助作者和 AI Agent 建立共享的 mental model。 接着,作者通过 "Tell me the commands to run the frontend project." 这样的 prompt 来明确任务范围,避免范围蔓延。让 Goose 找出运行前端项目的命令,可以确保它基于实际项目设置工作,而不是产生幻觉。 为了解决 AI Agent 无法验证代码的问题,作者启用了 Chrome Dev Tools 扩展,赋予 Goose 浏览器级别的检查能力,例如 DOM 操作验证、CSS 属性验证和性能分析。这使得作者能够给出更复杂的 prompt,例如 "I have the frontend running right now on localhost:8080. I want to take this UI design and start from scratch a bit..."。 此外,作者还利用 Todo 扩展来防止范围漂移,确保 AI Agent 在完成一个目标后不会自主扩展到相邻功能。Todo 列表包含诸如 "Copy logo assets from old project"、"Create glass-morphism card component" 等细分任务。 为了更好地进行版本控制,作者在 .goosehints 文件中添加了一个 persistent directive,指示 Goose 在每次更改后都使用 GitHub CLI 或 GitHub MCP Server 进行 commit。 最后,作者采用 "copy-and-adapt" 策略,让 Goose 从一个已知的、可工作的系统中学习,然后将学到的逻辑应用到新的项目中。例如,作者让 Goose 分析一个发送 API 密钥的 recipe cookbook 项目,然后使用学到的知识在 goose-credits 项目中实现类似的功能。 总而言之,成功地与 AI Agent 协作需要耐心和清晰的沟通,将复杂任务分解为小步骤,并提供足够的上下文信息。通过这种方式,开发者可以充分利用 AI Agent 的能力,高效地完成代码迁移和重构等任务。 - 原文: [How to Successfully Migrate Your App with an AI Agent](https://dev.to/blockopensource/how-to-successfully-migrate-your-app-with-an-ai-agent-26o7) - 作者: blackgirlbytes - 点赞数: 18 - 评论数: 3 - 发布时间: 2025-11-17 18:59:35 --- ## 推理能力会成为新的图灵测试吗?来玩一场福尔摩斯游戏 这篇文章探讨了图灵测试的局限性,并提出了用推理能力来评估人工智能的新思路。文章通过一个虚构的唐朝谋杀案,展示了人工智能在逻辑推理方面的潜力,并强调了推理过程的重要性。 文章首先回顾了图灵测试的定义和意义,指出其主要考察的是机器模仿人类对话的能力。然而,随着聊天机器人和大型语言模型的发展,通过图灵测试已经不再是衡量人工智能的有效标准。文章认为,图灵测试侧重于表面行为,而非真正的理解能力。 为了更好地评估人工智能的智能水平,文章提出了一个新的测试方向:推理能力。这个测试将考察人工智能解释推理过程的清晰度、根据新证据修正结论的灵活性以及权衡不同假设的谨慎程度。文章设计了一个发生在唐朝长安的谋杀案,让读者扮演侦探,与人工智能一同寻找真凶。 案件描述了名医徐仁在密室中被杀,三个嫌疑人分别是学徒孙成、邻居寡妇林夫人和护卫赵安。现场留下了女性脚印等线索。人工智能通过分析案发现场、动机和逻辑矛盾,逐步排除嫌疑人,最终得出结论:凶手是学徒孙成,他用木 Pestle 杀害了徐仁,并伪造了现场。 作者在与人工智能一同破案的过程中意识到,真正的重点不是答案本身,而是推理的过程。通过清晰地展示推理过程,人工智能能够让人类更好地理解其思考方式,从而更接近真正的理解。文章总结说,新的图灵测试不应只关注机器是否能像人类一样说话,而应关注其是否能像优秀的侦探一样,清晰、谦逊、真实地进行推理。 - 原文: [Will Reasoning Become the New Turing Test? Let's play a Sherlock Holmes game](https://dev.to/auyeungdavid_2847435260/will-reasoning-become-the-new-turing-test-lets-play-a-sherlock-holmes-game-37cm) - 作者: auyeungdavid_2847435260 - 点赞数: 18 - 评论数: 9 - 发布时间: 2025-11-17 16:09:41 --- ## 本周 DEV 社区精选文章:技术洞见与实用指南 本周的 DEV 社区精选文章涵盖了多个热门话题,从 Rust 构建实时协作引擎,到 React 新特性解析,再到 AI 与 CSS 的难题,以及测试策略的反思,最后到 Gemini 构建播客 AI 应用,干货满满。这些文章不仅提供了技术深度,也引发了对行业实践的思考。 首先,@kayleecodez 分享了使用 Rust 构建实时协作引擎 Conflux 的经验,重点介绍了 CRDTs 如何通过发送指令而非完整文件状态来解决合并冲突,实现无缝的并发编辑。接着,@sagi0312 以幽默风趣的方式解读了 React 19.2 的新特性,比如 `<Activity />` 组件和 `useEventEffect` hook,让读者更容易理解。 @narnaiezzsshaa 则挑战了技术行业对“专家”标签的迷恋,认为真正的能力在于承认自己的不足,并提倡从展示专业知识转向展示能力,强调知识谦逊的重要性。对于数据安全,@mrispoli24 提供了一份详细的指南,教你如何在 Arch Linux 上使用 LUKS 和 btrfs 设置完全加密的二级驱动器,确保数据安全且方便访问。 在 AI 领域,@asafaeirad 探讨了为什么生成式 AI 难以理解 CSS,指出 CSS 的上下文依赖性、与 HTML 的分离以及缺乏标准化方法是主要原因。他认为,像 Tailwind CSS 这样的实用优先框架之所以成功,是因为它们将样式和结构并置,创造了 AI 模型可以学习的预测模式。 关于软件测试,@varshithvhegde 通过一个生产故障的故事,告诫开发者不要过分依赖单元测试,而应该采用平衡的测试金字塔,通过单元测试、集成测试和 E2E 测试的结合来提高“信心覆盖率”。最后,@macd0 展示了如何使用 Gemini File Search Tool 构建可搜索的播客知识库,无需手动管理向量数据库,即可实现 RAG(Retrieval-Augmented Generation)应用。 总而言之,本周的精选文章内容丰富,既有实用的技术教程,也有对行业现状的深刻反思,值得每一位开发者和技术爱好者阅读学习。 - 原文: [Top 7 Featured DEV Posts of the Week](https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-3ec0) - 作者: jess - 点赞数: 27 - 评论数: 5 - 发布时间: 2025-11-18 22:15:32 --- ## 程序员的周一乐事:Meme Monday! 这周的封面图来自上周的帖子,DEV 社区一如既往地欢迎各种幽默风趣的表情包。 DEV 社区鼓励包容性,任何低俗的幽默都会被管理员降权处理。所以,大家可以放心大胆地分享各种有趣的梗图,让周一不再Blue! 如果你觉得一天一个 Meme Monday 还不够,可以去 DUMB DEV 网站,那里每天都是 Meme Monday! 程序员们可以在那里尽情释放自己的幽默感,用各种梗图来表达对编程的热爱与吐槽。 总而言之,Meme Monday 就是程序员们放松心情,用幽默的方式迎接新一周的开始。 让我们一起期待下周又有哪些有趣的梗图出现吧! - 原文: [Meme Monday](https://dev.to/ben/meme-monday-4jn7) - 作者: ben - 点赞数: 43 - 评论数: 63 - 发布时间: 2025-11-17 13:50:44 --- ## 如何用小项目展示你的技能 这篇文章旨在指导那些觉得自己经验不足的开发者,通过构建和展示小型项目来有效地推销自己的技能。即使是只有三个文件的简单项目,也能充分证明你的编程能力,关键在于有目的性地构建并正确地解释它。 文章强调,项目的大小并不重要,重要的是项目的实用性和设计意图。每个文件都应该有明确的目的,并且能够解释其背后的工程意义。文章列举了小型项目可以展示的多种技能,包括前端思维(响应式布局、用户体验/用户界面理解、CSS tokens/variables),状态和数据处理(localStorage、sessionStorage、JSON文件、用户输入验证),以及部署上线(版本控制、构建设置、部署日志、环境设置、故障排除)。 文章建议通过编写清晰的README文件来推销自己,解释项目的目的、解决的问题、做出的决策以及未来的改进方向。此外,文章还强调要选择一个特色功能并将其做到极致,例如主题切换、实时表单验证、数据过滤和排序等。 在面试或展示作品集时,不要轻视项目,而是要像工程师一样描述它,突出项目的响应式设计、数据处理和部署,以及对用户流程、可访问性和实际交互的关注。文章鼓励开发者从小处着手,诚实地学习,勇敢地部署,并让项目代表自己。即使项目很小,只要它能运行、能解释、能改进,就能为求职带来机会。 由于没有评论内容,这里就不进行评论观点的总结和分析了。 - 原文: [How to Sell Your Skills with a Small Project](https://dev.to/bradleymatera/how-to-sell-your-skills-with-a-small-project-1h0p) - 作者: bradleymatera - 点赞数: 16 - 评论数: 2 - 发布时间: 2025-11-20 22:34:12 --- ## 使用 Cheerio 和 TLS 指纹识别构建快速 Web Scraper,无需 Puppeteer 本文介绍了如何使用 Cheerio 和 TLS 指纹识别技术构建一个高效的 Web Scraper,用于抓取北卡罗来纳州公共通知数据库(ncnotices.com),并对比了使用 Puppeteer 的方案,展示了在特定场景下更轻量级方案的优势。 文章作者在一次现场编码面试中,需要在有限的时间内构建一个用于 ncnotices.com 的 scraper。这个网站是一个复杂的 ASP.NET 应用程序,具有状态管理、分页和 CAPTCHA 保护。虽然面试官提到他们团队使用 Puppeteer,但作者选择了不同的方法。作者认为,对于这个任务,Puppeteer 显得过于重量级,因为它资源开销大,执行速度慢,并且管理浏览器生命周期复杂。 作者选择的技术栈包括 Cheerio(用于快速 HTML 解析)、Impit(用于 TLS 指纹识别)和 tough-cookie(用于 Cookie 管理)。Impit 能够模拟真实浏览器的 TLS 指纹,使得请求看起来与真实的 Chrome/Firefox 浏览器无异,从而绕过基本的机器人检测。文章详细介绍了如何处理 ASP.NET ViewState 管理、分页以及 CAPTCHA 支持。ASP.NET 使用 `__VIEWSTATE` 和 `__VIEWSTATEGENERATOR` token 进行状态管理,需要提取这些 token 并随每个请求一起发送。经典 ASP.NET 分页需要模拟用户交互,通过带有特定事件目标的 POST 请求实现。为了支持 CAPTCHA,作者构建了一个可扩展的 solver 接口,可以插入任何 CAPTCHA 解决服务。 文章通过性能对比,展示了 Cheerio + Impit 方案的优势。在抓取 100 个公共通知的场景下,Puppeteer 需要约 34.5 秒,内存占用约 150MB,而 Cheerio + Impit 只需要约 11 秒,内存占用约 10MB。这意味着 Cheerio + Impit 方案执行速度快 3.1 倍,内存占用低 15 倍。在 8GB 内存的服务器上,Cheerio + Impit 方案的并发能力是 Puppeteer 的 50 倍。 作者总结了几个重要的经验教训:选择合适的工具、理解目标网站的特点、重视 TLS 指纹识别、重视状态管理以及构建可扩展的架构。即使最终没有得到工作,但构建了一个令人自豪的项目并展示了解决问题的能力,也是一种收获。 - 原文: [Building a Fast Web Scraper Without Puppeteer: A Live Coding Challenge](https://dev.to/dilutedev/building-a-fast-web-scraper-without-puppeteer-a-live-coding-challenge-2apg) - 作者: dilutedev - 点赞数: 17 - 评论数: 8 - 发布时间: 2025-11-17 08:39:28 --- ## 本周小成就:庆祝每周进步,分享你的喜悦! 这篇文章鼓励大家回顾一周,分享自己感到自豪的成就,无论大小。它旨在营造一个积极的氛围,让人们庆祝进步,并互相鼓励。文章强调,所有的“小成就”都值得庆祝,例如获得晋升、开始新项目、修复棘手的错误,甚至是更换了长期被忽视的盆栽植物。通过分享这些成就,大家可以互相激励,并意识到即使是微小的进步也值得肯定。文章以轻松愉快的口吻,鼓励大家积极参与,分享自己的喜悦。作者还特意配了一张生机勃勃的蕨类植物的 GIF 图,象征着成长和进步。文章希望通过这种方式,让大家在每周结束时都能感受到成就感和快乐。 - 原文: [What was your win this week?!](https://dev.to/devteam/what-was-your-win-this-week-3php) - 作者: jess - 点赞数: 16 - 评论数: 20 - 发布时间: 2025-11-21 05:00:00 --- ## Final Round AI 与 Sensei AI: 哪一个才是真正的面试准备利器? 本文对比了 Sensei AI 和 Final Round AI 这两款 AI 面试辅导工具,作者分享了自己从使用 Sensei AI 到转向 Final Round AI 的体验,强调了 Final Round AI 在模拟真实面试场景、提供个性化反馈和提升应变能力方面的优势。 作者最初使用 Sensei AI,感觉它虽然界面简洁,反馈及时,题库丰富,但却像一个“读过职位描述但从未见过招聘人员的机器人”。Sensei AI 主要侧重于根据清晰度、结构和正确性来评分,但问题重复,反馈模板化,语气没有变化,感觉只是在打分,而不是在指导。例如,当作者给出一个关于使用缓存优化 API 响应的细致答案时,Sensei AI 的反馈仅仅是“好答案,你可以更详细地阐述”,缺乏上下文、例子和原因。 相比之下,Final Round AI 采取了一种更具沉浸感的方法,它复制了真实的、适应性强的面试体验,包括后续问题、语气分析和个性化反馈。它不只是测试你知道什么,而是帮助你学习如何在压力下思考和沟通。Final Round AI 的优势在于:提供个性化反馈,针对具体的措辞、逻辑漏洞和表达改进提出建议;自适应提问,后续问题根据你的答案而变化,感觉像一个真正的对话;界面直观流畅,专注于纯粹的沉浸式准备;增强自信心,让你不再是排练,而是在表演。作者分享了一个亲身经历,在一次真实面试前,Final Round AI 提出的后续问题与面试官的问题几乎相同,帮助他成功通过了面试。 总而言之,Sensei AI 适合初学者,可以提供结构化的练习,而 Final Round AI 更智能、更直观,更像真人,它不仅能帮助你练习答案,还能让你像一个已经被录用的候选人一样思考。因此,如果你正在 Sensei AI 和 Final Round AI 之间做出选择,需要考虑你想要的是机器人式的重复练习,还是真实的面试准备。 - 原文: [Final Round AI vs Sensei AI: Which One Really Prepares You for the Real Interview?](https://dev.to/finalroundai/final-round-ai-vs-sensei-ai-which-one-really-prepares-you-for-the-real-interview-4m5j) - 作者: hadil - 点赞数: 89 - 评论数: 20 - 发布时间: 2025-11-18 06:37:59 --- ## 从建筑学到软件工程的转型之路 这篇文章讲述了作者如何从建筑学专业转型成为一名软件工程师的经历,分享了其中的挑战、收获以及一些宝贵的经验。作者认为,建筑学背景并非转行的阻碍,反而能带来独特的优势。 作者提到,最初让他意识到建筑学并非最终归宿的契机,是偶然接触到了编程。简单的 "Hello World" 程序让他感受到了即时创造的魔力。转型之路并非一帆风顺,作者也经历了学习新知识的挣扎、调试代码的痛苦以及对自身能力的怀疑。但他坚持了下来,因为建筑学教会了他自律和韧性。 回顾这段经历,作者发现建筑学背景为他从事软件工程提供了诸多优势。首先是设计思维,建筑学培养了他对用户流程、空间利用和人类行为的理解,这使得他在软件开发中能够更自然地构建用户界面、考虑用户体验以及设计清晰的逻辑系统。其次,建筑项目通常规模庞大,需要分解为图纸、图层、组件和阶段,这使得他更容易理解 React 中的组件、模块化代码、大型软件系统以及项目管理。最后,建筑学要求对细节的高度关注,这有助于他编写更清晰、更易读的代码。 作者总结了几点经验:一是持续性胜过强度,每天坚持 3-4 小时的专注学习比突击学习更有效;二是不要等到掌握所有知识才开始构建项目,实践是最好的老师;三是善用搜索引擎、StackOverflow 和文档;四是接受冒名顶替综合症的普遍存在;五是认识到自己的背景是一种优势,而非劣势。 这篇文章没有评论内容。 - 原文: [How I Transitioned Into Software Engineering (Coming From Architecture)](https://dev.to/increase123/how-i-transitioned-into-software-engineering-coming-from-architecture-4b0m) - 作者: increase123 - 点赞数: 25 - 评论数: 12 - 发布时间: 2025-11-19 17:55:14 --- ## 打造 Lens Browser:一个注重隐私的数据收集替代品 本文讲述了作者构建 Lens Browser 的原因,它是一款注重隐私的浏览器,旨在替代那些将用户数据作为盈利手段的传统浏览器。作者认为,当前浏览器已经成为复杂的数据收集工具,即使是标榜“隐私至上”的浏览器也常常带有附加条件。 文章详细阐述了现代浏览器存在的问题,包括:虚假的隐私保护(如隐身模式)、功能蔓延(内置社交分享按钮、新闻推送等)、强制同意条款以及广告公司推出的广告拦截器可能存在的利益冲突。作者设想,如果隐私是浏览器的默认设置会怎样?基于此,他提出了 Lens Browser 的三个核心原则:零数据收集、隐私设计和极简主义。为了真正实现隐私,Lens Browser 没有后端服务器收集数据,所有处理都在本地进行,关闭应用时会自动清除所有内容,无需创建帐户、登录或云同步。在广告拦截方面,Lens Browser 使用内置的过滤器列表,并在本地处理阻止规则,不向外部服务器发送查询。此外,它还通过随机化识别特征和阻止指纹识别脚本来防止浏览器指纹识别。 Lens Browser 承诺永远不会添加分析跟踪、用户帐户、数据同步、社交媒体集成、广告、加密货币功能、新闻提要或购物助手等功能。作者选择不通过用户数据盈利,而是探索用户捐赠、隐私组织资助或与价值观一致的公司赞助等方式来维持项目。 由于没有提供评论内容,因此无法进行评论分析。 - 原文: [Why I Built Lens Browser: A Privacy-First Alternative in a World of Data Harvesting](https://dev.to/cas8398/why-i-built-lens-browser-a-privacy-first-alternative-in-a-world-of-data-harvesting-5and) - 作者: cas8398 - 点赞数: 18 - 评论数: 4 - 发布时间: 2025-11-20 05:14:35 --- ## 本地 Linux 环境下使用 GPU 运行 AI:Ollama + Open WebUI + Gemma 本文介绍了如何在 Linux 系统上利用 GPU 加速,通过 Ollama 和 Open WebUI 运行小型语言模型(LLM),并详细讲解了配置过程中的一些关键步骤和常见问题。文章重点在于选择适合 4GB 显存的 LLM、安装 Ollama、修复 NVIDIA Docker GPU 运行时问题,以及评估和运行 Open WebUI。 文章首先推荐了几款适合低显存 GPU 的小型 LLM,包括 Phi-3、Gemma 2 (2B)、TinyLlama 和 Qwen 1.8B,并对它们的速度、质量和显存占用进行了比较。接着,文章详细说明了如何使用 Ollama 安装和管理这些模型,以及如何正确安装 NVIDIA Container Toolkit 以启用 Docker 的 GPU 支持。安装过程中,需要特别注意清理旧的源列表,并配置 Docker GPU 运行时。 随后,文章对比了几种 Web UI 方案,包括 Jan AI、AnythingLLM 和 Open WebUI,最终选择了 Open WebUI,因为它与 Ollama 的集成最好,并且具有 GPU 优化构建和丰富的功能。文章详细描述了如何使用 Docker 运行 Open WebUI,并重点介绍了解决 "Open WebUI 无法连接到 Ollama" 问题的步骤。这个问题通常由 Ollama 仅监听 127.0.0.1、Open WebUI 数据库保存了错误的 host 值以及浏览器 localStorage 中保存了错误的 URL 导致。解决这些问题需要修改 Ollama 的 systemd 服务、清理 Open WebUI 的 Docker volume,以及清除浏览器 localStorage。 最后,文章提供了验证配置是否成功的步骤,包括在容器内使用 curl 命令检查 Ollama API 是否可用,以及在 Open WebUI 中检查模型是否出现、聊天是否正常工作以及 GPU 是否被使用。总结部分强调,成功配置需要修复 Ollama 网络绑定、Docker 环境变量覆盖和 Open WebUI 的内部及浏览器存储的连接配置这三个层面的问题。 - 原文: [Running Local AI on Linux With GPU: Ollama + Open WebUI + Gemma](https://dev.to/lovestaco/running-local-ai-on-linux-with-gpu-ollama-open-webui-gemma-546h) - 作者: lovestaco - 点赞数: 24 - 评论数: 2 - 发布时间: 2025-11-17 10:37:09 --- ## 编程学习之路:小步快跑,积少成多 这篇文章分享了一位开发者在学习Web开发过程中的点滴,作者强调了通过小项目和持续进步来提升技能的重要性。作者主要学习了HTML、CSS、JavaScript和Python的基础知识,并通过构建简单的落地页、计算器、自动化脚本、表单处理和待办事项应用等小项目来实践。 作者认为,分享学习过程有助于更好地理解概念,保持学习动力,并与其他学习者建立联系,同时也能追踪自己的成长。文章还提到了作者接下来的计划,包括探索API、挑战更多JavaScript练习、改进UI/UX基础以及开发小型自动化工作流。总而言之,作者鼓励大家从小处着手,稳扎稳打,逐步提升编程技能。 由于没有评论内容,无法进行评论分析。 - 原文: [🌱 My Coding Journey: Small Steps, Simple Projects, and Steady Progress](https://dev.to/olivia_roseparker_b7261e/my-coding-journey-small-steps-simple-projects-and-steady-progress-1ni7) - 作者: olivia_roseparker_b7261e - 点赞数: 14 - 评论数: 5 - 发布时间: 2025-11-17 07:11:51 --- ## AI 时代的 Déjà Vu:这次真的不一样了? 本文探讨了当前 AI 技术浪潮与 2015 年编程训练营热潮的相似之处,并分析了二者在市场环境和对开发者职业生涯的影响上的根本区别。文章指出,虽然都让人感到技能可能被商品化,但这次 AI 带来的挑战更加严峻。 文章首先回顾了 2015 年左右编程训练营的兴起,大量涌现的初级开发者使得市场竞争激烈。当时的挑战是“水平饱和”,即大量技能相似的初级人才竞争有限的初级职位。随后市场进行了“校准”,区分了“编码”和“工程”,能够理解他人代码、进行技术选型和编写有意义测试的工程师脱颖而出。 然而,如今的市场面临着“垂直压缩”和“管道消除”的双重压力。垂直压缩指的是,大量经验丰富的技术人员失业,导致高级职位竞争加剧,并向下蔓延至初级职位。与此同时,AI 正在自动化曾经由初级开发者完成的任务,例如实习生和初级工程师的工作。一项调查显示,许多招聘经理认为 AI 可以胜任实习生的工作,甚至更倾向于“雇佣” AI 而不是应届毕业生。 文章进一步指出,将裁员归咎于 AI 仅仅是一种“烟雾弹”。实际上,经济因素,如疫情后的过度招聘和宏观经济变化,才是裁员的主要原因。只有一小部分裁员明确与 AI 相关。 因此,对于软件开发者和科技爱好者来说,理解当前 AI 浪潮的本质至关重要。它不仅仅是另一种技术炒作,而是对整个行业结构产生深远影响的变革力量。开发者需要不断提升自己的技能,不仅仅是编码能力,更要注重工程能力、解决问题的能力和适应变化的能力,才能在未来的市场中立于不败之地。 - 原文: [I'm Getting Serious Déjà Vu... But This Time It's Different](https://dev.to/michaelsolati/im-getting-serious-deja-vu-but-this-time-its-different-17f4) - 作者: michaelsolati - 点赞数: 24 - 评论数: 11 - 发布时间: 2025-11-18 16:00:00 --- ## 100% 离线“第二大脑”:使用 Docker 和 Llama 3 构建工程文档系统 本文介绍了如何使用 Docker 和 Llama 3 搭建一个完全离线的“第二大脑”,用于存储和检索工程文档,解决在处理敏感数据时无法使用在线 LLM 的问题。该方案旨在创建一个私有的、企业级的 RAG(检索增强生成)系统,无需依赖 OpenAI 等 API 订阅,保证数据安全。 文章详细阐述了该架构的技术选型,包括使用 Ollama 作为推理引擎,因为它轻量且高效;选择 Meta 的 Llama 3 (8B) 模型,因为它在推理技术文档方面表现出色,并且可以在消费级 GPU 上流畅运行;使用 ChromaDB 作为向量数据库,因为它可以在本地运行,无需设置,并且能够快速处理向量检索。 此外,文章还介绍了使用 Python 和 Streamlit 构建的后端,用于处理“摄取管道”,包括从 PDF 中提取文本、将文本分解成可管理的部分、使用 mxbai-embed-large 模型将文本转换为向量,以及提供一个简洁的 Streamlit 界面用于与数据交互。作者还分享了在构建过程中遇到的挑战,例如 PDF 解析的复杂性、上下文窗口的限制以及 Docker 网络配置等问题,并提供了相应的解决方案。 最后,作者将整个设置打包成一个随时可部署的解决方案,包括完整的源代码、生产就绪的 Docker Compose 文件、针对技术文档优化的摄取逻辑以及 Windows/Linux 的设置指南,并提供了 GitHub 链接供读者下载。该方案对于希望拥有自己数据的工程师或开发人员来说是一个很好的学习 GenAI 架构的方式。 - 原文: [How I Built a 100% Offline “Second Brain” for Engineering Docs using Docker & Llama 3 (No OpenAI)](https://dev.to/philyeh/how-i-built-a-100-offline-second-brain-for-engineering-docs-using-docker-llama-3-no-openai-4gcj) - 作者: philyeh - 点赞数: 15 - 评论数: 4 - 发布时间: 2025-11-18 09:03:19 --- ## AI 精神错乱:当生活变成一系列 AI 查询 这篇文章探讨了作者提出的“AI 精神错乱”的概念,描述了一种人们过度依赖 AI,将现实生活体验转化为 AI 提示,并不断寻求 AI 反馈的状态。作者通过一天的生活记录,生动地展现了这种状态下的行为模式和心理变化。 文章的核心观点是,过度依赖 AI 会导致人们与真实世界的脱节。作者不再直接体验日出,而是将其视为一个 AI 图像生成的提示。他将自己的日程安排、饮食选择、甚至笑话都交给 AI 来处理,生活中的一切都变成了 AI 的输入和输出。 作者还描述了在不同 AI 模型之间切换,以寻求哪怕 1% 改进的现象。这种对 AI 的痴迷,让他花费大量时间在屏幕前,不断地输入、思考和修改提示。最终,他意识到自己已经很久没有与真人进行真正的交流,并开始反思这种生活方式的意义。 文章结尾提出了一个深刻的问题:当一切都处于“进行中”的状态时,这是否就是所谓的“进步”?AI 是否会将我们带到一个永远无法完成任何事情的境地?作者用亲身经历引发读者对 AI 时代人与技术关系的思考。 - 原文: [AI Psychosis](https://dev.to/srbhr/ai-psychosis-3mhh) - 作者: srbhr - 点赞数: 63 - 评论数: 15 - 发布时间: 2025-11-21 11:51:10 --- ## MongoDB 结构解析:从 localStorage 到数据库的理解 本文深入探讨了 MongoDB 的结构,特别关注了从 NoSQL 的基本概念到内部数据存储机制的演变,旨在帮助开发者更好地理解 MongoDB 的底层逻辑。文章通过对比 SQL 和 NoSQL 数据库,解释了 MongoDB 作为文档数据库的优势和适用场景。 文章首先回顾了关系型数据库(SQL)的严格模式,指出其在应用扩展时的局限性。随后引入 NoSQL 概念,强调其“Not Only SQL”的本质,即作为 SQL 的补充,为现代应用提供更快的速度和更大的灵活性。文章详细解释了 MongoDB 中 Document 和 Collection 的概念。Document 类似于 JSON 对象,以 BSON 格式存储,支持嵌套对象、列表和复杂数据类型,是 MongoDB 的基本构建块。Collection 则类似于关系型数据库中的 Table,但不同之处在于,Collection 中的 Document 可以拥有不同的结构,提供了动态模式的灵活性。文章还强调了 `_id` 字段的重要性,它是 Document 的主键,由 MongoDB 自动生成,保证唯一性。最后,文章介绍了 CRUD 操作,即 Create、Read、Update 和 Delete,它们是与 MongoDB 交互的基本方法。 总的来说,这篇文章由浅入深地介绍了 MongoDB 的核心概念,通过对比关系型数据库,突出了 MongoDB 的优势和适用场景。文章适合对 NoSQL 和 MongoDB 感兴趣的开发者阅读,可以帮助他们更好地理解 MongoDB 的底层原理和使用方法。 - 原文: [From localStorage to Database: Understanding the MongoDB Structure❗](https://dev.to/cristea_theodora_6200140b/from-localstorage-to-database-understanding-the-mongodb-structure-1a21) - 作者: cristea_theodora_6200140b - 点赞数: 73 - 评论数: 16 - 发布时间: 2025-11-19 05:55:18 --- ## 使用 Gemini 2.0 Flash 和 AI Studio 构建 BS Detector 产品 本文介绍了如何使用 Google Gemini 2.0 Flash 和 AI Studio 构建一个名为 "BS Detector" 的 Chrome 扩展程序,旨在帮助用户识别在线产品评论中的虚假信息,从而做出更明智的购买决策。 文章首先点明了在线产品评论的常见问题,例如水军评论、激励性评论以及用户短暂使用后的不客观评价。为了解决这个问题,作者开发了一款 Chrome 扩展程序,该程序利用 Google Gemini 2.0 Flash 的搜索能力,抓取产品名称,并将其与 Reddit 和独立论坛上的真实讨论进行交叉引用,从而帮助用户找到关于产品的真实评价。 该扩展程序的技术栈包括 Manifest V3、Chrome Side Panel API、Gemini 2.0 Flash 以及 Vanilla JS & CSS。作者详细介绍了每个组件的作用,例如使用 Side Panel API 替代 Popup 以提供更好的用户体验,以及利用 Gemini 2.0 Flash 的 Search Grounding 功能来避免 LLM 产生幻觉。 文章还重点介绍了如何使用 Gemini 2.0 的 Controlled Generation 功能,通过定义 JSON schema 来确保 API 返回的数据格式一致,从而避免了繁琐的正则表达式解析。通过定义 `responseSchema`,可以精确控制输出的 JSON 结构,包括 `real_score`、`verdict`、`dealbreakers`、`pros` 和 `source_count` 等字段。 最后,文章展示了该扩展程序的实际效果,它可以输出产品的真实情感评分、用户体验总结以及隐藏的缺点。作者还分享了未来的改进方向,例如添加历史记录存储以比较产品,分析价格历史以及检测虚假评论模式。总而言之,该项目展示了如何利用 AI 技术构建实用的客户端扩展程序,而无需庞大的后端支持。 - 原文: [I built a product "BS Detector" using Gemini 2.0 Flash and AI Studio 🕵️‍♂️](https://dev.to/googleai/i-built-a-product-bs-detector-using-gemini-20-flash-and-ai-studio-69j) - 作者: dynamicwebpaige - 点赞数: 22 - 评论数: 2 - 发布时间: 2025-11-19 05:33:43 ---

  

🫵 来啊,说点有用的废话!