$V2EX
Solana
Give SOL to Copy Address
使用 SOL 向 Ketteiron 打赏,数额会 100% 进入 Ketteiron 的钱包。
 Ketteiron 最近的时间轴更新
Ketteiron
0.2D
0.03D

Ketteiron

V2EX 第 526953 号会员,加入于 2021-01-05 14:53:49 +08:00
今日活跃度排名 6798
根据 Ketteiron 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Ketteiron 最近回复了
agent 模式区别不大,对话会有影响,但非英语母语水平还是不建议用英文,除非你的中文水平也达不到中文母语平均水平
@flytsuki 会被写 C 的鄙视
5 天前
回复了 cmos 创建的主题 程序员 要是用 Rust 就不会出问题了
@XIVN1987 写得差该漏还是漏,但相对来说几率小很多。js/py 很容易无意识写出导致内存泄漏的代码,其次是大量使用的依赖库本身也有很多内存泄漏。
5 天前
回复了 cmos 创建的主题 程序员 要是用 Rust 就不会出问题了
@XIVN1987 带 GC 的语言,屎山堆起来肯定会遇到内存泄漏,而且排查困难,有可能是狗屎业务代码引发的,有可能是底层框架/库引发的,还有可能是编译器/解释器自己的问题(点名 nodejs)。
9 天前
回复了 Kinnikuman 创建的主题 TypeScript 你们是怎么学习 typescript 的?
typescript 没有规范一说,因为随便一个特定场景都有十几种等价写法。
如果对 typescript 有兴趣,可以尝试下挑战一下
https://github.com/type-challenges/type-challenges
但这样的项目无法真正"教会"如何写 typescript 。
笑死了🤣可以评选今年最佳
11 天前
回复了 shakaraka 创建的主题 分享创造 在写 ts 项目的时候,被依赖注入烦到
@Chuckle 这些都可以用中间件实现,我感觉不到太大好处,还丢了类型安全。
当然,没有非常通用的库,对于不同场景下的用例可能需要手搓。
对象和参数就应该是不可变的,装饰器这套隐藏的风险太大,太过依赖"约定大于配置"。

而且这取决于底层用的框架是什么,nestjs 没得选,hono 之类的框架也没得选。

如果不用框架,我觉得显式编程对比装饰器多数情况下代码行数会更少,除非项目/库架构基于对象可变性。
11 天前
回复了 shakaraka 创建的主题 分享创造 在写 ts 项目的时候,被依赖注入烦到
@shakaraka #13 你都用 bun 了,没试过 hono/elysia 之类的框架吗。它们更加激进地采用函数式路由+中间件+RPC ,不使用 FP 去开发会极其别扭。它们的代码库本身也是实用性函数式实践的一个良好示范。
nestjs 等项目依赖装饰器和类来定义结构,而这些较为新颖的框架是 schema 第一,类型第一,函数优先。它们推荐你使用 schema ,配合 prisma/drizzle/kysely 等 ORM 可以得到最良好的体验。
以 drizzle-orm 举例,定义好表结构,使用 drizzle-zod 可以派生出相应类型,例如一个表字段定义为 varchar({ length: 50 }),派生出的 schema 会自动生成 z.string().max(50),其运行时检验保证错误参数绝不会到达 sql 层,并且建议这份 schema 同时应用在前端表单校验和路由参数校验上,而前端使用框架提供的 RPC 获得与后端接口完全一致的类型,类型是框架反射 schema 类型和当前路由返回值提取出来的,不需要开发者重新写一遍,这套做法极致地实现了 DRY 理念,只需定义一份契约,保障全链路的运行时安全和 typescript 类型安全,并且减少了一堆冗余文件。
当使用这些框架去开发,已经没必要再分什么层了,分无可分,直接在路由编写业务代码就行。
而在此之上还有一堆优化空间,多用函数式,理想情况下可以压缩 75%以上代码,并且 bug 更少类型更安全且一致。
当然要践行起来坑也是不少的,例如我正在考虑把 zod 和 drizzle 换成 arktype 和 kysely 。
@dolorain 不用全开一遍,IDEA 装上特定语言的插件就行了,据我所知没有任何区别。
不过除了写 Java 我不会打开 IDEA
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5278 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 06:50 · PVG 14:50 · LAX 22:50 · JFK 01:50
♥ Do have faith in what you're doing.