mark2025 最近的时间轴更新
mark2025

mark2025

V2EX 第 645772 号会员,加入于 2023-08-28 13:04:59 +08:00
今日活跃度排名 9851
mark2025 最近回复了
11 小时 42 分钟前
回复了 chowdpa02k413 创建的主题 程序员 某五百强信创数据库运维幽默记录
@forsuperper KP 吃得有点狠……
1 天前
回复了 chowdpa02k413 创建的主题 程序员 某五百强信创数据库运维幽默记录
还有更幽默的的 vx 公众号 人在信创
3 天前
回复了 iorilu 创建的主题 Python 大家现在写 Python , 用类型注解吗
有了那么好的 TS ,还是不少人喜欢无类型的 JS ,py 一样的 ~
@jchnxu
AOP ,IoC 这个不用研究名词,用就行了。
比如 IoC 涉及的是依赖注入: https://midwayjs.org/docs/servicehttps://midwayjs.org/docs/container
AOP 涉及的是切面拦截: https://midwayjs.org/docs/aspect
AOP 另外一个功能是写自定义装饰器。
@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 ,一切都变好了。
如果口令里面有个|就好玩了,比如 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 接口挺方便的。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   935 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.