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

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #前端 #JavaScript #V8 #benchmark #性能优化
JavaScript's for-of loops are actually fast (V8):探讨现代 V8 引擎中 for-of 循环的性能表现,打破了开发者社区中关于其性能显著弱于传统循环的固有印象。作者建议现在除非是处理极端海量数据且对每一毫秒都敏感的场景,否则应优先使用语义更佳的 for-of 循环。

AI 摘要:这篇文章通过一系列严谨的基准测试(Benchmark),对比了 JavaScript 中六种不同的数组遍历方式。测试结果显示,在现代 V8 引擎(如 Chrome 143)中,曾经被认为因为迭代协议(Iteration Protocol)开销而较慢的 for-of 循环,现在的性能已几乎与缓存了长度的经典 for 循环持平。文章强调,虽然在大规模数组的首次执行中 for-of 可能存在优化延迟,但经过引擎预热(Warmup)后,其表现非常出色。作者建议在非极端性能敏感的场景下,应优先考虑 for-of 的开发易用性。


author Suren Enfiajyan JavaScript's for-of loops are actually fast (V8)
#优质博文 #Markdown #技术文化 #AI #软件工程
How Markdown took over the world:回顾 Markdown 的诞生历程及其如何从一个小众博客工具演变为统治现代互联网和 AI 交互的通用文本标准。

AI 摘要:这篇文章由资深科技人 Anil Dash 撰写,深入探讨了 Markdown 这一简单纯文本格式如何从 2004 年的一个个人项目,演变成如今统治全球科技行业的标准。它由 John Gruber 创立,并由天才少年 Aaron Swartz 协助测试。Markdown 的成功不仅在于其技术上的简洁(易读、易写、基于现有邮件习惯),更在于其开源和去中心化的精神。文章指出,即使是当今最尖端的 AI 系统(如 ChatGPT 和 Claude),其核心交互和指令也高度依赖 Markdown。这种由个人创造并免费赠予世界的工具,证明了互联网的进步往往源于普通人的慷慨与对细节的执着,而非仅由科技巨头推动。


author Anil Dash
#优质博文 #CSS #CodePen #前端 #demo
Playing With CodePen slideVars | CSS-Tricks:介绍 CodePen 官方推出的 slideVars 工具,它可以自动检测 CSS 变量并生成交互式控制面板,现在在 codepen 里写交互式 Demo 更方便了。

GitHub: https://github.com/codepen/slideVars
AI 摘要:这篇文章介绍了 CodePen 新推出的原生工具 slideVars,帮助开发者快速为演示项目添加交互式调节面板。相比以往需要引入第三方库(如 TweakPane 或 Knobs)或编写复杂的 JavaScript,slideVars 能够自动识别 CSS 变量并生成 UI 控件。作者详细展示了从快速起步到手动配置参数、自定义单位、处理作用域(Scope)以及调整面板布局的高级用法,是提升前端 Demo 交互体验的利器。
#优质博文 #React #LLM #前端 #AI #逆向工程
How to Steal Any React Component

网页做的还挺有趣的,介绍如何使用 React 的内部数据结构(通过 Fiber)和 LLM 来重建生产 React 应用程序中的组件,而无需原始源代码。

