呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#优质博文 #独立开发 #全栈 #云平台 #成本优化
独立开发穷鬼套餐(Web实践篇)
author Guangzheng Li
独立开发穷鬼套餐(Web实践篇)
AI 摘要:本文系统梳理了独立开发者在 Web 全栈开发过程中,如何以低成本(穷鬼套餐)快速启动和迭代产品。作者结合自身实战,详细分析了主流的技术栈(以 Next.js 为核心)、多种低成本云部署模式(如免费云平台、全栈 Cloudflare、自托管等),以及项目启动常见成本项(域名、邮件、支付等)的选择建议,旨在帮助新手独立开发者找到成本控制与效率兼顾、专注产品本身的最佳路径。
1. 最新技术栈的选择
• 推荐 Next.js 作为首选全栈开发框架,因其生态活跃、文档齐全、AI 代码生成友好。
• 详细列举配套库与工具(如 Drizzle ORM、Better Auth、Stripe、React Email、Tailwind CSS 等),并说明每类工具的优点与适用场景。
• 解释选择原则,强调“三方依赖的通用性”及“易于在不同平台部署”。
2. 明确你的需求和成本
• 强调“盈利/准备盈利”型项目需严肃对待成本预算。
• 简述独立开发三种低成本路径:A. 利用云平台免费额度(如 Supabase/Neon/Vercel 等),B. 全部服务基于 Cloudflare,C. 自托管(廉价 VPS + 开源 PaaS 平台)。
• 分析各模式优劣:云平台部署简单、运维压力小但成本不稳定;Cloudflare 适合高流量/无收入阶段;自托管自由度高但需解决运维/安全等问题。
3. 云平台方式
• 细分为“入门级完全免费组合”“面向小商业的稳定运营组合”,逐项对比主流云平台(Vercel、Railway、Fly.io)、数据库(Supabase、Neon、Upstash)、对象存储(Cloudflare R2)、邮件服务(Resend)等的免费额度与核心优缺点。
• 强调高流量/免费额度耗尽时,成本可能快速上涨,需要有盈利模式支撑。
• 建议新手优先选择云服务,节约运维精力,把重心放在产品与营销上。
4. 完全利用 Cloudflare 平台
• 总结 Cloudflare 作为一体化服务平台的优势(免费 CDN、极低成本、服务丰富),适用于“愿意折腾”及“高流量低收入”独立开发者。
• 介绍 Workers 计算、D1 数据库、KV 存储、R2 对象存储等服务的免费额度及场景限制。
• 结合实际项目案例,说明小型/海外流量项目长期运行的可行性。
5. 自托管部署
• 分析自托管的技术栈组合、支持工具(如 Dokploy、Coolify、Uptime Kuma、Umami、Unsend、n8n等),一并覆盖数据分析、监控、邮件、数据库等服务。
• 优点:极致成本控制与可控性,缺点:需自担安全、备份、扩容及持续运维压力。
6. 其它成本项
• 域名:推荐优先在 Cloudflare 购买,兼顾成本、速度、稳定性。
• 邮件服务:若依赖登录/营销可选择 Resend、plunk 或自托管方案(Unsend+AWS SES等)。
• 支付平台:建议优先 Stripe/Paddle,初期可探索 Creem.io 等新平台并分享认证/提现实战经验。
7. 最后
• 提醒“穷鬼套餐不等于无止境折腾”,独立开发应聚焦产品与市场验证,合理分配时间资源。
• 强推 NextDevKit 作为一键多平台部署利器,降低初学者技术门槛。
• 鼓励读者分享各自技术栈与实践经验,集思广益,持续优化开发与部署流程。
author Guangzheng Li
#优质博文 #前端 #JavaScript #runtime #Node #跨平台 #全栈
史学家看过来!(很好的文章
The many, many, many JavaScript runtimes of the last decade
author Jamie
史学家看过来!(很好的文章
The many, many, many JavaScript runtimes of the last decade
AI 摘要:过去十年,JavaScript(简称 JS)运行时(JavaScript Runtime)经历了爆炸性增长,跨越云、边缘(Eadge)、微控制器、智能电视、移动/桌面原生应用(Native App)等众多环境。随着 Node.js、Deno、Bun、Cloudflare Workers、Hermes、QuickJS 等不同引擎和运行时的出现,JS 开发者获得了前所未有的选择自由。文章系统梳理了驱动 JS 运行时百花齐放的原因:硬件性能多样化、任务场景多元化、与原生 API 的融合需求以及跨平台/多语言互操作等。最终结论是:没有哪一个 JS 运行时能“一统天下”,不同场景必然产生不同最优解,也促成了生态繁荣与技术创新的持续推进。
1. JavaScript 运行时的多样化浪潮
• 过去十年 JS 运行时和引擎在数量和类型上激增,支持从云、大型服务器到边缘、物联网和嵌入式设备。
• 没有单一运行时能覆盖所有场景,各种任务对性能、包体体积、API 支持等需求差异巨大。
2. 边缘计算(Edge Computing)和“无服务器”
• JavaScript 在边缘的脚步:先由 Node.js 在 AWS Lambda 支持,继而 Cloudflare Workers、Deno Deploy、Bun 等新锐项目快速跟进。
• 各家采用不同 JS 引擎:V8(Node.js、Cloudflare)、JavaScriptCore(Bun)、SpiderMonkey/WinterJS,QuickJS(LLRT)等,厂商和开发者根据实际需求选择最优方案。
• 行业逐步形成新的标准组织,如 WinterCG 推动运行时 API 一致性。
3. 微控制器与极小型设备
• 资源受限场景驱动极致“瘦身”引擎(如 Duktape、JerryScript、Espruino、mjs、Moddable、Elk)。
• 推动对应微型 runtime 出现(IoT.js、Microlattice.js、low.js)使 JS 覆盖从命令行到“3 分钱”MCU 芯片。
• 跨语言调用与嵌入需求促进微型 JS 引擎/运行时出现。
4. 多语言互操作(Polyglot engines)
• 不同语言实现 JS 引擎,促进零成本语言互调。显著例子有 Rhino/Nashorn/Graal.js(Java/JVM)、jint(.NET/C#)、langjs/pyNarcissus(Python)、Boa/rquickjs(Rust)、Kiesel(Zig)等。
• 甚至有用 JS 编写 JS 引擎的项目(如 Narcissus、Porffor、Shadow),展现 JS 生态和语言本身的强大适应性。
• 多数主流 polyglot 项目追求互操作性和练手,更极大丰富了 JS 生态。
5. 原生应用开发与 JS 运行时
• Web View 类应用:Cordova/PhoneGap、Ionic/Capacitor(移动端)、Electron、NW.js(桌面)、Smart TV 平台广泛采用 webview+JS runtime 构建跨平台 GUI。
• React Native 体系:通过 JS runtime+bridge 机制渲染原生组件,最早依赖 JavaScriptCore,后主推 Hermes,还支持 V8/QuickJS/Chakra 等多引擎适配;已成为移动端主流,正在攻入桌面和智能电视。
• NativeScript:深度绑定原生 API,早期支持多引擎(JSC/V8),后统一到 V8;近期演化为 Node-API 驱动,以便灵活适配各主流 JS 引擎。
• Node.js 在原生开发中的特殊地位:广泛用于 CLI 服务和桌面集成,但在 GUI、移动原生方面更显边缘,行业也频繁尝试 V8/ChakraCore/JerryScript 等不同引擎 port。
6. 总结与反思
• JS 凭借开放性和简洁性,成为最有适应性的面向 GUI 与原生应用开发的语言,并渗透到各类设备终端。
• 运行时选择众多,驱动力多样,硬件特性、启动时/运行时性能、bundle 大小、API 支持、native 调用等需求差异难以统一,任何“统一 JS 运行时”设想都难以落地。
• 健康竞争、百花齐放推动了巨大的技术进步,使 JS 成为未来开发“最安全”的通用技术选择之一。
7. 附录:遗漏与新兴运行时一览
• ByteDance Lynx/PrimJS、Ladybird LibWeb/LibJS、gjs(SpiderMonkey/ GNOME)、MuJS、JXA(macOS automation)、dukluv/txiki.js、Bare、lo.js 等新老项目列举。
author Jamie
#优质博文 #前端 #权限控制 #全栈
好文。
Choosing the best access control model for your frontend
author Temitope Oyedele
好文。
Choosing the best access control model for your frontend
AI 摘要:本文探讨了前端应用中最佳访问控制模型的选择,重点分析了 RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)、ACL(访问控制列表)和 PBAC(基于策略的访问控制)的优缺点。作者指出,虽然不同模型各有适用场景,但 RBAC 因其简单性、可扩展性和与前端框架(如 React/Next.js)的良好兼容性,成为大多数前端应用的首选方案。文章还通过 Next.js 示例演示了 RBAC 的具体实现,并讨论了混合模型的潜在应用场景。
1. 访问控制的核心作用
• 前端访问控制的核心目标是优化用户体验(而非安全 enforcement),通过动态显示可交互的 UI 元素减少用户困惑。
2. 主流访问控制模型对比
• RBAC(基于角色的访问控制 role-based)
• 通过用户角色分配权限,适合大多数前端应用
• 优势:易于维护、性能良好、与前端框架集成度高
• 局限:缺乏细粒度控制(如无法处理动态条件)
• ABAC(基于属性的访问控制 attributes-based)
• 根据用户/环境属性动态决策
• 适用场景:需要实时权限变更的复杂系统
• 前端缺陷:性能开销大、状态管理复杂
• 简单解释一下,这就像说,“如果用户的部门是 X,文档是 Y 分类的,并且是在工作时间,那么允许访问。
• ACL(访问控制列表 access control list)
• 用于在单个资源级别定义权限。这意味着访问权限直接分配给特定用户或组
• 前端痛点:权限列表扫描导致性能下降,难以扩展
• PBAC(基于策略的访问控制 policy-based)
• 依赖中央策略引擎(如 OPA)动态评估规则
• 建议仅限后端使用,前端实现会导致界面延迟和闪烁
• 它在后端服务中大放异彩,尤其是在微服务架构中,您希望跨 API 实现集中、一致的策略实施。
3. RBAC 的 Next.js 实现示例
• 演示项目结构:角色配置(roles.js)、自定义钩子(useRBAC)、动态仪表盘(Dashboard.js)
• 关键功能:
• 基于角色的 UI 元素显隐控制
• 受保护路由(如 /admin)的权限验证
• 无权限用户的 403 重定向
4. 混合模型的应用
• RBAC + ABAC:角色基础规则 + 属性动态补充(如部门限定访问)
• RBAC + ACL:角色为主,ACL 处理特殊例外(需谨慎使用)
• PBAC 应严格限于后端 API 层
5. 结论与建议
• 前端访问控制的本质是用户体验优化
• RBAC 是大多数场景的最佳平衡选择
• 复杂场景可谨慎组合模型(如 RBAC+ABAC)
• 强调:前端控制需与后端安全验证配合
author Temitope Oyedele
#book #auth #优质博文 #全栈
才看到,mark 一下。
@Manjusaka_Lee: lucia-auth 作者写了一本小册,https://thecopenhagenbook.com 介绍了常见的 Auth 的一些实现,质量非常高。强烈推荐
来源
ps: 我发现引用内容的时候之前搭的 @cosSearchBot 会搜不到,怪,所以先不用引用了。
才看到,mark 一下。
@Manjusaka_Lee: lucia-auth 作者写了一本小册,https://thecopenhagenbook.com 介绍了常见的 Auth 的一些实现,质量非常高。强烈推荐
来源
ps: 我发现引用内容的时候之前搭的 @cosSearchBot 会搜不到,怪,所以先不用引用了。
#优质博文 #typescript #TRPC #全栈 #Next
Typescript 全栈最值得学习的技术栈 TRPC
AI摘要:本文介绍了Typescript全栈工程师值得学习的技术栈TRPC。TRPC是基于TypeScript的远程过程调用框架,旨在简化客户端与服务端之间的通信过程,并提供高效的类型安全。文章详细讲解了TRPC的特点,如自动类型安全、敏捷高效的开发者体验、不依赖特定框架、出色的自动补全功能和轻量级打包大小。同时,文章还探讨了TRPC的应用场景,指出它可以作为REST/GraphQL的替代品,尤其适用于前后端共享代码的TypeScript全栈项目。最后,文章通过实例演示了如何在Next.js项目中使用TRPC进行接口调用,包括定义服务端和客户端、使用useQuery和useMutation实现CRUD操作等。
Typescript 全栈最值得学习的技术栈 TRPC
AI摘要:本文介绍了Typescript全栈工程师值得学习的技术栈TRPC。TRPC是基于TypeScript的远程过程调用框架,旨在简化客户端与服务端之间的通信过程,并提供高效的类型安全。文章详细讲解了TRPC的特点,如自动类型安全、敏捷高效的开发者体验、不依赖特定框架、出色的自动补全功能和轻量级打包大小。同时,文章还探讨了TRPC的应用场景,指出它可以作为REST/GraphQL的替代品,尤其适用于前后端共享代码的TypeScript全栈项目。最后,文章通过实例演示了如何在Next.js项目中使用TRPC进行接口调用,包括定义服务端和客户端、使用useQuery和useMutation实现CRUD操作等。