呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#优质博文 #前端 #node #javascript #新动态
Node Weekly #574

AI 摘要:本期 Node Weekly 聚焦 JavaScript 生态的最新动态,涵盖 Fastify + React 的高性能组合、Prisma ORM、Bun 运行时等工具更新。同时推荐了 TypeScript 新书、云服务集成方案及 AI 开发工具等,为开发者提供全面的技术参考。

1. 更新动态
Fastify + React – 比 Next.js 快 7 倍? —— Fastify 框架的 Vite 插件 @fastify/react 发布 1.0 版本,支持快速构建高性能 React 应用,测试显示其速度可达 Next.js 的 7 倍。
• 比 Next.js 更轻但具有出色文档的 Waku 也值得一试。
• Lexe :将 Node 应用打包为单文件(<10MB),基于 Amazon LLRT 引擎,但仅支持部分 Node API。
• Prisma ORM 6.6.0 :引入了一个新的 prisma-client 生成器,该生成器更加灵活,并带有 ESM 支持,以及 MCP 服务器的预览版,可让 AI 代理和工具管理 Postgres。
• Chrono 2.8 :自然语言日期解析库,支持灵活的时间描述。
• 其他工具更新:OpenAI Node 库支持 GPT-4.1、Tesseract.js 6.0.1(OCR)、Javet(Node.js 嵌入 Java)。

2. 社区动态
• 新书发布 :Dr. Axel Rauschmayer 的 Exploring TypeScript: TS 5.8 Edition 可免费在线阅读
• ESLint 新增批量抑制规则功能,便于管理严格代码检查。
• npm 注册表短暂故障导致访问令牌丢失,已修复
• Bun 1.2.9 发布,持续提升 Node.js 兼容性。
• Cloudflare 开发者周:支持 Next.js 一键部署至 Workers,集成全栈应用部署。
• Google 推出 Firebase Studio:AI 开发环境类似 Cursor 或 v0。

3. 资源推荐
•  NPM 安全最佳实践 OWASP 备忘单系列
• 在 Bun 中调试 JavaScript 内存泄漏
Debugging JavaScript Memory Leaks
Tuple & Record 提案被废弃,取而代之的是 Composite 提案:
https://github.com/tc39/proposal-composites/

我们在此先不讨论 Composite 好用与否,但我们注意到该提案对 Array.prototype.indexOf 与 Array.prototype.lastIndexOf 的一个改动:
即,如果参数是 Composite,将采用 SameValueZero 语义而非 IsStrictEqual。(其它类型的值仍采用 IsStrictEqual 语义)这无疑会使得 indexOf 与 lastIndexOf 变复杂,同时导致一致性变差。 GitHub - tc39/proposal-composites
#碎碎念 #AI
我现在对 AI 的使用快分裂了23333

写 webGL + gsap 相关的需求相当多上下文要定制动画的场景:好废啊好笨啊,怎么老把原来代码搞坏了,根本用不上!这 ai 怎么这么笨!受不了了我自己来!

写没啥上下文的传统页面:还有救,还能写!快取代我!

以及 cursor 是真降智了吧(还好我嫖公司的)
#优质博文 #开源
我先前也读到过这篇文章,当时的感觉也是这样,感觉教科书级别的范例,有理有据,是很理性的人写出来的。

读《对「假开源」事件的反省》有感

AI 摘要:文章高度评价了 Owen 在其博客上发布的《对「假开源」事件的反省》。文章结构清晰,针对用户提出的问题逐一回应,并提供验证链接。Owen 坦诚承认沟通不足,并通过行动回应质疑,展现了开放、透明的态度。文章末尾分享了关于开源协议的知识,具有借鉴意义。总的来说,该文章是处理争议、与用户沟通的优秀范例,强调了开发者以开放态度面对社区的重要性。


author So!azy
《关于我起床之后一只拖鞋找不到了这件事》
查监控破案了,可乐,坏!
#优质博文 #前端 #AI
The Post-Developer Era

AI 摘要:作者反思两年前发表的"前端开发终结"一文,并重新评估 AI 对软件开发行业的实际影响。尽管 AI 工具在编程中的应用越来越广泛,但它们更多是作为开发者的辅助工具而非替代品。文章分析了 AI 工具的局限性、当前就业市场状况,并对开发者行业的未来给出了谨慎乐观的预测,鼓励有志成为开发者的人不要因 AI 炒作而气馁。

1. 回顾与现状
• 2023 年 3 月作者发表了 "The End of Front-End Development" 一文,当时许多人预测 AI 将很快取代人类开发者
• 两年后的今天,作者重新评估这一预测是否准确,我们是否已进入"后开发者时代"

2. 公司与 AI 的使用情况
• Forbes 报道谷歌 25% 的代码由 AI 编写,但这并不意味着 AI 独立完成了 25% 的工作
• AI 仍需人类开发者引导、编辑和整合输出结果
• 尚未有大型科技公司完全用 AI 替代开发团队
• 声称能完全替代人类开发者的初创公司产品(如 Devin)在实际使用中遇到很多问题