[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 核心原理:理解浏览器中的两棵树
• DOM 树:浏览器渲染的 HTML 结构,可以通过开发者工具查看。
• React Fiber 树:React 维护的内部结构,记录了组件层次、属性 (Props) 和状态 (State)。
• 切入点:从 React 16 开始,React 将 Fiber 节点挂载在 DOM 元素上,通过遍历 DOM 即可获取组件的内部信息。

2. 数据采集:建立属性与输出的映射
• 组件归类:利用 Fiber 节点的 type 属性(内存引用)识别相同类型的组件。
• 样本收集:记录同一个组件在不同 Props 下产生的不同 HTML 输出,为 LLM 提供训练样本。
• 获取源码线索:通过 type.toString() 提取混淆后的源代码,辅助 LLM 理解业务逻辑。

3. 组件重建:LLM 与自动化验证
• LLM 提示词:向模型提供 Props 示例、HTML 输出和压缩后的源码,要求其写出干净的 React 代码。
• 验证循环 (Verification Loop):自动渲染 LLM 生成的组件,对比其 HTML 输出与原站点的差异,并根据 Diff 反馈给 LLM 进行修复。

4. 组装策略:拓扑排序与局限性
• 拓扑排序 (Topological Sort):根据依赖关系,先还原最底层的叶子组件(如 Button、Avatar),再逐步向上还原复杂的父组件(如 LoginForm)。
• 处理失效情况:针对 JS 动画导致的 DOM 状态不匹配或复杂的内部交互状态,如果 LLM 无法还原,则退而求其次使用 HTML 快照 (Snapshot)。
• 最终集成:将还原的组件与 CSS、静态资源 (Assets) 整合,构建出功能完整的 React 项目
How to Steal Any React Component
#优质博文 #开源 #前端 #TypeScript #course
📘 《The Concise TypeScript Book》 是一本简短精炼的 TypeScript 指南,免费开源。
《简明 TypeScript 入门指南》全面而简洁地概述了 TypeScript 的功能。它清晰地解释了最新版本语言的各个方面,从强大的类型系统到高级特性,无所不包。无论您是初学者还是经验丰富的开发者,本书都是提升您 TypeScript 理解和技能的宝贵资源。
GitHub - gibbok/typescript-book: The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and…
#优质博文 #JavaScript #前端 #新动态
jQuery 4.0.0:时隔近十年,jQuery 发布了 4.0.0 正式版,带来了大量现代化改进,包括移除对旧版浏览器(IE 10 及更早版本)的支持、引入新特性以及优化内部实现

AI 摘要:本文宣布了 jQuery 4.0.0 正式版的发布。恰逢 jQuery 诞生 20 周年,该版本移除了对 IE 10 及以下旧版浏览器的支持,将源码从 AMD 迁移至 ES Modules (ES 模块),引入了 Trusted Types (可信类型) 以增强安全性,并清理了大量过时的 API 和内部方法。虽然包含一些重大变更,但团队提供了迁移指南和插件,旨在让大多数用户能平滑升级。

[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 社区动态与版本概览
• 庆祝 jQuery 诞生 20 周年(2006-2026)。
• 这是近 10 年来的首个主要版本,包含重大变更但尽量保持升级平滑。
• 提供 升级指南jQuery Migrate 插件 协助过渡。

2. 浏览器支持变更
• 移除 IE 10 及更早版本的支持,计划在 jQuery 5.0 移除 IE 11。
• 移除 Edge Legacy (旧版 Edge)、旧版 iOS (11 以下)、Firefox (65 以下) 及 Android 浏览器支持。

3. 架构现代化与安全性
• 源码迁移:从 AMD 迁移至 ES Modules (ES 模块),改用 Rollup 打包,兼容现代构建工具。
• 安全增强:支持 Trusted Types (可信类型),确保符合 require-trusted-types-for 等 CSP (内容安全策略) 指令。
• 异步加载:大多数异步脚本请求改用 <script> 标签以避免 CSP 错误。

4. API 变更与瘦身
• 移除过时 API:删除了 jQuery.isArray, jQuery.trim, jQuery.now 等已有原生替代方案(如 Array.isArray, String.prototype.trim)的方法。
• 原型链清理:从 jQuery 原型中移除了本用于内部的数组方法(如 push, sort, splice)。
• 移除魔法行为:删除了部分未公开的内部参数和过于复杂的“神奇”行为,Gzip 压缩后的体积减小了约 3 KB。

5. 事件与规范对齐
• 事件顺序对齐:Focus (聚焦) 事件顺序现在遵循 W3C 规范(顺序为:blur, focusout, focus, focusin),不再覆盖原生行为。
• Slim Build (精简版) 优化:进一步移除了 Deferreds (延迟对象) 和 Callbacks,体积缩减至约 19.5 KB (Gzipped)。

6. Ajax 与功能增强
• 支持二进制数据:允许通过 Ajax 传输 FormData 等二进制数据。
• 脚本执行逻辑:除非明确提供 dataType,否则不再自动执行脚本;不执行失败的 HTTP 响应脚本。
#碎碎念 #折腾
给 koharu 主题新加了自定义其他系列文章的功能,现在可以简单新增以下如图所示的系列文章了,还是以分类功能为基础。然后评论区现在支持切换三种评论组件了(waline / remark42 / giscus)
开心!Waline 做评论真是又好看又好用啊
https://github.com/cosZone/astro-koharu/releases/tag/v2.2.0
#优质博文 #CSS #前端 #course
纯 CSS 实现两个元素之间折线自动相连

AI 摘要:张鑫旭的这篇博文展示了如何纯粹利用 CSS 锚点定位 (CSS Anchor Positioning API) 来实现两个元素之间自动相连的折线效果。文章从回顾锚点定位的设想开始,通过具体的代码示例详细阐述了定义锚点、计算线条位置、以及利用渐变和遮罩绘制连接线的实现原理。作者也坦诚指出了当前方案在特定对齐情况下的局限性,并简要提及了更复杂的解决思路,但认为其实现成本可能已超出 JavaScript (JS) 方案。


author 张鑫旭
cosine - 前端人の日常频道
#新动态 #Astro #Cloudflare #前端 #开源 好啊,Astro 被 Cloudflare 收购了。 The Astro Technology Company joins Cloudflare | Astro AI 摘要:Astro 框架背后的公司 The Astro Technology Company 宣布加入 Cloudflare,此举旨在确保 Astro 能够获得充足资源并重新聚焦于核心框架的开发。Astro 将继续保持开源、MIT 许可,并支持所有部署目标,包括 Cloudflare…
#优质博文 #前端 #新特性 #CSS #锚点定位 #course
Connecting Circles With Anchor Positioning II

AI 摘要:本文是作者关于使用 CSS 锚点定位技术连接圆圈系列的第二部分,主要关注在连接两个圆圈的箭头内部计算并显示它们之间的距离。文章展示了改进后的 HTML 结构和 CSS 变量定义,并通过交互式 CodePen 示例演示了拖动圆圈时距离实时更新的效果,但目前该功能仅支持 Chrome 浏览器。

以下是方便搜索索引的大纲(AI 生成),请读原文:
1. 引言与目的
• 前言回顾:基于前一篇关于连接圆圈的实现。
• 核心改进:在箭头形状内增加计算并显示两个圆圈之间距离的功能。
2. 技术实现细节
• HTML 结构:展示了使用 div 元素分别表示圆圈 (circle) 和连接箭头 (arrow) 的基本结构,其中 arrow 元素通过 x, y 等属性引用圆圈。
• CSS 变量:定义了用于控制箭头尺寸(--r, --a, --d)、圆圈与箭头间距(--g)以及颜色(--c)的关键 CSS 变量。
3. 交互式演示与局限性
• 实时更新:通过 CodePen 演示,用户可以拖动圆圈,观察距离值如何在箭头内部实时更新。
• 多圆圈示例:提供了一个包含多个圆圈的 CodePen 演示,展示了该技术在更复杂场景下的应用潜力。
• 浏览器兼容性:目前该功能仅在 Chrome 浏览器中支持。
4. 相关资源与拓展阅读
• 前作链接:提供了《Connecting Circles With Anchor Positioning》的链接,方便读者了解原始实现。
• 其他 CSS 技巧:列举了作者的其他 CSS 技巧文章,如《Fizz Buzz using Modern CSS (no HTML)》。


author Temani Afif Connecting Circles With Anchor Positioning II
#新动态 #Astro #Cloudflare #前端 #开源
好啊,Astro 被 Cloudflare 收购了。
The Astro Technology Company joins Cloudflare | Astro

AI 摘要:Astro 框架背后的公司 The Astro Technology Company 宣布加入 Cloudflare,此举旨在确保 Astro 能够获得充足资源并重新聚焦于核心框架的开发。Astro 将继续保持开源、MIT 许可,并支持所有部署目标,包括 Cloudflare 之外的平台。这次结合是基于双方对“内容驱动型网站 (content-driven websites)”未来发展的共同愿景,Cloudflare 提供基础设施支持,而 Astro 则专注于构建高效的框架,共同推动 Web 技术进步,并已将重心回归到 Astro 6 和未来路线图的开发中。


author Fred Schott The Astro Technology Company joins Cloudflare | Astro
#优质博文 #Chrome #浏览器 #新动态
这个真的好耶!Chrome 145 实验性支持垂直标签页,2026 了 Chrome 终于把这个学过来了啊!
Chrome 145 adds Experimental Support for Vertical Tabs

AI 摘要:Chrome 145 引入了一项实验性功能——垂直标签页 (Vertical Tabs),允许用户将浏览器标签页显示在侧边而非顶部。该功能目前处于 Beta 阶段,用户可以通过访问 chrome://flags/#vertical-tabs 启用相关旗标,重启浏览器后,再通过右键标签栏选择“Move Tabs To The Side”来激活,从而体验更高效的标签页管理,并且支持将侧边栏折叠。

以下是方便搜索索引的大纲(AI 生成),请读原文:
1. Chrome 145 新功能介绍
• Chrome 145 实验性地增加了对垂直标签页 (Vertical Tabs) 的支持。
• 垂直标签页功能可以将标签页显示在浏览器侧边,而非传统顶部。
• 该功能还支持将标签栏折叠成最小形式,以节省屏幕空间。
2. 垂直标签页的启用步骤
• 用户需首先在 Chrome 145 (当前 Beta 版) 中启用一个功能旗标 (feature flag)。
• 具体步骤包括导航至 chrome://flags/#vertical-tabs。
• 将该旗标的下拉菜单设置为“Enabled”。
• 重启 Chrome 浏览器。
• 右键点击标签栏,并选择“Move Tabs To The Side”以应用垂直标签页布局。

author Bramus! Chrome 145 adds Experimental Support for Vertical Tabs
#碎碎念 #设备
手里的米 14pro 到现在也坚持了两年了,4800mAh 再加上没换过电池真的顶不住,买新机了,2k8 买了 k80u 真香了,现在的手机大电池好爽啊!
#碎碎念 #折腾
今天请假休息一天,所以晚上把插件的 i18n 做了,嘿嘿
都是 cc 翻译的,我主要是把语言偏好那些都改好了,错漏肯定还有很多但是我没空看了 PR Welcome(
现在默认语言是英文的话也会是英文的界面了(

https://github.com/yusixian/moe-copy-ai/pull/25
#碎碎念 #折腾
Moe Copy AI 发了 v0.2.1 将悬浮球的功能抽取至侧边栏单页抓取 tab 了,内容提取下也加了 AI 总结按钮。
感谢 @XueHua-s 贡献的 htmlToMarkdown 重构为使用 unifined 改进~(#19

Chrome 商店 | Firefox 附加组件

Release Notes
Back to Top