视野修炼-技术周刊第51期

简介: 🔥强烈推荐1. 🍉 CEC-IDE本周技术圈的大瓜,对外宣传自研 IDE,实际上是 VS Code 的换皮

🔥强烈推荐

1. 🍉 CEC-IDE

本周技术圈的大瓜,对外宣传自研 IDE,实际上是 VS Code 的换皮

image.png

image.png

上线当天就被喷了,目前相关网站已停止访问,致歉声明来了

image.png


大方承认一下基于开源的也没啥,非要说完全自研(这不妥妥打脸)

2. 天工AI搜索

image.png

国内第一款AI搜索

自动对搜索内容进行总结,全程无广,不过使用需要登录

image.png


🔧开源工具&技术资讯

3. Million(React 的 VDOM 替代品)推出自动模式。

image.png


使用 npm i million 让你的 React 项目「快达 70%」,支持 Next.js、RSC、Vite、Astro 等。

image.png

4. Rollup 计划切换解析器从 acorn 到 swc

方案是直接使用 swc 的 Rust 绑定,将 AST 转换为二进制格式,然后再作为(Array)Buffer 传递给 JavaScript这相比直接传 AST 的 JSON 格式会快很多。

相信在未来,当下流行的构建工具或多或少都会内置一些基于 Rust 实现的工具,在部分环节上提速

不过一般的项目,1分钟和30s差距不大,但是对于一些老项目(基于webpack的),多则20分钟,少则5-6分钟

在追求项目稳定的情况下,很难在底层工具链上做改造,目前基本还是拆子项目,或者换上高性能的构建机器

5. 为什么 TypeScript 不能正确处理 Object.keys()

本文阐述了在 TypeScript 中使用 Object.keys() 遍历对象时的一个报错和优雅的解决办法

下面是一个示例,相信使用 TS 的同学都有遇到过这个问题

image.png

笔者通常会将其设置为 any 来解决这个问题,但是这样会导致丢失类型信息

image.png

报错的原因是因为,在TS的定义在Object.keys 方法的定义如下

interface Object {
  keys(o: object): string[];
}

其返回内容是 string[],而咱们得对象属性是确定的,所以这里会报错

文章作者给了一个规避方法是将其as (keyof typeof T)[]any 优雅一点

const keys = Object.keys(options) as (keyof typeof options)[];
keys.forEach(key => {
  if (options[key] == null) {
    throw new Error(`Missing option ${key}`);
  }
});

当然这里可以提取出一个工具类型和工具方法,方便使用

type KeysOf<T> = (keyof T)[]
const keysOf = <T extends object>(obj: T) => Object.keys(obj) as KeysOf<T>
keysOf({ a: 1, b: 2 }).forEach((key) => {
  if (key === 'a') {
    console.log(key)
  }
})

image.png

6. background-removal-js - 自动抠图 JS SDK

直接通过浏览器实现自动抠图

笔者拿了一张AI生成的图,效果还是不错

image.png

🤖AI工具&资讯

7. GPT-3.5 Turbo 新增微调 API

GPT-3.5Tubo的微调现已推出,GPT-4的微调将于今年秋天推出。此更新使开发人员能够自定义更适合其用例的模型。

一些特定场景可以通过微调来提升模型的准确率,

相关文章
|
4月前
|
JavaScript 前端开发 API
视野修炼-技术周刊第55期
1. disable-devtool - 一行代码禁用 devTool 如题可以用来防止网站被开发者工具调试,打开开发者工具后,页面会自动重定向到指定的页面
|
4月前
|
移动开发 监控 前端开发
视野修炼-技术周刊第25期
🔥强烈推荐 1. 字节前端监控实践 文章较为详细的讲解了,做一个前端监控系统需要解决的关键问题和解决方案 js 异常监控 捕获异常 堆栈反解与聚合 错误自动分配 性能监控 请求&静态资源监控 低沉本的接入
|
4月前
|
JSON 前端开发 JavaScript
视野修炼-技术周刊第22期
🔥强烈推荐 1. 英:纯CSS实现树状视图 利用ul,li,details,summary4个标签实现 其中summary,可以通过open属性控制显隐状态 下面是个最简示例
|
4月前
|
前端开发 JavaScript 安全
视野修炼-技术周刊第40期
🔥强烈推荐 1. 从浏览器到 Node.js 环境,一文彻底搞懂前端沙箱 文章摘要: 本文介绍了什么是前端沙箱,以及通过浏览器和Node.js环境来实现前端沙箱的原理和方法。同时还对代码注入的安全问题、with关键字、eval()和Function方法等进行了详细的讲解,最后也提到了Node.js建立安全的隔离沙箱的难点和解决方案。 文章总结: 本文深入浅出地介绍了前端沙箱的概念和实现方式,同时还详细讲解了相关的安全问题和注意事项。通过学习本文,读者可以更好地了解前端沙箱的重要性及其应用场景,同时也可以提高代码安全性。
|
4月前
|
Web App开发 人工智能 前端开发
视野修炼-技术周刊第64期
🔥强烈推荐 1. VueDraggablePlus - 祖师爷推荐拖拽库 支持 Vue2 和 Vue3 的拖拽组件库。祖师爷力荐🔥
|
4月前
|
人工智能 自然语言处理 文字识别
视野修炼-技术周刊第63期
🔥强烈推荐 1. 前端量子纠缠效果 本周最火的“前端项目”
|
4月前
|
数据可视化 前端开发 JavaScript
视野修炼-技术周刊第60期
🔥强烈推荐 1. 通义灵码
|
4月前
|
Web App开发 前端开发 JavaScript
视野修炼-技术周刊第53期
🔥强烈推荐 1. rome 停止维护 9 月 2 日,Facebook 出品的前端工具链项目 Rome 宣布停止维护,团队相关成员也被解雇
|
4月前
|
人工智能 前端开发 JavaScript
视野修炼-技术周刊第44期
🔥强烈推荐 1. ECMAScript 2023 正式发布,有哪些新特性? 从头到尾搜索数组:findLast() 、findLastIndex() Hashbang 语法 通过副本更改数组:toReversed()、toSorted()、toSpliced()、with() Symbol 作为 WeakMap 的键 这个在之前一期有介绍过,上周正式发布,配一下babel生产上就能用起来了
|
4月前
|
Web App开发 人工智能 Rust
视野修炼-技术周刊第46期
🔥强烈推荐 1. killport - 优雅的结束占用端口的进程 一个 Rust 语言写的命令行程序,可以杀死占用指定端口的进程。 通常我们在开发过程中,会遇到端口被占用的情况 常规方式需要如下两步(① 查找占用端口的进程 ② 杀死进程)