前后端分离的今天,后台提供的API一般都是JSON格式数据,但要知道这只是一种格式选项,其它有很多,比如XML。并不是任何服务通讯,前后端通讯都会使用JSON,一些服务我们也会明确使用XML而非JSON。因此对于两种格式的区别需要明晰,这样才能按需采用。 定义了解一个技术先从命名及发音开始,具 ...
终端下利用Touch ID,Apple Watch实现sudo授权
一直很喜欢Mac的Touch ID及Apple watch的解锁体验,但身为开发,日常还经常会使用到shell sudo,这时也会提示输入Mac密码,于是我在想是不是也可以用Touch ID及Apple watch实现授权呢,惊喜发现还真可以。 配置方式注意:这里因为我要实现同时支持Touch ...
Web性能优化之降低渲染次数
SPA应用的优势本来是流畅化的类App体验,但是随着业务功能的增加,代码逐步变得臃肿,性能也会出现瓶颈,因此就进入一个课题-性能优化。 其中一个优化的手段就是降低渲染次数。 这里以React的实际代码为例,当然Angular,Vue类似。 无论是哪个JS框架,实际上都是动态渲染新Dom,而框架 ...
JIT vs AOT
在玩Angular时候,会遇到这两个编译方式AOT,JIT,但是玩React时却不提及,难道是NG所独有的?当然No,玩java也会提及JIT。这里就聊下两者区别。 如有错误,欢迎斧正。 上定义这里取Angular上的一段解释说明。 JIT:just-in-time Just-in-Tim ...
Alfred实现一键切换Mac上声音输入输出设备
随着围绕着Mac生态的外设越来越多,经常需要切换声音输入输出设备,GUI操作效率太低,于是借着周末时间,做个workflow来提升切换效率。 实现基础调研了一番方案,最终选择了这个工具模块。 https://github.com/deweller/switchaudio-osx 当前的不足当前 ...
React componentWillUnmount的局限性
componentWillUnmount意味着组件即将销毁时触发该钩子,但假如用户直接关闭浏览器tab,则该钩子时是不会被触发的。 这个问题在特定的场景下需要考虑,比如我在做websocket相关开发时,场景是用户进入某详情页,即开启文章topic订阅,当用户切换到其它URL时,该文章订阅即取消 ...
日常高频使用的Alfred workflow
自己对于Alfred实在太爱,以至于一旦发现了自己的一个效率需求,就会研究Alfred的可行性,可行就立即寻找第三方的或者自己定制开发,直到今天,我也已经开发了16个workflow,经验贴也很多,给自己点个赞。 无论是自开发的还是第三方的,大部分我在日常会高频使用,这里share下,兴许可以帮 ...
TypeScript的Enum与ES6的Symbol
JS的基本数据类型在ES6到来时增加了Symbol基本类型,而ES6即ES2015发布也已经5年半时间。 但实际的开发中,我并没有使用过Symbol,因为在TS的语言环境下,我似乎更不考虑用它了,因为TS下有个枚举类型的存在。但认真学习调研后,结论是理解错了。 这里就mark下两者的区别,明晰区别 ...