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

简介: 🔥强烈推荐1. 字节自研构建工具 Rspack 发布发布后就刷屏了朋友圈,logo是一只可爱的小螃蟹(如下图)

🔥强烈推荐

1. 字节自研构建工具 Rspack 发布

发布后就刷屏了朋友圈,logo是一只可爱的小螃蟹(如下图)

image.png

image.png

不过笔者更喜欢上面的表情包Hh

上手简单体验了一下,build 确实很快

pnpm create rspack@latest

image.png

devServer 部分应该是基于webpack-dev-server做了封装定制

image.png

看到日志风格感觉久违了,仿佛回到了初学webpack时,生配各种loa 感觉比较合适由框架封装一层后使用,比如官配的 Modern.js

期望不是KPI项目(Rust赶紧学起来xdm)

2. Deno: 你可能不需要build步骤

这篇文章是 Deno(一个JavaScript运行时) 官方博客最近输出的

  1. 在很早之前页面只需要 html + script标签 引入一些js即可工作
  2. node出来之后,允许开发人员用js编写后端,于是只需要掌握js就可以构建完整的应用

下面是列举的一个构建工具诞生时间线

image.png

到今天还要加个 Rspack,相信未来还会诞生,

构建工具大概做4件事:编译,压缩,打包,代码拆分

你使用 Deno 和 fresh 的话可以没有build

笔者看来,目前前端工程有很重的历史包袱也就是技术债,一些工具的出现主要就是解决巨石应用构建的问题

想要从根本上解决(完全重构)比较难

🔧开源&工具

3. Node.js Toolbox

网站分类整理了Nodejs生态流行的工具包

image.png

例如:HTTP Clients 分类

