
mysql基础
mysql基础增删改查

给Linux添加swap
服务器炸了

ref及其底层原理
本文澄清了Vue3中ref的实现原理,指出其底层与reactive一样基于Proxy,而非Vue2的Object.defineProperty。ref的设计主要是为了解决reactive无法处理基础类型的问题,通过将值包装为.value对象实现响应式。文章通过示例代码展示了ref的简化实现原理,并总结ref本质上是reactive的语法糖,最终都基于统一的响应式系统架构。

深入浅出了解vue3的响应式原理
Vue3的响应式原理核心是通过Proxy代理对象,在get时收集依赖,set时触发更新。具体实现: reactive函数创建Proxy对象,拦截get/set操作 effect函数注册副作用回调,执行时会被暂存到activeEffect get操作时通过track收集依赖,将effect回调存入WeakMap结构 set操作时通过trigger查找依赖,执行对应effect回调 整个过程建立了"属性-依赖"的映射关系,实现数据变化自动更新 这种机制使得Vue3能够高效追踪数据变化并触发相

实现一个类zustand公共状态库
本文探索了React状态管理的新方式,通过分析useSyncExternalStore Hook实现类似zustand的轻量级状态库。作者创建了一个createStore函数,利用订阅者模式监听状态变化,并使用useSyncExternalStore连接React渲染机制。该方案相比传统Context方案更简洁,展示了React 18状态下管理库的设计思路。文章以计数器为例演示了实现过程,包括类型定义、状态更新和组件订阅,为理解现代状态管理库原理提供了实用参考。

浏览器缓存策略机制
本文介绍了浏览器资源缓存的三种策略:强缓存、协商缓存和不缓存。强缓存通过Expires或Cache-Control实现,命中缓存时直接返回200状态码;协商缓存通过Last-Modified/If-Modified-Since或ETag/If-None-Match判断,命中时返回304状态码;不缓存则每次都请求最新资源。作者通过Koa示例代码演示了三种缓存策略的实现方式,并建议在性能优化时优先考虑强缓存,其次是协商缓存,最后才是不缓存策略。文章还提供了测试方法,帮助开发者通过浏览器控制台和开发者工具验证缓存

linux服务器初始化
服务器初始化设置 ubuntu

mysql进阶1 连表查询
mysql连表查询及示例

React使用i18n多语言
react使用i18next多语言开发

我的第一篇日志
remark一下