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

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

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

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

发表于:2021-01-09 | 分类: tailwindcss css

每个前端开发者都经常根据业务的进行写着大量重复的 css 样式,写时一时爽,维护火葬场。 随着业务的发展,css 代码会变得越来越多越来越难以维护。 经常会出现 important 强行改变 css 的样式,这样做的唯一好处就是能够符合当前业务需求,但是自己挖的坑,可能是别人哭爹骂娘跪着填上的,而这一切仅仅是因为大量重复的垃圾代码。 css 魔法数字 在代码重构中有一点就是减少你代码中的...

发表于:2021-01-01 | 分类: 总结

2020年的不平凡 错过了回家那趟火车 2020年从2019年的春节开始,就似乎注定不那么平凡。 我错过了回家的火车,那时候疫情初现,事情的一切仿佛不是那么清晰。 我在做好严密的保护工作下,拿着我的行李箱,伴随着行李箱摩擦地面的低吼声,去往火车站。 正当我坐地铁到火车站行程的一半的时候,看着地铁的到站灯,偶然间我又重新看了以下我的火车信息,我发现我的已经错过我的火车一整天。 在这之前...

发表于:2021-01-01 | 分类: 新年愿景

健康,自律 本来以为进入大厂能够解决社会给我的经济压力,没想到只是缓解了我的社会压力,缩短了我承担社会压力的时间,然后却面临着高强度工作时间,高压下的身体健康成为了我唯一的资本。 我一直觉得自律和健康是放在一起的,因为自律能带来健康,我需要保持健康的同时,创造经济价值。 一定要控制住玩手机的时间,上班时间一定要定时休息眼睛,无论需求多忙,无论在干啥,因为身上的担子太重了,所以我不能出现问题。...

发表于:2020-12-27 | 分类: next react ts server

目的 自从前端和后端分离之后,一个产品的实践好像变的不那么容易,因为你必须要找一个懂后端的人,通常是java PHP,这意味开发成本加大。 不过有人可能会说我能力强,node性能太垃圾,然而产品初期最关键的是快速验证想法的可行性(现在觉得vue在这方面做的比react更好)。但是在两个语言之间切换编程总是很别扭。 再谈ssr,刚开始一直不知道什么是ssr,因为想django,egg都会提供一...

发表于:2020-12-13 | 分类: font ttf TrueType OpenType

字体历史 话说在计算机市场刚刚开辟的时候,字体市场 Adobe 一家独大,通过贩卖格式认证赚了很多钱,但是苹果想白嫖 Adobe 自然不干。 于是苹果公司另起炉灶搞起了自己的 TrueType,但是当时已经有了一大批 Adobe 付费用户,自然没必要支持苹果。 然后苹果拉起了同盟,微软,两人情投意合,眉来眼去一起搞起了字体协议。 两人联手把 Adobe 搞的不行,目前市场上最常见的就是 T...

发表于:2020-12-12 | 分类: github ci

> 大家应该都知道 github 是一个白嫖党的福利地,加上它的 GitHub Pages 简直是前端白嫖的圣地 使用方法 在项目根目录创建 .github/workflows/node.js.ynl 把下面的内容粘贴进入就可以快速构建部署到 GitHub Pages 献上小弟的一份白嫖 workflow 文件 name: Node.js CI on: ## 触发时机 p...

发表于:2020-12-11 | 分类: js firefox

报错 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 设置 about:config devtools.source-map.locations.enabled 为 true 具体原因 https://bugzilla.mozilla.org/show_bug.cgi?...