3. 作者的 AI 工具使用体验
• 使用 Cursor 这类 AI 驱动的 IDE 确实能显著提高效率
• 但 AI 需要持续引导,类似于高速公路上的"巡航控制",仍需人类"掌握方向盘"
• 如果不懂编码,无法识别 AI 输出中的细微但关键的问题
• 某些任务 AI 表现出色,但对很多任务而言,人工编码仍然更快更有效
• 理想的工作方式是人机配合,针对不同任务选择最佳解决方案

4. 当前的就业市场状况
• 就业市场仍然艰难,但并非因为公司用 AI 取代了开发者
• 困难的原因包括:宏观经济因素、大规模裁员导致市场上有大量高素质开发者、对 AI 能力的过度期待

5. 未来展望
• 公司仍然需要人类开发者构建产品
• AI 支持者仍在宣称 AI 即将取代人类开发者,但实际证据不支持这一观点
• AI 模型确实在不断进步,但更多是渐进式改进而非革命性突破
• 开发者可能面临的真正风险是过度依赖 AI 而不理解底层代码,从而失去必要的技能
• AI 实际上可以成为学习编程的强大辅助工具

6. 结论与建议
• 作者预测在不久的将来可能会出现"开发者复兴"
• 熟练的开发者配合强大的 LLM 可以创造惊人成果
• 鼓励有志从事软件开发的人不要因 AI 炒作而气馁
• 公司仍在招聘,这种情况在可预见的未来不会停止


author Josh W. Comeau The Post-Developer Era • Josh W. Comeau
GitHub目前已恢复中国大陆访问

Itdog

📮投稿 ☘️频道 🌸聊天
#优质博文 #react #前端 #next #auth
Authorization in Next.js
If you take one thing away from this tutorial, it should be that authorization should be as close as possible to your sensitive data. This means that you should have authorization checks in your API, Service, and Data Access Layers. This is the most important part of your application and should be implemented in a way that is secure and maintainable.


AI 摘要:本文深入探讨了在 Next.js 应用中实现授权的多层次策略,重点围绕 React Server Components 和 Server Actions 展开。作者强调授权应尽可能靠近数据源(如 API 层、服务层和数据访问层),并详细分析了路由、UI 和中间件中的授权实现方案及其权衡,同时指出中间件授权的性能隐患和局限性。

1. 数据访问授权
• 核心原则:授权应在 API 层作为读写操作的第一道防线,通过自定义查询函数和服务端动作(Server Actions)实现。
• 代码示例:
• getPosts 和 createPost 函数中通过 getAuth 校验用户会话,未授权时抛出错误或重定向。
• 使用 cache 优化会话验证性能,避免重复数据库查询。
• 分层架构:
• 服务层:处理业务逻辑和精细权限(如角色/所有者校验)。
• 数据访问层:作为最后防线,但建议权限逻辑集中在服务层。

2. 路由授权
• 页面组件检查:在 Server Component 的入口(如 PostsPage )调用 getAuthOrRedirect 实现基础防护
• 布局组件优化:
• 通过 AuthLayout 集中管理路由组(如 (authenticated))的授权,提升开发效率但存在安全风险(恶意用户可能绕过布局直接访问页面)
• 权衡策略:建议结合后端授权(策略1)或在页面组件重复校验(策略2)
• 多角色扩展:如 AdminLayout 实现管理员路由隔离

3. UI 授权
• 根据 useAuth 动态隐藏/禁用 UI 元素(如删除按钮),但强调这仅是辅助手段,核心安全仍需依赖后端校验

4. 中间件授权
• 性能问题:避免中间件中直接查询数据库,仅做轻量级检查(如会话 Cookie 存在性)
• 边缘运行时限制:不支持部分 Node.js 功能(如 Prisma ORM 需适配)
• 建议将关键授权逻辑保留在 API/服务层


author Robin Wieruch Authorization in Next.js
#碎碎念 ds 太便宜了泪目,我用 AI 摘要猛猛这俩月也就用了这么点儿,看来可以更猛猛造了
#优质博文 #前端 #性能优化 #react #工程化
How I Reduced My React Bundle Size by 30% (With Real Examples)

AI 摘要:本文通过实际案例演示了 7 种减少 React 应用打包体积的方法,最终实现 30% 的优化效果。核心策略包括消除副作用代码、清理未使用的依赖、避免 Barrel 文件、优化导出方式、替换重型库、动态加载非关键资源等,并提供了详细的代码对比和工具推荐。

