获得徽章 7
- 刚刚看了下 memgpt,主要还是在 context 长度管理上,我感觉其思路和我想的差不多…… 只不过它是在GPT4的11月更新之前发的,现在的有效 context 长度可能比当时长了5倍以上。此外它用操作系统虚拟内存做类比,我倒是有个想法,可以对会话信息做更精细的处理,这就可以跟虚拟机的GC做类比。比如分析每条历史会话和当前状态的相关性,相关度最差的就archive掉,这就是GC。为了提升性能节约成本,可以经过多次都存活的历史会话标记一下就不用检查了,这就是新生代和老生代机制。如果有谁按这个思路做了写了论文,记得让我挂名混个三作四作就行,嘻嘻。展开等人赞过821
- 常见的给请求加 timeout 的代码:
```ts
async function get(url: string, timeout: number) {
const timeoutPromise = new Promise((_, reject) => {
setTimeout(() => reject(new Error("Timeout")), timeout);
});
const fetchPromise = fetch(url)
// 使用Promise.race来竞赛fetch请求和超时Promise
return Promise.race([fetchPromise, timeoutPromise]);
}
```
这代码work,但利用好API可以更简单:
```ts
return fetch(url, { signal: AbortSignal.timeout(timeout) })
```展开等人赞过14 - nodejs 19 删掉了 --es-module-specifier-resolution=node ,也就是 nodejs 19+(包括最新的 20 LTS)没有简单的办法直接使用无后缀名的 import 语句。而绝大部分的 typescript 源码里都是不包含后缀名的。当然,你可以用自定义 loader 来解决,但在我看来这是强行给开发者制造负担。有人也许认为这是 TS 的锅(tsc为啥不在编译结果里加上 `.js` 后缀?),或者至少 TS 团队要付一定的责任。但在我看来,这个锅绝对是 node 团队的,甩不到 TS 团队头上 —— 我认为 TS 团队坚持只擦除类型而拒绝修改任何其他源码(除了为确保兼容性的历史遗留)才是合理的技术决策。
怎么说呢,在这种开发者体验问题上,node 核心团队一向冥顽不灵。当年就拒不支持 promise 化的 API。然后也一直拖到很晚才实现 Web 兼容API(比如 URL、TextEncoder/Decorder等)。Deno、Bun 都拥抱 TS 了,nodejs 反过来还在给 TS 开发者拖后腿。
#1024一起掘金#展开评论点赞 - 家人要买电器,转了篇知乎文章给我,标题是《【纯科普】自费万元除湿机测评:XXXXXXX谁才是除湿王者?整合新手必看选购技巧,良心亲测实力除湿机推荐TOP3!》。我一看就确定又是软文,因为它top3里排第一的是个从来没听到过的品牌,google一搜,只有不到100个结果,都是最近1、2年的,而且它之前从来没做过除湿机,只做过一些「破壁机」之类的小家电。这种文章套路就是把要吹的牌子放top1,然后后面拉两个大品牌垫背(这篇放的是松下和德业,松下不用说,德业是专业做除湿机的)。一些比较鸡贼的软文甚至会故意不放在top1。这软文的作者也一点不藏着掖着,他账号简介直接放了商务合作号和mcn机构。我以前买东西常常参考知乎的评测,然而这两年知乎这种软文太多,而且是官方直接下场的,真正的独立测评大概都就被劣币驱逐良币了。需要说明的是,我本身并不是不愿意尝试新品牌,我之前买了两台除湿机也参考了知乎的一些文章,都不是传统大牌,然而虽然已经有了警惕,但事实证明我还是严重低估了知乎现在所谓评测文章的下限,最后都是退货了事。于是知乎评测文章对我来说现在只能用于反向指标了。展开赞过43
- Windows上的浏览器原来还有这样的bug,而且4年了还没修好。最神奇的是只有FF/Chrome才有这bug,而Edge却没有,让人不禁怀疑这是微软故意挖得坑……
github.com
bugs.chromium.org
bugzilla.mozilla.org
展开评论点赞 - 第98次TC39会议将在本月末召开。我们定于今天下午五点进行第二十五次JSCIG会议,继续相关讨论。比如 `!in` 和 `!instanceof` 提案(此提案的动机包括有田野调查表明 `!x instanceof C` 这种错误写法居然比正确写法 `!(x instanceof C)` 还多
)
会议 ID:860 277 228
会议链接:vc.feishu.cn
本次计划讨论以下主题:
- throw expression for Stage3
- base64 streaming 问题(github.com )
- decimal update, withdrawn of operator overloading and numeric literal suffix
- withdraw `symbol.thenable` (github.com ?)
- `!in` `!instanceof` for stage1
- import attributes stage 3 update
- iterator helper 后续提案
- type annotation 更新
- revive `export default from "xxx"`
- stop coercing things Part 2
- Structs and shared structs 更新
更多会议信息见github.com。
展开评论点赞
![[偷笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_20.7a46372.png)
)