![](https://im

g.cdn.sugarat.top/mdImg/MTY3ODUyOTM3MzUxMA==6

4. hel-micro - 模块联邦sdk化微模块方案

image.png

上个demo看一下

import { preFetchLib } from 'hel-micro';
async function ran(seed) {
  const mod = await preFetchLib('hel-lodash'); // 首次加载触发模块下载,之后会从hel-micro缓存获取
  const num = mod.myUtils.num.random(500);
  return num;
}

体感上像 import(remoteSource)

5. 2个 gpt 网页皮

近端时间各种各样的套壳GPT 应用出来了,这里分享2个本周 Star 的皮肤

Chanzhaoyu/chatgpt-web

image.png

light-gpt

image.png

可自行fork 然后配上自己的API Keys 运行

📚文章&资讯

6. 为什么turborepo要从Go迁移到Rust

turborepo 是一个适用于 JavaScriptTypeScript 的高性能构建系统

image.png

准备将项目之前 Go 实现的部分逐渐迁移到 Rust

文章阐述了一下迁移原因,大概以下几点:

  • 最初选 Go 是因为 esbuild (懂的都懂)
  • Go 的优势在于数据中心的网络计算
  • Go 许多错误在运行时才能捕获,其它语言可以在编译时捕获
  • 比如文件权限:Go可以设置类unix风格的文件权限代码,但win上不会有效果,rust 可以在编译win平台时就做到抛出错误
  • Rust 不断壮大的生态系统
  • 针对C、C++的扩展支持,Rust可以更简单

7. 使用云函数一分钟搭建 OpenAI 免翻墙代理

看了一下原理也简单:

🐧云函数支持多地区,选一个非大陆的地区部署一个云函数,单纯负责API转发即可

下面是核心代码

const express = require('express')
const {
  createProxyMiddleware
} = require('http-proxy-middleware');
const app = express()
const port = 9000
app.use('/', createProxyMiddleware({
  target: 'https://api.openai.com',
  changeOrigin: true,
  onProxyRes: function (proxyRes, req, res) {
    proxyRes.headers['Access-Control-Allow-Origin'] = '*';
  }
}));
app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

8. 成长故事|一名业务前端的这8年

本文是一个业务前端对如何支撑好业务,以及在这过程中如何获得个人成长的总结。一些心路历程的变化可能不是在某个瞬间,而是在实践过程中潜移默化形成的。

笔者大概扫了一下,在大厂的同学可以套一下自己的角色进去,估计职业路径大差不差

相关文章
|
5月前
|
存储 人工智能 前端开发
视野修炼-技术周刊第61期
🔥强烈推荐 1. 2023年🧑‍💻工程师的 Mac 工具箱 Arc - 浏览器, Warp - 终端, Raycast - 启动器,Orbstack - 容器,Setapp - 软件订阅,CleanShotX - 截屏,OBS - 录屏推流,Gifox - Gif图制作, 1Password - 密码管理器,Bartender - 菜单栏管理,Downie - 视频下载,IINA / Infuse - 视频播放器,iRightMouse - 鼠标右键增强,PopClip / Bob - 鼠标工具 Arc 和 Warp 目前笔者一直在用,其它的看着也还不错,按使用场景可以试试 作者:粥里
|
5月前
|
人工智能 Rust JavaScript
视野修炼-技术周刊第51期
🔥强烈推荐 1. 🍉 CEC-IDE 本周技术圈的大瓜,对外宣传自研 IDE,实际上是 VS Code 的换皮
|
5月前
|
人工智能 前端开发 小程序
视野修炼-技术周刊第58期
🔥强烈推荐 1. LocalSend - 开源的跨平台文件传送软件 不需要互联网连接,依靠共享 Wifi 分享文件。
|
5月前
|
人工智能 JavaScript 安全
视野修炼-技术周刊第52期
🔥强烈推荐 1. 极速图片压缩器 软件特色 具有超快的压缩速度 支持压缩 GB 级别的超大体积的图片 支持 7 种图片格式 支持原始图片预览 支持【鼠标拖拽】【点击选择】【ctrl + v 粘贴】 等多种方式添加图片 支持添加文件夹,可自动解析文件夹内所有符合要求的图片 实时显示压缩进度 完全在本地执行压缩,有无网络均可,不上传图片,充分保证隐私安全
|
5月前
|
前端开发 程序员 数据库
视野修炼-技术周刊第26期
🔥强烈推荐 1. 一个程序员决定写代码到60岁 “人物采访总结”,讲了一位阿里大牛的成长历程(做数据库的),再过几年就60了,仍在一线编码 推荐大家阅读一下,大佬的路虽不可以复制,但部分经验可以借鉴 🙊
|
5月前
|
前端开发 JavaScript 安全
视野修炼-技术周刊第40期
🔥强烈推荐 1. 从浏览器到 Node.js 环境,一文彻底搞懂前端沙箱 文章摘要: 本文介绍了什么是前端沙箱,以及通过浏览器和Node.js环境来实现前端沙箱的原理和方法。同时还对代码注入的安全问题、with关键字、eval()和Function方法等进行了详细的讲解,最后也提到了Node.js建立安全的隔离沙箱的难点和解决方案。 文章总结: 本文深入浅出地介绍了前端沙箱的概念和实现方式,同时还详细讲解了相关的安全问题和注意事项。通过学习本文,读者可以更好地了解前端沙箱的重要性及其应用场景,同时也可以提高代码安全性。
|
5月前
|
Web App开发 人工智能 前端开发
视野修炼-技术周刊第64期
🔥强烈推荐 1. VueDraggablePlus - 祖师爷推荐拖拽库 支持 Vue2 和 Vue3 的拖拽组件库。祖师爷力荐🔥
|
5月前
|
人工智能 前端开发 JavaScript
视野修炼-技术周刊第44期
🔥强烈推荐 1. ECMAScript 2023 正式发布,有哪些新特性? 从头到尾搜索数组:findLast() 、findLastIndex() Hashbang 语法 通过副本更改数组:toReversed()、toSorted()、toSpliced()、with() Symbol 作为 WeakMap 的键 这个在之前一期有介绍过,上周正式发布,配一下babel生产上就能用起来了
|
5月前
|
Web App开发 人工智能 Rust
视野修炼-技术周刊第46期
🔥强烈推荐 1. killport - 优雅的结束占用端口的进程 一个 Rust 语言写的命令行程序,可以杀死占用指定端口的进程。 通常我们在开发过程中,会遇到端口被占用的情况 常规方式需要如下两步(① 查找占用端口的进程 ② 杀死进程)
|
5月前
|
人工智能 IDE 开发工具
视野修炼-技术周刊第45期
🔥强烈推荐 1. Sass 支持直接在浏览器中编译 Sass Playground与Web IDE等场景不再依赖服务器来编译Sass。 使用方式也非常的简单,使用 script module,仅需2行代码即可使用。