MicroMatrix

我的博客

日常的项目开发中,有一些文件会随着你的本地环境而改变。例如 package-lock.json 等文件会在你安装的时候,根据你版本的不同而改变。虽然package.json会指定版本的访问,但是有时候还是会出现一些 BUG,使得版本不兼容。为了不影响别人的环境,那么这种文件不想记录他的修改,该如何做

阅读更多 »

日常开发中,经常会遇到手写板的需求。对于大部分人来说使用 canvas 画布是最为方便的,而且也能很好的节省性能。这里在可汗学院学习的时候发现他们的答题手写用了 svg 的实现方法。这十分巧妙。不用考虑题目如何在 cavnas 画布上渲染了。 实现大致逻辑 通过鼠标的坐标绘制 svg 标签中的 pa

阅读更多 »

在开发涉及多步骤的前端流程时,传统的“硬编码”方式会导致代码耦合度高、流程不易扩展、维护成本大。当我们希望在流程中增加或修改某个步骤时,常常需要在多处改动代码,这不利于项目的长期维护。为了克服这些问题,我考虑使用责任链模式和工厂模式来优化这类需求。责任链模式能够将每个步骤解耦,使每个步骤独立处理,互

阅读更多 »

前言 Next.js 除了在 vercel 上部署之外,更多的是部署在自己的服务器上,为此官方提供了 Docker 的打包运行方式。这里分享的是如何优化打包的 Docker 镜像大小。 新建默认项目 安装官方的命令建立项目。 npx create-next-app@latest 然后在项目根目录新

阅读更多 »

对于新手 react 玩家来说,了解常用的 React Api 是一件重要的事情,这篇文章可以帮组你很快的了解常用 Api,帮助你在开发中快速而有效的完成任务。 React 中常用的五个 Hooks useState 用于在函数组件中添加状态,状态的更新会触发组件重新渲染。 示例: import R

阅读更多 »

const 的妙用 在日常开发中,经常能看到这种 const ROLE = {} as const 。 原来使用as const 主要是为了在 TypeScript 中将对象 ROLE 的属性设置为只读。从而增强安全性,此外还能帮助 TS 推到更精确的类型。 同时在使用的过程中使用 ROLE[”xx

阅读更多 »

在当下这个通信技术高速发展的时代,网站的出现拉近了用户和商家,用户与用户之间的距离。这也滋生了一些黑色产业,对网站进行攻击获取数据,瘫痪网站以获取不法收入。 这篇博客,我们将探讨网站安全的方方面面,从基础的防护措施到应对复杂攻击的策略。帮助开发者构建一个安全性高的网站应用。 跨域攻击 现如今的网站应

阅读更多 »

前言 在日常开发中,可能会不小心将.env等配置文件上传到 GitHub 仓库。即使删除了这些文件,历史记录中仍能看到其内容,这对隐私可能带来风险。这里有两种处理方法:1) 删除.env文件并清除历史记录,2) 仅取消跟踪该文件,适用于配置内容不重要且项目不公开的情况。 方式一: # 切换到一个脱离

阅读更多 »

在开发现代Web应用时,加载提示是一个不可忽视的小细节——它不仅能提升用户体验,还能避免让用户在等待时“焦头烂额”。但说到加载动画,大家往往会想到图片、GIF或者其他需要大量资源的方式。那么,如果我们不用这些沉重的资源,能否创造出既轻量又炫酷的效果呢?答案是肯定的!今天,我们就来聊聊如何用SVG和V

阅读更多 »

前言 今天服务器一直提示资源异常,一看发现空间 32G 快用完了,一层层查询下去发现是 docker 容器overlay2目录占用了大量空间。下面是清理的方法。 查看服务器内存大小 # -T:可以用来查看分区的文件系统。 # -h:表示使用「Human-readable」的输出,也就是在档案系统大

阅读更多 »