视野修炼-技术周刊第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年

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

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

相关文章
|
开发工具
npm install 卡死问题解决
npm install 卡死问题解决
1231 0
|
存储 缓存 应用服务中间件
No53.精选前端面试题,享受每天的挑战和学习
No53.精选前端面试题,享受每天的挑战和学习
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
618 1
|
缓存 运维 负载均衡
java面试题之个人对正向代理和反向代理的理解
java面试题之个人对正向代理和反向代理的理解
1168 3
|
JavaScript
VUE element-ui之el-tree树形控件勾选节点指定节点自动勾选(指定节点为必选项)
VUE element-ui之el-tree树形控件勾选节点指定节点自动勾选(指定节点为必选项)
1768 0
VUE element-ui之el-tree树形控件勾选节点指定节点自动勾选(指定节点为必选项)
|
数据可视化 搜索推荐 JavaScript
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
1349 0
|
存储 算法 数据可视化
Python 金融编程第二版(GPT 重译)(一)(1)
Python 金融编程第二版(GPT 重译)(一)
182 1
|
网络协议 网络性能优化
VPP二层接口,不是翻墙
VPP二层接口,不是翻墙
|
12月前
|
Web App开发 数据采集 开发者
如何解决ChromeDriver 126找不到chromedriver.exe问题
当使用Selenium与ChromeDriver 126时,遇到`chromedriver.exe`找不到的错误,可能是因为版本不匹配、文件路径错误或系统设置不当。解决方法包括:匹配Chrome浏览器版本下载ChromeDriver,确保文件在正确路径且有执行权限,以及调整系统设置允许执行。示例代码展示了如何设置代理IP、user-agent和cookie来运行Selenium爬虫。通过这些步骤,可以确保爬虫程序顺利运行。
764 2
如何解决ChromeDriver 126找不到chromedriver.exe问题
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等