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

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#优质博文 #前端 #工程化 #esm #typescript
Tutorial: publishing ESM-based npm packages with TypeScript

AI 摘要:过去两年,TypeScript、Node.js 和浏览器对 ESM(ECMAScript Modules)的支持取得了显著进展。本教程介绍了一种较为现代、简化的 TypeScript npm 包发布方案,适用于无需考虑向后兼容性的项目。

主要内容:

1. 项目结构:包含 src/ (源码)、test/ (测试)、dist/ (编译输出)、docs/ (文档)等目录。

2. tsconfig.json 配置

• outDir: "dist" :编译后的文件存放在 dist/ 目录。
• sourceMap: true、declaration: true、declarationMap: true,确保源码映射和类型定义文件生成。
• verbatimModuleSyntax: true 及 erasableSyntaxOnly: true,提高 TypeScript 代码的可移植性。

3. package.json 相关配置

"type": "module" :确保 .js 文件按 ESM 解析。
• "exports":明确定义包的 ESM 入口,支持子路径导出。
• "files":严格控制发布到 npm 的文件,避免上传测试代码。

4. 构建与发布

• 使用 npm run build 清理 dist/ 目录并重新编译。
• prepublishOnly 钩子在 npm publish 之前自动执行 build,确保发布的代码是最新的。
• publishd 命令用于 npm publish --dry-run,可预览上传的文件。

5. 测试与文档

• 采用 Mocha 进行单元测试,并支持 source-maps 以优化错误追踪。
• 使用 TypeDoc 生成 API 文档,托管于 GitHub Pages。

6. 其他工具

• publint、arethetypeswrong 等工具检查 npm 包的兼容性和 TypeScript 类型定义的正确性。
• shx 统一跨平台 shell 命令(如 rm -rf、chmod u+x)。

本指南基于 @rauschma/helpers 包的实践经验,提供了一种现代化、易于维护的 ESM npm 包构建方法。

via 2ality – JavaScript and more
#优质博文 #前端 #typescript
在 TypeScript 中使用元组进行计算

AI 摘要:这篇文章介绍了 TypeScript 元组(Tuple)的概念及其应用。主要内容包括:

1. 元组基础:元组是一种固定长度、元素类型已知的数组。例如,[number, string] 代表一个两元素元组,要求第一个元素是 number,第二个是 string
2. 可选元素:可以使用 ? 标记某些元素为可选,例如 [number, string?],表示第二个元素可以省略。
3. 变长元组:通过 ... 语法支持变长参数,例如 [string, ...number[]] 允许第一个元素是 string,后续元素是 number
4. 元组的实际应用:包括函数返回多个值、定义结构化数据等。
5. 类型推导与模式匹配:TypeScript 能根据元组推断类型,结合解构赋值使用更灵活。

总体而言,文章深入探讨了 TypeScript 元组的语法与应用,适合希望优化数据结构和类型安全性的开发者。

via 2ality
#碎碎念
今天是什么日子呀,怎么看完哪吒 2 出门逛街一家店都没开门啊乌漆嘛黑😭

ip 属地: 广东深圳
#前端 #工程化 #优质博文
https://fixupx.com/himself_65/status/1885219450900939133

如何评价 node_modules 的设计?

并且很多时候,你压根找不到“刚好能完成所需功能”的某个 Package,而为了这点功能重复造轮子又没有意义,这时你就只能为了所需的那一点功能去引入一个巨大的依赖,从而造成最终 node_modules 膨胀的问题了。况且很多开发者也不一定有这个减小依赖的意识——lodash-es 出了这么多年,不还是有很多项目在用 lodash?即使其中一些项目本身已经利用了 ES6 之后的语言特性。

我觉得某种意义上,这大概是一种“幸福的烦恼”——npm 良好的生态使开发者们互相引用依赖几乎没有负担,但也造成了潜在的 node_modules 膨胀问题。看看 C++ 那边的情况,一个库为了做得容易引入几乎不能引入任何外部依赖(如果有,也一般是直接放在代码里),需要自己造大量的轮子,真有人觉得这就是好事吗?我反正不觉得……

写的真的挺好的
Ciallo~(∠・ω< )⌒★ 下面是余弦 の 除夕小贴士:

🥰 祝大家新的一年:

• 年终奖比 node_modules 还膨胀!
• 快乐不加 !important 也能最高优先级 
• 生活永远不报 Uncaught TypeError

console.table({ 
  好运: "∞%", 
  可爱: "↑↑↑", 
  摸鱼力: "React Forget自动优化", 
  暴富: localStorage.getItem('压岁钱') ?? '🈵🈵🈵' 
}) 

渲染完毕 ★ 除夕快乐!(Version: SpringFestival_v2.0.25)
渲染完毕 ★ 除夕快乐!(Version: SpringFestival_v2.0.25)
#优质博文 #前端 #css #容器查询
Container Queries Unleashed

AI 摘要:文章探讨了CSS容器查询在响应式设计中的应用,允许开发者根据容器大小而非视口大小调整布局,提供了比传统媒体查询更灵活的设计方式。作者通过实例展示了如何利用容器查询实现动态布局切换,避免使用脆弱的“魔法数字”断点,并介绍了其渐进增强特性,确保旧浏览器兼容性。容器查询为UI设计带来了更多可能性,鼓励开发者积极探索这一技术以提升用户体验和开发效率。

via Josh W Comeau Container Queries Unleashed • Josh W. Comeau
更新:这个系列是之前就有的,简单来说就是大模型视觉生成/读取端到端,现在这个比之前的效果好了很多(见评论区图),不过还是比不上专注图片生成领域的 Top(SD等),大概只是为了以后多模态的更大的模型探路
分辨率只有 384x384(输入输出都是),技术文档还没出,我瞎猜一下,可能是把 RectifiedFlowSigLIPSDXL-VAE 的架构整合进了 transformer decoder/encoder,然后一起训练来对齐语义向量

这个活没那么大,并没有 V3 和 R1 那么震撼,ds 一般小活,不过可以期待一下日后的表现
DeepSeek发布统一图像理解与生成的Janus-Pro系列模型

1月27日晚,DeepSeek发布了Janus-Pro系列,旨在统一图像理解和生成,并将其整合在单个模型中。该模型框架采用极简架构,将自回归语言模型与生成建模领域的前沿方法Rectified Flow相结合。

涩橘的Telegram频道,Rectified Flow可以直接在大型语言模型框架内进行训练,无需复杂的架构修改。JanusFlow是一个支持图像多模态的LLM,参数量为70亿(7B),方便本地运行。训练方式采用传统的预训练和SFT,未使用强化学习。根据现有信息,JanusFlow在性能上超越了同参数量的其他模型。目前,线上Playground尚未开放,技术报告也暂未上传。据分析,JanusFlow旨在实现大模型视觉生成的端到端处理,相较之前的版本有所改进,但在图像生成质量上与专门的图像生成模型(如Stable Diffusion)相比仍有差距。模型输入输出分辨率为384x384。推测其技术实现可能整合了Rectified FlowSigLIPSDXL-VAE的架构,并将其集成到Transformer的解码器/编码器中,进行联合训练以对齐语义向量。虽然该成果的震撼程度不及V3和R1等重大突破,但仍然值得期待其未来的发展。

DeepSeek推动持续创新,即使在除夕也有新成果发布,展现了其强大的研发能力。虽然目前的JanusFlow在图像生成方面并非顶尖水平,但它为未来更大规模的多模态模型探索了道路,并为其他模型设定了新的基准。

#DeepSeek #多模态 #图像生成 #人工智能
Back to Top