返回 blog
2023年12月07日
2 分钟阅读

2023年终个人总结

学了什么

  • Rust —— 长期学习中,很喜欢这门语言,很健壮,就是入门有点儿难。网上对rust的评价,基本上都是不看好,觉得这门语言很鸡肋,生态比不上C/C++,开发效率比不上GO。。但是我觉得这门语言集大家之成,随着生态发展,会变得越来越流行
  • python入门 —— runtime类型校验做得很差,lint、format也做得不好,写惯了类型语言,不习惯无开发时类型检查了。个人觉得不适合用来做web开发,容易出错
  • Go —— 为了看懂esbuild源码,学了一段时间GO。不习惯非OOP写法,写起来总觉得不舒服。最难受的是它的包管理,居然是在github上。
  • Java —— OOP挺爽的,但是历史包袱太沉重了,学的时候全程使用的 jdk1.8,因为大部分Java项目都是用的1.8。感觉看Java的项目源码很麻烦,有的时候某个子类修改了父类、或者实现了接口之类的,很难看出来。从0到1写了个商城项目,这个过程中学到了许多后端开发的思想,也让我对前端工程化方面有了一些思考
  • 图形学 —— 门槛很高,看了很久的视频。总结是不要直接上图形学,先去玩玩blender,再从中了解图形学的相关概念
  • C++ —— 打个半✔,在玩图形学的时候,大佬推荐的编程语言都是C++,所以去看了一下,但是可能出于我对C++的抗拒(大学的时候被难倒了),我就没什么兴趣去深入。
  • Blender —— 直接上手blender,比看图形学视频学起来更快,可视化的东西让人更好理解,建议做web 3d开发之前,一定要学会使用blender
  • Threejs —— 就是把blender的手动操作,翻译成threejs的api调用方式,脑子里面要能想象出,每个api调用实现的效果是什么
  • vite 源码 —— 长期学习中,2023年基本上把vite的核心代码熟悉了,对vite内部原理有深刻的掌握后,写插件更得心应手了
  • vite 插件开发 —— 开发过三四个vite插件了。对vite的理解越深刻,写插件越流利
  • vitest 源码 —— 长期学习,看了初版的vitest源码,掌握了其核心原理。因为对mock方面最感兴趣,深入mock,了解到了vitest、jest 运行测试用例的原理
  • vitest-e2e —— 熟悉了vitest的e2e搭建,把我长期维护的项目基本上都加上了e2e测试
  • React 原理 —— 写了两三年React了,成了个熟练的搬砖工,也知道很多现象级的解决方案,但一直没深入到源码中去一探究竟。梳理了React渲染、更新的整个流程

输出了什么

  • vite-plugin-public-typescript —— 优雅插入三方脚本 (已上vite-awesome)
  • vite-plugin-i18n-detector —— 无心智负担的国际化懒加载方案 (已上vite-awesome)
  • create-minko-app —— 一行命令即可生成三种功能齐全的脚手架(vite、next)
  • un-detector —— 强大的浏览器探测库
  • vitest-e2e —— 对e2e测试的封装
  • modern-flexible —— 现代的多设备伸缩库
  • next-fetchx —— 针对next app-router的fetch请求库
  • vite-plugin-ssr —— 贡献中文文档
  • pxtorem —— 支持vite的pxtorem库
  • pxtoviewport —— 支持vite的pxtoviewport库
  • picologger —— 浏览器中打印彩色文字
  • style-object-to-string —— 对象样式转字符串
  • vite-react-ssr-boilerplate —— vite + react + vite-plugin-ssr 的脚手架
  • utils —— 常用工具库,包括
    • axios-pro —— 比axios更强大
    • lodash-pro —— 比lodash更强大
    • postcss-config —— 集成常用postcss配置
    • react-component —— 多端统一的react组件库
    • react-hook —— react常用hook集
    • react-locale —— 一键式react国际化方案
    • react-route —— react配置式路由
    • vite-config —— 集成丰富好用的vite配置

文档

  • 手把手教你搭建一个生产级别的vite + ssr项目
  • viteDevServer原理
  • 懒加载国际化资源
  • ts化三方脚本
  • vitest原理
  • vitest e2e 原理
  • 深入浅出vite/webpack热更新
  • tsx原理
  • react原理

2024 TODO

  • 做一个完善的个人网站
  • 用 framer-motion 封装动画库,并配套相应的在线文档
  • 写一个简单的React状态管理库,context-state不支持hmr,不太nice
  • 深入nextjs原理
  • 深入vercel周边生态,包括但不限于turbo、swr
  • css原子化原理
  • lightingcss
  • Rust 达到写前端工具链的能力
  • Go 再尝试写一写,如果还是不习惯,就放弃了,强扭的瓜不甜
  • Blender 学会所有基础操作,并实现一些建模
  • Threejs 达到可以实现真实需求的能力
  • Nuxt?vue3?不确定

!!! 我没忘记,我有个目标是 做一个github star达到2048的库