#优质博文 #安全 #npm #开源
Lessons from npm's Security Failures
author Nawaz Dhandala
Lessons from npm's Security Failures
AI 摘要:本文通过 npm 中 chalk、debug、duckdb 等热门包遭遇钓鱼攻击事件,指出现有包管理器的安全模型存在设计性缺陷,暴露了软件供应链体系的脆弱性。作者主张借鉴 Linux 发行版与金融行业经验,对包管理器进行系统性升级,包括强制性签名、多维护者审查、抗钓鱼认证、自动化恶意检测、透明构建流程与依赖权限隔离。核心观点是:包管理器已成为现代软件的关键基础设施,必须以更高安全标准来治理。
author Nawaz Dhandala
OneUptime | One Complete Observability platform.
Lessons from npm's Security Failures
Recent npm security incidents reveal fundamental flaws in package manager design. Here's how every package manager should implement security measures to prevent supply chain attacks and protect developers.
#优质博文 #UI #UX #交互设计 #动画 #设计 #前端
You Don't Need Animations
[以下是方便搜索索引的大纲(AI 生成),请读原文]
author Emil Kowalski
You Don't Need Animations
AI 摘要:文章探讨了 UI 动画在交互设计中的价值与风险,提出动画必须有明确目的,且要考虑交互频率与速度感知。作者强调:合适的动画能提升可预测性与愉悦感,不合理的动画则会破坏效率与信任。有时,最佳的“动画”就是没有动画。
[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 动画的双刃性
• 正确使用动画可让界面更自然、流畅、愉快
• 滥用动画则会使界面显得缓慢、不确定,甚至损害用户信任
2. Purposeful Animations(有目的的动画)
• 动画需服务于具体功能或信息传达,而非纯粹装饰
• 案例:Linear 用动画展示功能逻辑;按钮点击缩放增强响应感
• 动画可营造 delight(愉悦),但仅适合低频使用,避免变成负担
3. Frequency of Use(使用频率)
• 高频操作(如 Raycast 命令输入、键盘快捷键)不应使用动画,否则会拖慢效率
• 低频操作可适度加入动画,提高体验的独特性和愉悦感
• hover 或菜单切换等高频交互场景更适合零动画或极快动画
4. Perception of Speed(速度感知)
• 动画速度需足够快,保持用户与界面的即时连接
• 一般 UI 动画时长应低于 300ms
• 案例:下拉菜单在 180ms 内更灵敏,tooltip(提示框)应有初始延迟但切换时不应再延迟
5. 设计原则与结论
• 动画不是必然元素,而是用户体验的加速器或负担
• 最佳实践:以用户需求为导向,基于目的、使用频率和性能感知来判断是否加入动画
• 有时,没有动画,才是最好的设计
author Emil Kowalski
Emil Kowalski
Why you are animating more often than you should.
#优质博文 #全栈 #course #Express #TypeScript #Node
How To Set Up Express 5 For Production In 2025
[以下是方便搜索索引的大纲 (AI 生成),请读原文]
author Jan Hesters
How To Set Up Express 5 For Production In 2025
AI 摘要:本文从零开始搭建一个生产级别的 Express 5 应用,使用 TypeScript、ESLint + Prettier、Vitest + Supertest 进行规范和测试,展示了如何结构化 Express 项目(分层、按功能归档),如何实现 REST API 的路由、健康检查、日志、CRUD、JWT + cookie 的认证体系,并结合 Prisma + PostgreSQL 构建持久化层。文章采用 TDD(Test-Driven Development)的方法,通过分模块讲解与示例代码,让读者最终完成一个可扩展、可维护的现代 Express 应用。
[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 项目初始化与基础配置
• 使用 npm 初始化 Express + TypeScript 项目
• 配置 tsconfig.json 以启用严格模式和 ES Module
• 运行脚本 (build、start、dev) 设置
2. 代码规范与开发工具
• ESLint、Prettier 用于一致性和规范化
• 配置 lint 规则,包括 unicorn、simple-import-sort
• 添加格式化和修复脚本
3. 测试驱动开发 (TDD)
• 使用 Vitest + Supertest 写单元测试和集成测试
• 初始化 Vitest 配置(Node 环境)
• 实现第一个健康检查 (health-check) 测试 → 控制器 → 路由
4. 架构拆分与中间件
• 将 app.ts 与 server.ts 分离
• 使用 morgan 日志中间件
• 功能分组 (features) + MVC 模式 (无 view 层)
• 编写自定义 asyncHandler 简化 error 处理
5. 数据库与数据层 (Prisma + PostgreSQL)
• 初始化 Prisma schema
• 使用 UserProfile 模型
• 实现数据库连接与 PrismaClient 管理
• Facade 模式封装数据库 CRUD
6. 测试数据与校验
• 使用 Factory Functions 快速生成模拟数据
• 使用 Zod 校验 body / query / params
• 对比 express-validator 的类型推断问题
7. 认证与授权 (Authentication & Authorization)
• 集成 cookie-parser 用于读取 cookies
• 使用 JWT + bcrypt 实现登录 / 注册 / 登出
• setJwtCookie、clearJwtCookie、getJwtTokenFromCookie helpers
• Middleware requireAuthentication 实现受保护路由
8. 用户功能与 REST API CRUD
• /user-profiles 列表(带分页)测试与实现
• 单条获取 (GET by ID)、更新 (PATCH)、删除 (DELETE) 的 TDD 流程
• 考虑异常处理:404、400、409
• 自定义 getErrorMessage 工具统一报错输出
9. 项目结构与总结
• 最终应用结构清晰:src/features/*
• Express + TypeScript 项目的完整生产级最佳实践
• 扩展性强,可直接应用于实际开发
author Jan Hesters
www.reactsquad.io
How To Set Up Express 5 For Production In 2025
Learn how to build an Express 5 app with TypeScript. You'll set up a production-ready project with tools for linting, testing and more.
#碎碎念
因为各种原因备了份之后,升级了 macOS 26……
这玩意每次唤出来都肉眼可见的卡一下好难受,还有这个 chrome 图标风格怎么看怎么不顺眼,唉。
然后扬声器开始偶尔会爆杂音了……好像说是老毛病了,问了下同事竟然有个同事一直都这样,找好几次售后都没好,解决办法是带耳机了……
https://www.mobile01.com/topicdetail.php?f=481&t=6585977
最后我在我的电脑上是 sudo killall coreaudiod 解决了,那应该是软件问题,但过一阵子又会偶发,目前除了这个大问题倒还没有别的槽点(设计上的槽点就不提了)
因为各种原因备了份之后,升级了 macOS 26……
这玩意每次唤出来都肉眼可见的卡一下好难受,还有这个 chrome 图标风格怎么看怎么不顺眼,唉。
然后扬声器开始偶尔会爆杂音了……好像说是老毛病了,问了下同事竟然有个同事一直都这样,找好几次售后都没好,解决办法是带耳机了……
https://www.mobile01.com/topicdetail.php?f=481&t=6585977
最后我在我的电脑上是 sudo killall coreaudiod 解决了,那应该是软件问题,但过一阵子又会偶发,目前除了这个大问题倒还没有别的槽点(设计上的槽点就不提了)
#优质博文 #npm #供应链攻击 #安全
太离谱了……
实时更新:Shai-Hulud——史上最危险的NPM漏洞,影响CrowdStrike及数百个流行软件包
[以下是方便搜索索引的大纲(AI 生成),请读原文]
author Idan Dardikman,Yuval Ronen
太离谱了……
实时更新:Shai-Hulud——史上最危险的NPM漏洞,影响CrowdStrike及数百个流行软件包
AI 摘要:文章报道了 2025 年 9 月爆发的 Shai-Hulud 恶意软件攻击,被认为是史上最大规模、最危险的 NPM 供应链攻击,已波及 CrowdStrike 及数百个流行 JavaScript 包。攻击者通过在维护者的包中注入恶意脚本(bundle.js)进行秘密凭据窃取和持久化后门植入,利用自动化工作流在 CI/CD 环境中持续外泄密钥。文中详细给出已确认被攻击的包清单、潜在影响范围及防护建议,包括立即停更、扫描环境、凭据轮换与审计 GitHub 工作流。
[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 攻击背景与规模
• Shai-Hulud 是迄今为止最严重的 NPM 供应链攻击
• 影响范围涵盖高人气的 @ctrl/tinycolor、CrowdStrike 官方包及数百个开源组件
• 恶意代码可自动触发,扩大横向传播
2. 攻击技术与机制
• 注入 bundle.js 脚本,在安装包时执行
• 使用 TruffleHog 扫描本地文件和代码库中的密钥(npm、GitHub、AWS、GCP、Azure 等)
• 创建隐藏的 GitHub Actions 工作流文件(shai-hulud-workflow.yml),用于在 CI/CD 阶段外泄凭据
• 双重目标:密钥窃取 + 持久后门部署
3. 影响与风险评估
• 大量开发者环境(本地 + 云端)已可能泄露敏感凭据
• 攻击持续性强,即便删除恶意包后,持久化机制仍可能存活
• 企业级安全厂商 CrowdStrike 受影响,进一步放大危机
4. 应对建议与缓解措施
• 立即扫描所有终端与构建环境,确认是否安装受影响包
• 暂时冻结 npm 包的更新,避免进一步扩散
• 轮换全部相关凭据(GitHub、npm、AWS、GCP、Azure 等)
• 审计 GitHub 工作流,排查 shai-hulud-workflow.yml 等异常文件
• 对流程与自动化管道进行全面安全加固
author Idan Dardikman,Yuval Ronen
www.koi.security
Live Updates: Shai-Hulud, The Most Dangerous NPM Breach In History Affecting CrowdStrike and Hundreds of Popular Packages
#优质博文 #CSS #前端 #新特性
What Can We Actually Do With corner-shape?
author Daniel Schwarz
What Can We Actually Do With corner-shape?
AI 摘要:本文介绍了 CSS 最新属性 corner-shape 的多种应用方式,它可以与 border-radius 配合,突破传统圆角与直角的限制,实现斜切、箭头、提示框、手绘风格、squircle(方圆形)等复杂的 UI 效果。目前仅 Chrome 139+ 支持,文章通过丰富实例展示其潜在的设计与交互价值。
author Daniel Schwarz
CSS-Tricks
What Can We Actually Do With corner-shape? | CSS-Tricks
When I first started messing around with code, rounded corners required five background images or an image sprite likely created in Photoshop, so when
👍1
#优质博文 #CSS #前端 #新特性
被低估的 linear() 函数 linear() 函数如何使用?了解下 linear() 函数的原理
author zhangxinxu
被低估的 linear() 函数 linear() 函数如何使用?了解下 linear() 函数的原理
AI 摘要:本文深入探讨了 CSS 新增的 linear() 函数,它突破 cubic-bezier() 的局限,能通过多个参数点实现复杂的分段线性动画,具有极高的可控性。作者还介绍了工具生成 linear() 代码的方法、与其他缓动函数的对比,以及实际应用场景,总结 linear() 在动画设计中的价值和独特作用。
author zhangxinxu
Zhangxinxu
使用CSS linear()函数实现更逼真的物理动画效果 « 张鑫旭-鑫空间-鑫生活
CSS新支持的linear()函数可以让我们实现任意速率动画,所以,无论是更加逼真的物理动画,还是特殊的阶梯式动画都不在话下,让CSS动画的能力进一步增强。
#优质博文 #AI #MCP #新动态 #开源
GitHub 推出官方 MCP Registry,统一入口快速发现和使用 MCP servers。
Meet the GitHub MCP Registry: The fastest way to discover MCP Servers
GitHub 推出官方 MCP Registry,统一入口快速发现和使用 MCP servers。
Meet the GitHub MCP Registry: The fastest way to discover MCP Servers
AI 摘要:本文介绍 GitHub 推出的 MCP Registry,旨在解决以往 MCP servers 分散、难以发现和管理的问题。通过集中托管与社区协作,开发者可以在一个统一平台上更快找到所需工具,与 GitHub Copilot、VS Code 等生态无缝集成。文章强调该平台对开放互操作标准的贡献,以及合作伙伴(如 Figma、Postman、HashiCorp、Dynatrace 等)所带来的典型应用场景,展示 MCP Registry 在推动 agentic workflows 与 AI 生态健康发展的重要性。
GitHub
MCP Registry
A faster, safer way to build with AI: the GitHub MCP Registry centralizes MCP servers for effortless discovery, integration, and open collaboration.
❤5
#优质博文 #css #webkit #ios #前端 #CSS
Apple has a private CSS property to add Liquid Glass effects to web content
author Alastair Coote
Apple has a private CSS property to add Liquid Glass effects to web content
AI 摘要:作者在研究 WebKit 更新日志时发现 Apple 正在引入一个私有 CSS 属性 -apple-visual-effect,它可以让 Web 内容利用 Liquid Glass 效果。虽然该功能目前既不能在 Safari 上使用,也无法通过常规 WKWebView 使用,除非启用私有设置 useSystemAppearance,因此开发者不能直接用于 App Store 应用。但这一变化揭示:Apple 自己已经在内部使用该功能,说明 webview 在系统应用中的整合比用户意识到的更深入,印证了所谓 “The Toupée Theory of In-App Webviews” —— 好的 webview 被无感知地使用,坏的才被用户注意。
author Alastair Coote
Alastair Writes Code
Apple has a private CSS property to add Liquid Glass effects to web content
I have an incredibly boring summer hobby: looking at the changelog for the WebKit Github repo. Why? Because I spend a chunk of my professional life working with webviews inside mobile apps and I like to get an early peek into what's coming in the next version…
#优质博文 #前端 #跨端
Lynx 3.4 正式发布
author Lynx 团队
Lynx 3.4 正式发布
AI 摘要:Lynx 3.4 按计划完成双月更新,带来 HarmonyOS 与 Windows 环境支持,推出 Trace 与 Recorder 开发者工具,新增 <input> 与 <textarea> 核心组件,同时改进 <list> 回收策略、动画控制与可变字体支持。这些升级旨在提升开发灵活性、渲染性能及多端兼容性,为开发者带来更完善的跨平台体验。
author Lynx 团队
#Newsletter #react #javascript #css #前端
React Status Issue 444: September 17, 2025
React Status Issue 444: September 17, 2025
AI 摘要:本期 React Status 报导了一个与 useEffect 使用不当导致 Cloudflare 仪表盘宕机的案例,提醒开发者谨慎处理副作用;同时探讨了控制 package.json 依赖膨胀的技巧;介绍了 AI 辅助的终端代码审查工具 CodeRabbit CLI;并整理了近期前端生态的更新,包括 React Canary 新特性、pnpm 安全机制、Expo 54 改进、TanStack 工具集更新,以及 JavaScript 社区内围绕 npm 供应链攻击、Safari 26.0 发布和 Bun 1.2.22 发布等动态。
#优质博文 #科研工具 #AI #文献管理 #学术搜索
WisPaper:搜、问、读,陪你一起搞科研的专业Agent
AI 摘要:WisPaper是复旦大学研发的一款免费AI学术工具,旨在帮助科研人员解决文献检索和阅读难题。它提供AI智能搜索功能,能精准查找海外权威期刊,并支持本地文件库的智能搜索。此外,WisPaper还能进行文献深度对话、精准翻译以及一键提炼文献核心论点、研究方法和关键结论,显著提高科研效率。
author 小众软件
WisPaper:搜、问、读,陪你一起搞科研的专业Agent
AI 摘要:WisPaper是复旦大学研发的一款免费AI学术工具,旨在帮助科研人员解决文献检索和阅读难题。它提供AI智能搜索功能,能精准查找海外权威期刊,并支持本地文件库的智能搜索。此外,WisPaper还能进行文献深度对话、精准翻译以及一键提炼文献核心论点、研究方法和关键结论,显著提高科研效率。
author 小众软件
WisPaper
WisPaper | Scholar Search, Literature Review, AI Research Feeds
WisPaper provides scholar search, literature review assistance, and AI-powered paper feeds. Screen 1,000 papers in seconds, find 20 must-read studies, and stay updated with research tailored to your interests.