1. 前言
• 问题背景:随着应用迭代,打包体积膨胀导致构建变慢、用户体验下降。
• 优化前 vs 优化后:从 283.39 kB 降至 198.33 kB,减少 30%。
2. 具体优化步骤
• Step 1: 消除文件副作用
• 移除 window 全局副作用代码,避免强制打包未使用的文件。
• Step 2: 清理未使用的文件和依赖
• 使用 npx knip 检测并删除冗余代码(如未使用的 lodash-es )。
• Step 3: 避免 Barrel 文件
• 直接导入组件而非通过 index.js 聚合,减少不必要的文件处理。
• Step 4: 直接导出函数而非对象/类
• 仅导出被调用的函数(如 getTimeInFormat ),避免打包未使用的方法。
• Step 5: 替换重型库
• 用轻量级 dayjs 替代 moment.js ,显著减小体积。
• Step 6: 动态加载非关键包
• 按需加载 fuse.js(搜索功能库),拆分初始包。
• Step 7: 动态加载非关键组件
• 使用 React.lazy 延迟加载非首屏组件(如 Dashboard)。
3. 额外建议
• 在 package.json 标记 "sideEffects": false 增强 Tree-Shaking。
• 使用 Bundlewatch 监控打包体积。


author Ndeye Fatou Diop ✨ How I Reduced My React Bundle Size by 30% (With Real Examples)
#优质博文 #前端 #tailwind #css
tailwind 总给我一种前端界的原神的感觉(暴论x
认真的说,这篇写挺好的,有一些 tailwind 实用小技巧。
Tailwind’s @apply Feature is Better Than it Sounds

AI 摘要:本文为 Tailwind CSS 的 @apply 功能辩护,认为其价值被严重低估。作者通过对比 Sass 的 @include 机制,展示了 @apply 在代码复用、响应式设计和可维护性上的优势,并提供了实用案例(如布局工具类)证明其灵活性,同时指出其虽不如 Sass 混入强大,但结合现代 CSS

1. 作者对 Tailwind 的矛盾态度
• 肯定 Tailwind 方法论在样式可维护性和性能上的优势,但批评原生 Tailwind 的某些设计。
• 强调 @apply 是被低估的核心功能,尽管 Tailwind 创始人 Adam Wathan 曾建议避免使用。

2. @apply 的功能解析
• 允许将 Tailwind 工具类复制到自定义 CSS 中,类似 Sass 的 @include
• 示例对比单属性工具类(如 p-4)与复杂工具类的应用场景。

3. 与 Sass 混入的对比
• 优势 :
• 直接用于 HTML 无需额外选择器(如 <div class="utility">)。
• 支持响应式变体(如 md:utility)。
• 劣势 :
• 不支持多变量或逻辑控制(如 Sass 的 @if/@for)。

4. 实用案例展示
• 布局工具类 :定义 vertical 和 horizontal 工具类,通过 flex-direction 快速切换布局,并支持响应式(如 sm:horizontal)。
• 网格系统 :grid-simple 工具类结合 CSS 变量(--cols)动态调整列数,减少重复代码。

5. 灵活使用建议
• 混合 @apply 与原生 CSS 编写复杂布局(如媒体查询内应用工具类)。
• 提倡将 Tailwind 视为工具而非教条,平衡实用性与可读性。


author Zell Liew Tailwind's @apply Feature is Better Than it Sounds | CSS-Tricks
#新动态 #前端 #优质博文 #react
JavaScript Weekly #731 — April 11, 2025

AI 摘要:本期 JavaScript Weekly 聚焦 2025 年前端生态的最新动态,涵盖 Next.js 15.3 的 Turbopack 构建优化、Node.js 测试最佳实践,以及 Tauri 与 Electron 的桌面应用开发对比。同时介绍了 JavaScript 新特性,以及多个开源工具更新。

1. 博文与教程
2025 年开发者应掌握的现代特性:迭代器助手、structuredClone() 深拷贝、集合操作等(Suren Enfiajyan 撰文)。
Node.js 测试最佳实践:一群精通 Node 的开发者撰写的关于现代 Node 测试的详细指南。
Tauri vs. Electron: performance, bundle size, and the real trade-offs:对比 Rust 框架 Tauri 的性能优势与适用场景(Costa Alexoglou 分析)。
React Reconciliation:组件背后的隐藏引擎:React 使用协调算法根据虚拟 DOM 的更改来更新 DOM。了解它的工作原理对于开发更快的应用程序至关重要。

2. 工具与库更新
Next.js 15.3:现在包括 Turbopack 构建
• Cloudflare 更新:支持 Next.js 一键部署至 WorkersCloudflare Vite 插件 v1 发布,现在可以在单 Worker 中部署全栈应用(支持 React Router、Astro、Vue.js、Svelte),可以在 Git 仓库中添加 “部署到 Workers”按钮
• pnpm 10.8、Prisma 6.6、React Native 0.79、Bun 1.2.9......

3. 社区动态
• npm 令牌问题:npm 注册表疑似清除所有访问令牌,建议用户临时创建新令牌。
• Git 20 周年: GitHub 的 Taylor Blau 采访了 Linus Torvalds, 讨论了这一里程碑和该项目的背景。
p5.j​​s 2.0 似乎即将发布——它的第八个 Beta 版本刚刚发布。beta 2 的发行说明详细介绍了即将推出的功能。
• Mozilla 的 Simon Pieters 告诉我们, H1 元素的默认样式正在发生变化 ,并且浏览器也开始对嵌套部分标题的默认样式进行更改。
Some features that every JavaScript developer should know in 2025
Back to Top