线上发布Web为了方便追溯用户的具体报错,我们会开启SourceMap,是发包发布时会将SourceMap上传到我们的RUM平台,这样当用户出现报错时,通过RUM平台上的SourceMap也可以追溯到源码的报错位置。但也并非构建打包的所有文件都需要生成sourcemap,那么如何定制呢?

开启SourceMap

Webpack中,简单点呢的话会是如下配置。

1
2
3
4
5
{
...
devtool: 'source-map',
...
}

这样做的弊端是所有的JS文件都会生成SourceMap,如果我们想排除某些呢,比如我们懒加载第三方模块,比如MonacoEditor。Webpack也是支持定制化SourceNap生成的。

阅读全文 »

在处理文本文件时会遇到行分割符的不同,这里为什么有这种差异和如何处理呢,这里mark下。

系统差异

Windows是\r\n,而Unix/macOS是\n

比如在Windows中使用NotePad创建文本文件,保存后,拖动到VSC等编辑器中打开,可以看到提示分割符是\r\n。

编辑器里的设置

阅读全文 »

在翻看inshellinsense代码时看到is建立本地终端时有控制加载指定目录下的启动文件。因此我在想SSH2连接Web 终端会话是否也可以呢,这里讨论下可行性。

inshellisense的做法

以bash为例

1
2
3
4
5
6
7
8
9
shellArgs = ["--init-file", path.join(shellFolderPath, "shellIntegration.bash")];

this.#pty = pty.spawn(shellTarget, shellArgs ?? [], {
name: "xterm-256color",
cols,
rows,
cwd: process.cwd(),
env: { ...convertToPtyEnv(shell, underTest, login), ...env },
});

可以看到实现的原理是spawn的第二个参数传入了shell参数,比如bash有–init-file参数

阅读全文 »

ChatGPT自推出以来大受欢迎,发布会也已抢去了昔日Apple的风光,大家都关注起了ChatGPT/OpenAI每次要发布新公布功能。

我们经常看到有人有了新功能资格,有人却没有,那么这个发布策略是怎么样的呢,这里我记录下我所了解的。

OpenAI 发布会

OpenAI/ChatGPT的新功能,往往是通过发布会来宣布,比如语音模式,GPTs等。此时我们往往只能在推特或者其它渠道看到他们的体验/宣传视频。

不得不说这种感觉很不爽。我们能做的只是等待。

阅读全文 »

Mac/iPhone端均可方便的开启MitM,那么ATV端如何做呢,这里总结下方法。

Surge Mac网关模式

假如Mac端直接网关模式,同时开启MitM,ATV在没有开启Surge的情况下连接网络,那么此时ATV发起的请求自然也会走Mac端的解密。

Surge ATV直接MitM

  1. Mac/iPhone等设备操作,利用Surge导出证书文件。

    Surge ATV配置文件用的是哪个设备的,则这里导出哪个设备的证书文件,避免配置文件中证书配置不一致

阅读全文 »
0%