发表于:2021-06-19 | 分类: js

> 有人的地方就有江湖,有江湖的地方就有包工头 >                    --尼古拉斯张三 单机进程管理的缺点 一个人的力量毕竟是有限的,单机进程管理像下图这样。 看这个图会发现两个问题: 1. 任务分发和进程管理两个服务放在一块耦合过于严重,一上线某一个功能就需要重启所有进程 2. 单机资源是有限的,随着进程增加,就会出现资源不够用的情况 进程管理集群 为...

发表于:2021-05-22

简单的代理对象 给count 最原始的方式绑定数据 add <div id="count_0"> </div> <button id="add_0">add</button> <script> countNode = $('count_0'); addButton = $('add_0'); let value = { count: 1 }; count...

发表于:2021-05-12

使用 karabiner-elemenet 进行mac键盘映射的修改 修改 大写按键 -> esc 修改 control + hjkl -> 方向按键 修改 shift -> 切换输入法 修改 shift + shift vscode 下 -> command + p...

发表于:2021-05-09

koa 动态加载删除中间件。 当我们建立一个具有插件机制的应用的时候需要动态管理中间件。 对于koa可以通过下面代码动态管理中间件。 // pluginManages.ts import Koa from 'koa' export class PluginManags { static app: Koa<Koa.DefaultContext, Koa.DefaultState>;...

发表于:2021-05-09

flex 布局有 align-self 进行垂直个体布局,但是justify-self只在 grid 布局上面生效 通过查阅资料发现在flex 中可以通过 margin:auto 的方式实现单个元素的布局; 实现单个元素相对剩余位置居中布局 相对于后面位置居中 <div class="flex-box"> <div class="item "></div> <div cl...

发表于:2021-04-29

随着开发累计时长的变长,愈发觉得写得快不是证明编程能力的好坏。 代码质量也是非常需要注重的,写代码和写作文是一样的。 所以需要回过头去看看代码怎么写,这个过程本身也是一种代码能力的提升。...

发表于:2021-04-27

请打开console查看结果 function sayHello(){ console.log('hello') } sayHello() button <div id="btn">button</div> <style> #btn{ width: 20px; height: 20px; background: red;...

发表于:2021-01-30 | 分类: js redux

redux redux 是一个函数式的数据流管理库,但是我一直都不了解其实现原理,之前一直用人家封装好的。 根据官网大致理解其运行方式是下图这样的。通过 store dispatch 传入 action 然后经由 reducer 进行数据处理返回新的 state。 我觉得这像观察者模式,然后在内部绑定了一个数据。 验证 为了验证我的想法我翻看了 redux 的源码,精简之后他的代码...

发表于:2021-01-19 | 分类: javascript

当下流行的轮子库,都会提供强大拓展能力。 通常这种拓展能力以调度中间件或者拦截器的形式存在。 为了方便下面统称这类拓展程序能力的代码叫做中间件。 如何能写出一个拓展性强的轮子? 通过学习开源库的代码来学习如何写一个符合自己轮子的中间件。 核心概念 计算机的本质就是进行数据输入和输出,千百年来这个本质一直没有变过,通过中间对数据的处理,获取到想要的数据结果。 比如传入的数据可能是...