V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mark2025  ›  全部回复第 11 页 / 共 12 页
回复总数  222
1 ... 3  4  5  6  7  8  9  10  11  12  
@jchnxu 不客气,交流经验方便大家

1. npm 库趋势是在向着 ESM (甚至纯 ESM )方向发展。如果项目是 CJS ,那么遇到 纯 ESM 包是不能直接使用的,而如果项目是 ESM ,那么无论包是 纯 CJS 或者 纯 ESM 都可以兼容。 所以我现在的所有轮子/项目都是 ESM 格式。

2. google 开发的 zx 真是效率工具。之前写 bash 脚本遇到要处理字符串(替换、变化)或者数组的时候很头痛,现在全部用 js/nodejs 来处理,把变量数据处理完毕后一股脑丢给 zx 的 `$` 去执行,也不用考虑手动转义。真是非常方便。

3. 我现在基本不会使用回调,或者直接返回 Promise 对象,对于异步调用,全部 `await` ,这样配上 sourcemap 以及日志, 异常堆栈非常精确。
另外,我把异常日志也上报给 otel ,可以获得非常精确的异常信息, 包括(不限于):pid ,时间戳,内存占用、堆栈占用,被调用的类名、方法名/函数名,调用参数,异常堆栈,以及整个请求追踪链。

4. 如果你在使用 eggjs , 我建议转换到 Midway.js ,后者原生 TS 开发,支持 AOP, IoC 功能,并且有丰富的中间件沐足绝大部分项目基建需求。 并且官方开发很友好,需求/bug 相应也非常快。
我在 2017 年左右就给 eggjs 官方提建议升级到 TypeScript ,结果对方爱理不理,最后直到这团队解散也没完成…… 而 eggjs 的插件开发以及项目调试很麻烦,于是转到了 midwayjs ,一切都变好了。
211 天前
回复了 sirz 创建的主题 数据库 向量存储数据库该如何选择?
postgres + 插件(PGVector / Svector )
https://pigsty.cc/zh/blog/pg/pg-eat-db-world/
如果口令里面有个|就好玩了,比如 admin|pass123|456|1713771788
@jchnxu
[quote]cjs & mjs ,type: module 这个是我自己最烦的。虽然升降一下包版本可以解决。但是就是很烦[/quote]
我现在的 npm 包都输出纯 ESM ,项目也是 ESM ,没发现有啥不方便的。配置好模板就行

[quote]如果要跑 typescript 脚本,ts-node & tsx 也很烦。能解决但是很烦。[/quote]
我现在的(运维)脚本全是用 TypeScript 编写,然后用 tsx 执行。配合 zx 执行系统命令。不但效率比 bash 高很多,也比 python 脚本多了类型保护,维护很方便。

[quote]node 不太好的地方在于,一个线程,逻辑复杂了不好 debug ,而且监控上我感觉还是没有 java 成熟[/quote]
单进程的 nodejs 不是比多线程的更好 debug 么。 之前用阿里的 eggjs ,多进程模式( 1 master + N worker),本地调试很麻烦。后来转到蚂蚁的 midwayjs ,单进程模式,vscode 调试很方便。
至于监控,prometheus + OTEL , 能满足绝大部分需求了吧。
可以考虑 nest 或者 midwayjs ( https://https://midwayjs.org/ ). 后者纯 TypeScript ,支持 AOP 、IoC ,写 api 接口挺方便的。
当年写公积金贷款申请页面,js 主函数就 8k 行……
把数据库放到内存中……
239 天前
回复了 yuntun 创建的主题 程序员 来聊聊最近遇到的烦心事
半角标点看着有点打脑壳……
244 天前
回复了 xyxy 创建的主题 数据库 海量数据存储问题,求大佬们指导选型
timescale ?
276 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
1. 尽量避免同时使用具名导出和默认导出
2. 推荐统一使用具名导出
试试蚂蚁金福的 midway.js https://midwayjs.org/
比 spring 风格的 nest 简单多了,AOP ,IOC 都具有。我用它开发项目,效率很高。
2023-09-18 17:14:14 +08:00
回复了 unt 创建的主题 Node.js node 写简单接口发现一件诡异的事,求解答
接口实现没控制好(并发下的)状态(session, token 等等)吧
2023-09-18 10:41:56 +08:00
回复了 oblivion 创建的主题 程序员 亲手造成的运维事故:在 Live CD 环境下部署并运行了 8 个月
“组里另一个同事昨天晚上去搞的,他发现磁盘没分区没挂载,也没想到居然是在 Live CD ,手动分区挂载准备迁移数据发现挂不上,就直接给重启了”

可以抓住这点:运行没问题,重启有责任 哈哈
2023-09-18 10:40:18 +08:00
回复了 oblivion 创建的主题 程序员 亲手造成的运维事故:在 Live CD 环境下部署并运行了 8 个月
装完系统,我一般会重启两次服务器~
2023-09-15 14:55:20 +08:00
回复了 CitizenR 创建的主题 Linux 再次遭遇 BTRFS 文件系统损坏事件
要么陈旧稳定的 ext4 , 要么高效稳定的 xfs ,其它小众文件系统不要放重要资料
github 添加了 ssh/gpg 密钥的估计好办
2023-09-06 11:47:13 +08:00
回复了 gzk329 创建的主题 Java 接口返回错误码和 msg 的优劣势?
@MFWT linux 下面习惯是 0: 成功, 非 0:失败。
这种方式,成功就一种,而失败就可以多种了。
2023-09-04 13:11:44 +08:00
回复了 V2SD 创建的主题 Node.js 这几天很困扰我的一个 nodejs 脚本中的性能(?)问题
1. nodejs 环境启动开销
2. http 握手开销
2023-08-30 15:51:49 +08:00
回复了 iorilu 创建的主题 程序员 无意中学了点 powershell ,惊了, 这东西是不是低估了
@iorilu pwsh (相比 bash )是非常强大。不过我认为正是这个强大反而是阻碍了其接受度: 命令行简单的输入输出程序裸机搞成交互式程序,明显提升调用、维护、调试的复杂度。

况且服务器 Linux 系统居多,装 pwsh 我不如装 nodejs 了,用 nodejs 来执行系统 bash 命令实现复杂的功能恐怕能力会比 pwsh 更加强大。
pwsh 高不成低不就的。
1 ... 3  4  5  6  7  8  9  10  11  12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1423 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 17:26 · PVG 01:26 · LAX 09:26 · JFK 12:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.