视野修炼-技术周刊第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的微调将于今年秋天推出。此更新使开发人员能够自定义更适合其用例的模型。

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

相关文章
|
JSON 缓存 JavaScript
vue脚手架安装方法——2023年5月28日版本
vue脚手架安装方法——2023年5月28日版本
267 0
|
10月前
|
存储 设计模式 算法
命令模式(Command Pattern)
命令模式是一种行为型设计模式,将请求封装为对象,实现参数化请求、支持撤销操作和记录日志。适用于需要解耦发送者和接收者的场景,如智能家居系统中的遥控器控制电灯开关并支持撤销功能。优点包括解耦、支持撤销与恢复操作,但过度使用会增加系统复杂度。
167 7
|
UED iOS开发 异构计算
用阿里云无影电脑玩《黑神话·悟空》的最佳实践
近期,国产3A游戏《黑神话·悟空》引爆朋友圈,但对于使用MacBook Pro的玩家来说,因设备限制难以畅玩。本文提供了一种解决方案:利用阿里云无影云电脑服务。用户需首先下载无影客户端,订购具备显卡功能的套餐,并通过加载特定镜像快速安装游戏,避免长时间下载。此外,玩家还需根据自身需求配置云电脑参数以降低延迟。尽管此方法可让Mac用户体验游戏,但若追求极致游戏体验,仍建议配备高性能PC。
3901 7
|
消息中间件 Java Unix
MQ产品使用合集之消费订单状态,订单消费待支付消息失败,是否会导致其他订单也没法消费
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
233 1
|
安全 网络协议 网络安全
2023 年度湖南省“楚怡杯“职业院校技能竞赛信息安全管理与评估赛项样题
2023 年度湖南省“楚怡杯“职业院校技能竞赛信息安全管理与评估赛项样题
|
负载均衡 Java 微服务
Java错误:com.netflix.client.ClientException: Load balancer does not have available server for client
Java错误:com.netflix.client.ClientException: Load balancer does not have available server for client
|
网络协议 PHP 网络虚拟化
BGP MPLS VPN(OPTION C)实验笔记
BGP MPLS VPN(OPTION C)实验笔记
463 1
|
SQL Java Android开发
IntelliJ IDEA 使用总结
IntelliJ IDEA 使用总结
229 0
|
Oracle 网络协议 关系型数据库
静默安装Oracle11g(无图形化界面)
准备工作 已经通过安装oracle-rdbms-server-11gR2-preinstall包把环境准备好。
285 0