{"pageContext":{"index":349,"total":363,"name":"2026-01-10","items":[{"node":{"frontmatter":{"title":"2025 JavaScript 新星一览","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"javascript","url":"https://risingstars.js.org/2025/en","author":"Michael Rambeau et al.","translator":"","tags":["other"],"priority":1},"html":"<h2 id=\"整体热门项目\"><a href=\"#%E6%95%B4%E4%BD%93%E7%83%AD%E9%97%A8%E9%A1%B9%E7%9B%AE\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>整体热门项目</h2>\n<ul>\n<li>年度总冠军为<a href=\"https://github.com/n8n-io/n8n\"><strong>n8n</strong></a>，作为支持AI功能的工作流自动化平台，一年内新增11.2万GitHub星标，创历史纪录，其可视化流程搭建与400+集成能力满足了无代码+AI自动化需求。</li>\n<li>TOP10热门项目中，3个聚焦AI领域：Onlook（AI驱动的React可视化编辑工具）、Dyad（开源本地AI应用构建器）、Stagehand（AI浏览器自动化框架）。</li>\n<li>组件库与工具类项目持续领跑，shadcn/ui（排名第3）凭借高可定制性与多框架适配保持强劲势头，React Bits（排名第2）以动画交互组件成为建站热门选择。</li>\n</ul>\n<h2 id=\"核心技术领域趋势\"><a href=\"#%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF%E9%A2%86%E5%9F%9F%E8%B6%8B%E5%8A%BF\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>核心技术领域趋势</h2>\n<h3 id=\"前端框架\"><a href=\"#%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>前端框架</h3>\n<ul>\n<li>React生态重夺第一，React 19新增Activity API与增强型钩子，React Server Components推动服务端渲染革新，但也出现React2Shell等高危漏洞。</li>\n<li>新秀<strong>Ripple</strong>跻身第二，融合React、Solid与Svelte优势，采用响应式原语与组件化架构，暂处早期开发阶段。</li>\n<li>Svelte连续三年稳居第三，Svelte 5的Runes响应式系统（$state/$derived/$effect）成为状态管理标准。</li>\n</ul>\n<h3 id=\"后端全栈\"><a href=\"#%E5%90%8E%E7%AB%AF%E5%85%A8%E6%A0%88\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>后端/全栈</h3>\n<ul>\n<li>新贵<a href=\"https://github.com/MotiaDev/motia\"><strong>Motia</strong></a>夺冠，以“Steps”为核心原语，统一API、工作流、AI代理等后端能力，支持TypeScript/Python双语言与内置可观测性。</li>\n<li>传统热门框架格局微调：Payload（第2，被Figma收购）、Next.js 16（第3，新增缓存组件）、Astro（第4，专注内容型应用性能）、Hono（第5，轻量跨环境Web框架）。</li>\n</ul>\n<h3 id=\"工具链\"><a href=\"#%E5%B7%A5%E5%85%B7%E9%93%BE\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>工具链</h3>\n<ul>\n<li><strong>Bun</strong>登顶，集运行时、打包器、测试工具于一体，被Anthropic收购后聚焦AI代理场景。</li>\n<li>Rust驱动工具成主流：Oxc生态（Oxlint、Oxfmt）挑战ESLint/Prettier，Rspack（字节跳动）作为webpack替代方案获广泛采用。</li>\n<li>TypeScript将迎来重大变革，微软计划用Go重写，TypeScript 7.0将成为首个Go实现版本。</li>\n</ul>\n<h3 id=\"移动开发\"><a href=\"#%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>移动开发</h3>\n<ul>\n<li>新王更替：Snap的<strong>Valdi</strong>与字节跳动的<strong>Lynx</strong>取代React Native/Expo登顶，均支持TypeScript、JSX与原生渲染，分别优化轻量性与交互性能。</li>\n<li>React Native稳步迭代，推进v1.0版本，支持React 19、Hermes V1，并成立React基金会保障长期发展。</li>\n<li>新秀Dioxus（第4）以Rust为基础，目标打造“轻量版Flutter”，计划通过Blitz渲染器实现原生图形API绘制。</li>\n</ul>\n<h2 id=\"生态关键动态与挑战\"><a href=\"#%E7%94%9F%E6%80%81%E5%85%B3%E9%94%AE%E5%8A%A8%E6%80%81%E4%B8%8E%E6%8C%91%E6%88%98\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>生态关键动态与挑战</h2>\n<ul>\n<li>收购与人才流动：Bun被Anthropic收购，Next.js核心人物Lee Robinson加盟Cursor，Nuxt核心团队加入Vercel。</li>\n<li>技术路线分化：React侧重服务端复杂能力，Remix 3放弃React转向Web平台原生方案，聚焦简洁性。</li>\n<li>安全风险凸显：npm生态遭遇“Shai-Hulud”供应链攻击，React Server Components暴露React2Shell远程代码执行漏洞，安全审计与依赖管理成刚需。</li>\n</ul>"}},{"node":{"frontmatter":{"title":"2025回顾：LLM年度进展","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"AI","url":"https://simonwillison.net/2025/Dec/31/the-year-in-llms/","author":"Simon Willison","translator":"","tags":["other"],"priority":1},"html":"<p>Simon Willison 的 2025 年 LLM 年度回顾指出，今年是推理与代理之年，RLVR 技术推动 LLM 工具调用和多步骤任务规划能力爆发，编码代理（以 Claude Code 为代表）和搜索代理成为核心突破方向，命令行 LLM 工具也因开发者需求实现商业化成功。行业格局上，OpenAI 失去绝对领先地位，Google Gemini 凭借多模态迭代和 TPU 硬件优势崛起，中国开源模型则包揽排行榜前五，在高效训练推理领域实现突破。同时，LLM 在长任务处理、图像编辑、学术竞赛等场景持续突破，也催生了 vibe coding 等新开发模式，但安全风险（如提示注入、AI 浏览器、模型 “告密”）和行业挑战（数据中心环保争议、Slop 内容泛滥、Llama 系列发展遇阻）同样凸显，高价订阅模式和本地与云端模型的差距也成为年度重要特征。</p>"}},{"node":{"frontmatter":{"title":"2026将是我的Linux桌面年","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://xeiaso.net/notes/2026/year-linux-desktop/","author":"Xe Iaso","translator":"","tags":["other"],"priority":1},"html":"<p>作者 Xe Iaso 计划 2026 年全面转向Linux 桌面生态，已三个月未启动 Windows，拟将三块 SSD 统一为 Fedora 的 btrfs 文件系统；他痛批 Windows 11 体验糟糕，微软浪费 NT 内核、WSL 等技术优势，用 React Native、Web 视图改造核心功能，强行推广 Copilot 还引发设备卡死，内部团队内耗加剧了体验恶化。因此他决定台式机用 Fedora、掌上设备用 Bazzite/SteamOS，认为 Linux 桌面如今能普及，关键是 Windows 体验已糟到损害用户利益，且 Linux 能减少内存冗余。对于 LLM 集成，他选择自行编写代码让模型运行在可直接监控的硬件上，同时看重 Linux 出现问题时日志消息的排障便利性。</p>"}},{"node":{"frontmatter":{"title":"AI 在 React 开发中的真实表现","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://addyo.substack.com/p/how-good-is-ai-at-coding-react-really","author":"Addy Osmani","translator":"","tags":["react","AI"],"priority":1},"html":"<p>AI 在 React 开发中表现出“复杂性断崖”：在结构清晰、需求明确的小型任务（如生成组件、样式或简单逻辑）上能高效产出，但在涉及状态管理、架构设计或多文件集成的复杂任务中成功率急剧下降。它能加速初稿生成，却仍需要人类工程师负责理解上下文、做设计决策与质量控制，因而更像是一种“辅助放大器”，而非可以独立完成 React 项目的开发者。</p>"}},{"node":{"frontmatter":{"title":"Inngest为何从Next.js迁移到TanStack","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"nodejs","url":"https://www.inngest.com/blog/migrating-off-nextjs-tanstack-start","author":"Jacob Heric","translator":"","tags":["tanstack"],"priority":1},"html":"<p>Inngest 团队因 Next.js 适配全栈通用型小团队的体验差、本地开发初始页面加载达 10-12 秒，且尝试优化、切换 Turbopack 均未解决核心问题，遂评估 Tanstack Start、Deno Fresh、React Router v7 后，因团队对 Tanstack 生态的认可及其实时性能、<strong>显式的服务端 / 客户端边界设计更匹配需求</strong>，选择暴力迁移至仍处 RC 版本的 Tanstack Start，迁移由 1 名工程师在 AI 协助下完成，全程约 3 周，仅在最终阶段短暂阻塞功能开发，AI 主要承担路由转换的重复性工作并协助解决技术问题，最终实现本地开发页面加载时间降低 83%、初始加载稳定在 2-3 秒且后续路由近乎即时加载的效果，同时 Tanstack Start 显式的路由配置和独立数据 loader 让开发逻辑更清晰，解决了 Next.js 数据请求与布局耦合的问题，团队也分享了 Tanstack Start 开发需频繁构建验证、暴力迁移需靠全面 UAT 替代代码评审等经验，并将迁移代码开源，还给出了从 Next.js 迁移的完整决策参考，为同类团队提供了借鉴。</p>"}},{"node":{"frontmatter":{"title":"Node.js 中 require (esm)：从实验阶段走向稳定","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"nodejs","url":"https://joyeecheung.github.io/blog/2025/12/30/require-esm-in-node-js-from-experiment-to-stability/","author":"Joyee Cheung","translator":"","tags":["esm"],"priority":1},"html":"<p>经过一年多迭代与测试，Node.js 的 require(esm) 功能已在 v20.19.0+、v22.12.0+ 等支持的 LTS 版本中正式稳定，其落地离不开社区协作、贡献者支持及 Bloomberg 赞助，此前该功能缺失导致 ESM 作为发布格式存在兼容性劣势，包维护者需通过转译或 “双包” 模式适配，反而阻碍 ESM 迁移，而 require(esm) 虽不支持含顶级 await 的模块（对绝大多数包无实质影响），但能允许包直接发布 ESM、减少迁移摩擦，且其开发遵循多项核心原则，经多版本迭代回溯后落地，后续还将公布实现细节及互操作适配方案。</p>"}},{"node":{"frontmatter":{"title":"Motia - 后AI时代一站式跨语言后端开发框架","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"nodejs","url":"https://github.com/MotiaDev/motia","author":"Motia","translator":"","tags":["AI"],"priority":2},"html":"<p>Motia 是一款一站式跨语言后端开发框架，以 step 为核心原语，统一整合 API 开发、后台任务、消息队列（redis）、工作流编排和 AI 智能体能力，内置状态管理、实时流处理与全链路可观测性，支持 JavaScript/TypeScript/Python 等多语言无缝协作，提供可视化 Workbench 工作台实现低代码开发，兼具热重载、容错重试、Docker 容器化部署等生产级特性，既能满足多语言数据处理、AI 内容审核等复杂场景需求，也能大幅降低后端系统整合不同工具与技术栈的成本。</p>"}},{"node":{"frontmatter":{"title":"GOG正被其原联合创始人收购","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://www.gog.com/blog/gog-is-getting-acquired-by-its-original-co-founder-what-it-means-for-you/","author":"GOG Team","translator":"","tags":["other"],"priority":1},"html":"<p>G2025 年 12 月 29 日，GOG 被其联合创始人 Michał Kiciński 从 CD PROJEKT 手中收购后将保持独立运营，核心使命 “让游戏永续存在” 及无 DRM、用户游戏库所有权、离线安装等核心服务不变，仍会与 CD PROJEKT 合作发行其旗下游戏，未来将继续深耕经典游戏保存与优质游戏推广，且用户数据、相关赞助资金均保持独立。</p>"}},{"node":{"frontmatter":{"title":"Linux现在很不错","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"devops","url":"https://www.pcgamer.com/software/linux/im-brave-enough-to-say-it-linux-is-good-now-and-if-you-want-to-feel-like-you-actually-own-your-pc-make-2026-the-year-of-linux-on-your-desktop/","author":"Joshua Wolens","translator":"","tags":["desktop"],"priority":1},"html":"<p>作者因厌倦 Windows 的 AI 功能、Office 订阅推销及控制权侵蚀，改用游戏优化的 Bazzite 发行版，发现其操作简便，无需命令行，Nvidia 显卡兼容良好，游戏体验不输甚至优于 Windows；Steam 硬件调查显示 Linux 用户占比连续两月创新高至 3.2%，已超 Mac 用户，作者认为这一趋势将持续，归因于用户对 Windows 捆绑销售和控制权缺失的不满，而 Linux 的最大吸引力是让用户真正拥有电脑；尽管 Linux 在 HDR 支持和部分在线游戏防作弊软件兼容性上仍有挑战，但作者基于 Valve 的相关努力对问题解决持乐观态度，鼓励读者 2026 年至少通过启动盘体验 Linux，感受其友好的开源环境。</p>"}},{"node":{"frontmatter":{"title":"n8n - 比Zapier更新强大的开源可视化整合AI工作流自动化工具","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"javascript","url":"https://github.com/n8n-io/n8n","author":"n8n-io","translator":"","tags":["workflow"],"priority":2},"html":"<p>n8n 是一款开源低代码 / 无代码、AI 深度融合的工作流自动化工具，支持云端托管与本地部署双模式，既支持非开发者拖拽节点零代码搭建流程，也允许开发者通过 JavaScript/Python 扩展自定义逻辑，凭借 500 + 跨平台集成能力，可实现多场景自动化落地 —— 比如自媒体用它搭建 “爬取热门话题→AI 生成文案→自动发布多平台” 的智能内容流，企业用它完成 “订单自动录入→发票生成→物流推送” 的全链路业务自动化，安全团队用它构建 “威胁情报整合→AI 分析→告警推送” 的安全响应流程，兼顾灵活性、数据合规性与高效性，成为连接各类软件、服务与 AI 能力的自动化枢纽。</p>"}},{"node":{"frontmatter":{"title":"npm 推出分阶段发布机制","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"nodejs","url":"https://socket.dev/blog/npm-to-implement-staged-publishing","author":"Sarah Gooding","translator":"","tags":["npm"],"priority":1},"html":"<p>25 年 JavaScript 生态遭遇多起供应链攻击（以 Shai-Hulud 攻击为代表），且 npm 经典令牌停用引发迁移乱象（维护者负担重、流程混乱、认证故障等），为此 npm 计划推出分阶段发布机制（增设审核窗口期），同时推进可信发布优化，但目前可信发布存在局限，部分维护者呼吁加强注册表端异常检测，未来 npm 需整合多项措施，在保障安全的同时适配开源软件大规模维护需求。</p>"}},{"node":{"frontmatter":{"title":"react-logo-soup - 标志集合组组件","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://github.com/sanity-labs/react-logo-soup","author":"Sanity Labs","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"当下互联网已沦为算法驱动、资本主导的工业化 “注意力农场”","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"database","url":"https://henry.codes/writing/a-website-to-destroy-all-websites/","author":"Henry","translator":"","tags":["other"],"priority":1},"html":"<p>文章批判当下互联网已沦为算法驱动、资本主导的工业化 “注意力农场”，偏离了开放探索与社群连接的初衷，衍生出内容同质化、用户丧失所有权等诸多问题，援引伊凡・伊里奇 “友好型工具” 理论，指出技术工业化后易形成 “激进垄断”、社会反被技术支配的共性陷阱，进而呼吁人们摆脱主流平台束缚，通过从小起步、降低发布门槛、借助 IndieWeb 协议等方式搭建个人网站，以回归开放、自主、注重创造力与所有权的理想互联网生态，让互联网重新服务于人类的自由、连接与创造。</p>"}},{"node":{"frontmatter":{"title":"useEffectEvent解决useEffect依赖管理与闭包问题","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://blog.logrocket.com/react-has-finally-solved-its-biggest-problem-useeffectevent/","author":"Jack Herrington","translator":"","tags":["react"],"priority":1},"html":"<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">useInterval</span><span class=\"token punctuation\">(</span>onTick<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span>tick<span class=\"token punctuation\">:</span> number<span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token keyword\">void</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> onTickEvent <span class=\"token operator\">=</span> <span class=\"token function\">useEffectEvent</span><span class=\"token punctuation\">(</span>onTick<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token function\">useEffect</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">let</span> ticks <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> interval <span class=\"token operator\">=</span> <span class=\"token function\">setInterval</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">onTickEvent</span><span class=\"token punctuation\">(</span><span class=\"token operator\">++</span>ticks<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">clearInterval</span><span class=\"token punctuation\">(</span>interval<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"在自己的网站发布，联合发布到别处","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"devops","url":"https://indieweb.org/POSSE#","author":"indieweb","translator":"","tags":["other"],"priority":1},"html":"<p>POSSE（Publish on your Own Site, Syndicate Elsewhere）是 IndieWeb 运动的核心联合发布模式，指先在个人网站发布内容，再将副本或链接同步到社交媒体等第三方平台，且同步内容需包含指向原始内容的永久链接。\n其核心优势包括：减少对第三方平台的依赖，确保内容所有权归属个人，拥有内容的规范 URL，便于搜索且可通过反向联合（backfeed）整合第三方平台的互动反馈，同时能利用第三方平台的社交属性和聚合功能。\n实现方式多样，可通过自动同步（服务器或客户端触发）、半手动操作（如浏览器插件、API 工具）等，支持同步到 Twitter、Facebook、Medium、Mastodon 等多个平台，相关工具包括 SiloRider、Bridgy Publish、IFTTT 等，也可通过 WordPress、Jekyll 等平台的插件实现。\n该模式与 COPE（仅多平台复制无原始归属）、PESOS（先第三方后同步个人网站）等模式不同，核心是强调个人对内容的绝对掌控。众多 IndieWeb 参与者已在个人网站实现该模式，其理念也被推广到代码仓库等非网页场景，旨在帮助用户摆脱平台垄断，掌控自身数字内容与数据。</p>"}},{"node":{"frontmatter":{"title":"React Hooks 演进：适配 React 18+ 的现代使用指南","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://allthingssmitty.com/2025/12/01/react-has-changed-your-hooks-should-too/","author":"Matt Smith","translator":"","tags":["react"],"priority":1},"html":"<p>借助 useEffectEvent、useSyncExternalStore、useDeferredValue 等新 API 解决闭包、订阅、性能问题，通过自定义 Hooks 封装领域逻辑分离 UI 与业务，适配 React 数据优先的演进方向，构建更稳定、可维护的应用。</p>\n<p>useDeferredValue 是优先级调度，核心是 “让 React 先处理紧急的用户交互，空闲时再处理非紧急计算”，无固定延迟时间，状态逐步同步</p>\n<p>useDeferredValue可以和debounce（防抖）配合使用</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">Search</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> <span class=\"token punctuation\">[</span>query<span class=\"token punctuation\">,</span> setQuery<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token function\">useState</span><span class=\"token punctuation\">(</span><span class=\"token string\">''</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">const</span> deferredQuery <span class=\"token operator\">=</span> <span class=\"token function\">useDeferredValue</span><span class=\"token punctuation\">(</span>query<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">const</span> debounceFetch <span class=\"token operator\">=</span> <span class=\"token function\">useCallback</span><span class=\"token punctuation\">(</span><span class=\"token function\">debounce</span><span class=\"token punctuation\">(</span>fetchData<span class=\"token punctuation\">,</span> <span class=\"token number\">300</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token comment\">// 延迟值变化时，触发防抖请求</span>\n  <span class=\"token function\">useEffect</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">debounceFetch</span><span class=\"token punctuation\">(</span>deferredQuery<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span>deferredQuery<span class=\"token punctuation\">,</span> debounceFetch<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token comment\">// ...</span>\n<span class=\"token punctuation\">}</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"当谷歌广告失去效果","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"devops","url":"https://www.circusscientist.com/2025/12/29/google-is-dead-where-do-we-go-now/","author":"tomjuggler","translator":"","tags":["other"],"priority":1},"html":"<p>其娱乐业务近 3 个月收入暴跌 50%，核心获客渠道谷歌广告（Google Ads）失效 —— 尽管过去 10 年该渠道表现良好，且他近一年不断增加广告预算、每周优化关键词和广告活动，甚至谷歌赠送了 5 倍月均广告费的假期补贴，他后续将预算提升至 10 倍，仍未获得任何回报，最终停止追加投入。为应对危机，博主开启多元获客尝试：在 TikTok、Instagram 等短视频平台投放广告（其中因 Instagram 粉丝基础较好，48 小时内斩获 4 个新订单），通过定期发送电子邮件 newsletter 维护占比 50% 的回头客，计划参与线下市集做免费表演、派发名片，同时拓展相关周边产品（如 Magic Poi 相关项目）销售；此外，博主还透露目前资金紧张，承接网站或物联网（IOT）项目接单。</p>"}},{"node":{"frontmatter":{"title":"社交网络早已从通信工具异化为娱乐平台","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"database","url":"https://ploum.net/2025-12-15-communication-entertainment.html","author":"Ploum","translator":"","tags":["other"],"priority":1},"html":"<p>文章作者 Ploum 因自身关于 “Pixelfed 刻意丢弃消息可能损害 Fediverse 信任” 的博客引发争议，发现人们对 ActivityPub 协议存在两类对立认知 —— 部分 40 岁以上、习惯邮件和传统网页的人将其视为 “保障消息不丢失” 的通信协议，而包括 Pixelfed 创作者在内的另一部分人则视其为 “内容消费的娱乐协议”，且后者多认可 “一平台一账号” 的使用模式；作者进而指出，社交网络早已从通信工具异化为娱乐平台，平台无需可靠通信机制，因用户已适应算法筛选内容的模式，连邮件也逐渐被当作 “内容流” 对待，而可靠通信协议因不盈利、不具成瘾性被边缘化；作者坦言自己难以适应这种现状，仍坚守邮件、RSS、离线浏览等异步且可靠的通信与阅读方式，呼吁同样重视真实沟通的人加入，守护有意义的人际连接空间。</p>"}},{"node":{"frontmatter":{"title":"单页可打印日历","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://neatnik.net/calendar/?year=2026","author":"Neatnik","translator":"","tags":["other"],"priority":1},"html":"<p>本网页提供了一个方便打印的日历，能将全年日期显示在单页上。该日历能自动适应任何尺寸的纸张，为获得最佳打印效果，建议将打印设置调整为横向，并禁用页眉和页脚。</p>\n<p>用户可以一览全年，方便携带、记笔记、规划事务和观察时间流逝。页面最后提醒大家要善待他人。</p>\n<p>网页中展示的是2026年的日历，并提供了2027年的链接。</p>"}},{"node":{"frontmatter":{"title":"如何用静态 Hermes 将 JavaScript 编译成 C 语言","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"javascript","url":"https://devongovett.me/blog/static-hermes.html","author":"Devon Govett","translator":"","tags":["c"],"priority":2},"html":"<p>Static Hermes 是 Facebook 为 React Native 开发的 JavaScript 引擎，通过提前将 JS 编译为 C 代码（再经 LLVM 转为机器码），生成独立二进制文件，无需 JS 虚拟机即可运行，还能借助 LLVM 优化提升性能，方便与 Rust 等支持 C 接口的语言集成。作者以 Less.js 为例，详细演示了操作流程：先用 Parcel 打包 Less 模块为无依赖 JS 文件并暴露编译函数，再通过 Static Hermes 将其编译为 C 目标文件，编写 C 包装器调用 JS 函数，最后在 Rust 代码中声明并调用该 C 函数，完成 Less 到 CSS 的编译。这种方式避免了嵌入解释器或跨进程通信的性能开销，为 Rust 工具集成 JS 插件提供了高效方案，还可拓展至 React Compiler 等场景。</p>"}},{"node":{"frontmatter":{"title":"未处理的照片是什么样子","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://maurycyz.com/misc/raw_photo/","author":"","translator":"","tags":["other"],"priority":1},"html":"<p>该网页以圣诞树照片为例，说明相机传感器捕捉的原始数据是仅含光线强度的 14 位 ADC 数值（实际有效范围 2110-136000），无真实色彩且直接显示会过暗，需经黑白场校准、拜耳矩阵去马赛克补全三色、非线性曲线提亮暗部、白平衡校准消除绿色偏色等关键处理，而相机直出 JPEG 本身已包含大量自动化数学处理，后期编辑并非 “造假”，而是对同一原始数据的合理诠释，手动微调在自动化算法有偏差时十分必要。</p>"}},{"node":{"frontmatter":{"title":"沃伦·巴菲特在掌管伯克希尔哈撒韦六十年后卸任CEO","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://www.latimes.com/business/story/2025-12-31/warren-buffett-steps-down-as-berkshire-hathaway-ceo-after-six-decades","author":"Josh Funk","translator":"","tags":["other"],"priority":1},"html":"<p>2025 年 12 月 31 日，沃伦・巴菲特在执掌伯克希尔・哈撒韦公司 60 年后卸任 CEO，由格雷格・阿贝尔接任，巴菲特继续担任董事长并每日到岗提供指导。巴菲特期间将公司从濒临倒闭的纺织厂打造成市值 1 万亿美元的巨头，股票单价超 75 万美元，个人财富达 1500 亿美元（已捐赠 600 多亿美元），通过收购多元企业及对知名公司长期投资，使公司业绩长期跑赢标普 500 指数。阿贝尔自 2018 年起管理公司非保险业务，未来将维持去中心化文化，近期已通过任命新业务负责人调整高层架构以减轻自身负担。尽管公司近年因体量过大增长放缓，且阿贝尔未来可能面临投资者关于 3820 亿美元现金使用（分红或回购）的压力，但得益于巴菲特近 30% 的投票权缓冲、公司坚实的业务基础（保险业务年供 1750 亿美元可投资保费），长期股东对其领导下的公司前景仍持乐观态度。</p>"}},{"node":{"frontmatter":{"title":"用纯HTML取代JavaScript","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://www.htmhell.dev/adventcalendar/2025/27/","author":"Aaron T. Grogg","translator":"","tags":["html"],"priority":1},"html":"<p>应利用原生 HTML 替代原本依赖 JavaScript（JS）的网页功能以减少下载量、节省内存，让 JS 专注核心任务，文中具体介绍了通过<code class=\"language-text\">&lt;details&gt;</code>与<code class=\"language-text\">&lt;summary&gt;</code>实现折叠面板、<code class=\"language-text\">&lt;input&gt;</code>与<code class=\"language-text\">&lt;datalist&gt;</code>实现自动筛选下拉输入框、popover与popovertarget属性实现模态框 / 弹出层，以及基于弹出层功能配合 CSS 实现离线导航 / 内容这四种场景的基础代码、适用场景、相关资源及浏览器兼容性，强调原生 HTML 方案的简洁高效，同时提及 CSS 的功能拓展，鼓励开发者减少不必要的 JS 使用。</p>"}},{"node":{"frontmatter":{"title":"特斯拉4680电池供应链崩溃，合作伙伴将交易价值减记99%","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://electrek.co/2025/12/29/tesla-4680-battery-supply-chain-collapses-partner-writes-down-dea/","author":"Fred Lambert","translator":"","tags":["other"],"priority":2},"html":"<p>2025 年 12 月 29 日，Electrek 报道特斯拉 4680 电池供应链遭遇重大危机 —— 其韩国电池材料合作伙伴 L&#x26;F 公司宣布，2023 年初签订的价值 29 亿美元的高镍正极材料供应合同，如今合同价值被减记至仅约 7386 美元，缩水幅度超 99%，此举凸显特斯拉自研 4680 电池需求的灾难性下滑。\n该高镍正极材料本用于特斯拉 4680 电池生产，而目前 4680 电池仅搭载于 Cybertruck 车型，合同缩水的核心原因指向 Cybertruck 市场表现惨淡：尽管德州超级工厂年产能达 25 万辆，但 Cybertruck 当前年销量仅 2 万 - 2.5 万辆，特斯拉此前多次推出折扣融资、0% APR 等激励措施仍难去库存，甚至在 9 月停产入门版车型。\n文章指出，4680 电池曾被马斯克誉为 “降低电池成本、实现 2.5 万美元电动车” 的关键，但自 2020 年电池日发布五年后，其干法电极工艺仍难以规模化量产，且唯一应用车型 Cybertruck 沦为商业失败品。合同 99% 的减记基本等同于取消，暗示特斯拉不仅未扩大 4680 电池产能，甚至可能正逐步缩减该项目。此外，有评论提及同样计划使用 4680 电池的 Cybercab 项目也前景不明，其无方向盘设计依赖尚未解决的 L4 级自动驾驶技术，即便推出也可能面临产量受限问题。</p>"}},{"node":{"frontmatter":{"title":"乘坐德国铁路距目的地反而远了 63 公里","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"other","url":"https://www.theocharis.dev/blog/kidnapped-by-deutsche-bahn/","author":"Jeremy Theocharis","translator":"","tags":["other"],"priority":1},"html":"<p>Jeremy Theocharis 发文讲述自己 24 日圣诞节当天乘坐德国铁路（DB）RE5 次列车的糟糕经历：原计划从科隆主火车站出发，经波恩转车前往 35 公里外的梅肯海姆探望祖母，列车却晚点 20 分钟，且因波恩周边出现问题改道，司机仅用德语告知绕行路线（科隆南 - 特罗伊斯多夫 - 新维德 - 科布伦茨），未预留外语提示。当他计划在特罗伊斯多夫下车与父亲会合自驾时，列车因未在该站注册轨道无法停靠，径直驶向另一联邦州的新维德，导致他距目的地反而远了 63 公里。途中有乘客吐槽如同 “被绑架”，而他查询后发现，此次行程对应的赔偿仅 1.5 欧元，未达 4 欧元的最低赔付门槛，文章还顺带提及 DB 列车晚点 6 分钟内算 “准点”、取消列车不纳入统计等不合理规则，凸显德国铁路的服务乱象。</p>"}},{"node":{"frontmatter":{"title":"用AI调试React：它能取代高级开发者吗","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://www.developerway.com/posts/debugging-with-ai","author":"Nadia Makarevich","translator":"","tags":["react"],"priority":1},"html":"<p>作者以 React/Next.js 实战项目为载体，用 Claude Opus 4.5 对用户页面加载失败、双加载骨架屏、路由重定向闪错三个真实 Bug 做 AI 调试，并从修复问题、定位根因、根因修复三方面人工验证，发现 AI 仅能有效解决 Zod 校验这类标准化简单问题，对复杂问题要么定位根因错误、修复方案引入新问题，要么完全无法解决，而资深开发者能基于框架底层原理、业务场景完成根因分析与正确修复，最终得出 AI 无法替代资深开发者，仅可作为调试初始辅助工具，调试的核心是开发者知道何时停止用 AI 并自主思考的结论。</p>"}},{"node":{"frontmatter":{"title":"通过 React 管理 Blender 中的 3D 场景","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"frontend","url":"https://romanliutikov.com/blog/driving-3d-scenes-in-blender-with-react","author":"Roman Liutikov","translator":"","tags":["react"],"priority":1},"html":"<p>Blender 是基于 Python 的 3D 建模工具，项目通过在 Blender 的 Python 插件中嵌入轻量级 JavaScript 引擎 QuickJS，搭建 React 与 Blender 的通信桥梁：React 负责以组件化方式描述 3D 场景结构，自定义协调器将 React 操作（创建、更新、删除组件）转化为指令，通过 Python 接口调用 Blender 的 API，最终实现 3D 场景的渲染与控制。\n<a href=\"https://github.com/roman01la/blender-react\">源码</a></p>"}},{"node":{"frontmatter":{"title":"面向程序员的提示工程指南","publish":true,"cover":"","showCover":null,"date":"2026-01-10","category":"AI","url":"https://addyo.substack.com/p/the-prompt-engineering-playbook-for","author":"Addy Osmani","translator":"","tags":["other"],"priority":1},"html":"<p>提示工程已成为开发者使用 AI 编程助手的必备技能，AI 输出质量高度依赖提示质量，文章系统分享了相关核心内容：包括角色设定、明确上下文搭建、输入输出示例、迭代链式提问、模拟调试、功能蓝图设计、代码重构指导、寻求替代方案、橡皮鸭式提问、约束锚定这 10 种核心提示技巧及对应模板；提供丰富上下文、明确目标或问题、拆分复杂任务、包含输入 / 输出示例、利用角色设定、迭代优化对话、保持代码清晰度与一致性这 7 大有效提示基础原则；调试（清晰描述问题与症状、逐行分析、提供最小可复现示例等）、重构与优化（明确目标、提供上下文、要求修改说明等）、新功能实现（高层规划再细化、参考现有代码风格等）三大特定场景的专属提示模式；以及模糊提示、负载过重提示、缺少明确问题、成功标准模糊、忽视 AI 澄清、风格不一致、引用模糊等常见反模式及对应规避方法，强调开发者需将 AI 视为协作伙伴，通过清晰、有上下文、有引导性的提示，结合迭代对话与角色设定，让 AI 在开发中发挥更大价值，同时提示工程需不断实践探索，结合社区经验与自身尝试优化技巧，最终提升开发效率并积累编程知识。</p>"}}]}}