monorepo (monolithic repository) 是一种项目架构(而不是软件架构或设计模式),是一种项目管理手段,简单的来说:一个仓库内包含系统的多个开发项目(模块,包),把所有相关的 package 都放在一个仓库里进行管理,每个 package 独立发布。
通过本博客,你将了解monorepo的概念,以及进行一次采用yarn workspace+lerna的monorepo方案的实践。需要注意的是,本博客并不包含npm版本发布实践的部分。
monorepo (monolithic repository) 是一种项目架构(而不是软件架构或设计模式),是一种项目管理手段,简单的来说:一个仓库内包含系统的多个开发项目(模块,包),把所有相关的 package 都放在一个仓库里进行管理,每个 package 独立发布。
通过本博客,你将了解monorepo的概念,以及进行一次采用yarn workspace+lerna的monorepo方案的实践。需要注意的是,本博客并不包含npm版本发布实践的部分。
之前在另一家公司实习的时候就被微服务架构等一系列词汇搞得晕乎乎的,好在最后也没涉及这方面的事情,也就不了了之了。
最近又刷到了这方面的东西,正好现在公司里有一些相关的事情(在架构上),也正好做一个学习了解,捋一捋微服务(micro-service)、微前端(micro-frontend) 还有一个更摸不着头脑的 “无服务”(serverless) 是什么东西。
在为公司一个老项目配置Prettier和ESLint、StyleLint兼容性设置后,我再次使用 npm install 生成 package-lock.json 时遇到了下面这个错误。
防抖(debounce)和节流(throttle)都用于合并多次频繁的事件请求,使之只调用一次回调函数;不同之处在于防抖要求在请求稳定之后才会调用一次函数,而节流要求必须间隔指定时间才能触发一次回调函数,二者使用场景不同。但从个人体验来说,一般情况下防抖处理的回调函数调用机会比节流处理要更少。
个人管理密码数据库的一些经验,以及配置全平台 KeePass 解决方案的一些心得
一些计算机网络基础知识,主要集中于传输层和应用层协议知识,包括HTTP(2.0)、HTTPS和TCP等内容
本篇文章着重于讨论 JavaScript 语言一些原始的特性(颇有”祖宗之法不可变“的意味的一些语言设计),不过分地关注其实现细节和设计初衷。
注意,这里只讨论 JavaScript 语言本身的特性,而不关心具体实现上的差别(如 V8 引擎的具体实现或 Node 环境与浏览器环境的 API 差别)。
由于 JavaScript 是单线程的,且 JavaScript 主线程和渲染线程互斥,如果异步操作阻塞 JavaScript 的执行,会造成浏览器假死。而事件循环为浏览器引入了任务队列(Callback Queue),使得异步任务可以非阻塞地进行。
使用 Hexo+React 搭建个人静态博客系统的个人经验总结