使用 karabiner-elemenet 进行mac键盘映射的修改 修改 大写按键 -> esc 修改 control + hjkl -> 方向按键 修改 shift -> 切换输入法 修改 shift + shift vscode 下 -> command + p...
koa 动态加载删除中间件。 当我们建立一个具有插件机制的应用的时候需要动态管理中间件。 对于koa可以通过下面代码动态管理中间件。 // pluginManages.ts import Koa from 'koa' export class PluginManags { static app: Koa<Koa.DefaultContext, Koa.DefaultState>;...
flex 布局有 align-self 进行垂直个体布局,但是justify-self只在 grid 布局上面生效 通过查阅资料发现在flex 中可以通过 margin:auto 的方式实现单个元素的布局; 实现单个元素相对剩余位置居中布局 相对于后面位置居中 <div class="flex-box"> <div class="item "></div> <div cl...
请打开console查看结果 function sayHello(){ console.log('hello') } sayHello() button <div id="btn">button</div> <style> #btn{ width: 20px; height: 20px; background: red;...
redux redux 是一个函数式的数据流管理库,但是我一直都不了解其实现原理,之前一直用人家封装好的。 根据官网大致理解其运行方式是下图这样的。通过 store dispatch 传入 action 然后经由 reducer 进行数据处理返回新的 state。 我觉得这像观察者模式,然后在内部绑定了一个数据。 验证 为了验证我的想法我翻看了 redux 的源码,精简之后他的代码...
当下流行的轮子库,都会提供强大拓展能力。 通常这种拓展能力以调度中间件或者拦截器的形式存在。 为了方便下面统称这类拓展程序能力的代码叫做中间件。 如何能写出一个拓展性强的轮子? 通过学习开源库的代码来学习如何写一个符合自己轮子的中间件。 核心概念 计算机的本质就是进行数据输入和输出,千百年来这个本质一直没有变过,通过中间对数据的处理,获取到想要的数据结果。 比如传入的数据可能是...
每个前端开发者都经常根据业务的进行写着大量重复的 css 样式,写时一时爽,维护火葬场。 随着业务的发展,css 代码会变得越来越多越来越难以维护。 经常会出现 important 强行改变 css 的样式,这样做的唯一好处就是能够符合当前业务需求,但是自己挖的坑,可能是别人哭爹骂娘跪着填上的,而这一切仅仅是因为大量重复的垃圾代码。 css 魔法数字 在代码重构中有一点就是减少你代码中的...
2020年的不平凡 错过了回家那趟火车 2020年从2019年的春节开始,就似乎注定不那么平凡。 我错过了回家的火车,那时候疫情初现,事情的一切仿佛不是那么清晰。 我在做好严密的保护工作下,拿着我的行李箱,伴随着行李箱摩擦地面的低吼声,去往火车站。 正当我坐地铁到火车站行程的一半的时候,看着地铁的到站灯,偶然间我又重新看了以下我的火车信息,我发现我的已经错过我的火车一整天。 在这之前...