Git快照是什么
需要注意的编码问题
终端下利用Touch ID,Apple Watch实现sudo授权
一直很喜欢Mac的Touch ID及Apple watch的解锁体验,但身为开发,日常还经常会使用到shell sudo,这时也会提示输入Mac密码,于是我在想是不是也可以用Touch ID及Apple watch实现授权呢,惊喜发现还真可以。
配置方式
注意:这里因为我要实现同时支持Touch ID及Apple watch,因此安装以下两个库,只需要一种的,安装目标库及配置即可。
下载这两个仓库,推荐Git Clone方式
install package
在每个仓库目录下执行
1
2$ sudo make install
编辑sudo配置,开启授权
1 | $ sudo vi /etc/pam.d/sudo |
Web性能优化之降低渲染次数
JIT vs AOT
在玩Angular时候,会遇到这两个编译方式AOT,JIT,但是玩React时却不提及,难道是NG所独有的?当然No,玩java也会提及JIT。这里就聊下两者区别。
如有错误,欢迎斧正。
上定义
这里取Angular上的一段解释说明。
JIT:just-in-time
Just-in-Time (JIT), which compiles your app in the browser at runtime.
AOT: ahead of time
Ahead-of-Time (AOT), which compiles your app and libraries at build time.
Alfred实现一键切换Mac上声音输入输出设备
随着围绕着Mac生态的外设越来越多,经常需要切换声音输入输出设备,GUI操作效率太低,于是借着周末时间,做个workflow来提升切换效率。
实现基础
调研了一番方案, 发现选择不多
- 命令行模块有个方案是switchaudio-osx,但不支持AirPlay,作者也不打算支持,改造的话需要C语言开发基础,为此放弃
- AppleScript+Shell,好处是环境Mac内置,无依赖,直接安装运行即可
最终选择了方案2,为此系统学习了下AppleScript,总算搞定,花费也就几个小时。
React componentWillUnmount的局限性
componentWillUnmount意味着组件即将销毁时触发该钩子,但假如用户直接关闭浏览器tab,则该钩子时是不会被触发的。
这个问题在特定的场景下需要考虑,比如我在做websocket相关开发时,场景是用户进入某详情页,即开启文章topic订阅,当用户切换到其它URL时,该文章订阅即取消,因此我将这个取消订阅的动作放在了componentWillUnmount中,但假如用户直接关闭TAB页,则程序无法知道,因此就会BUG。
Why?
直接关闭Tab意味着直接销毁该tab页的HTML,JS,CSS资源,因此react的lifecycle就更不会执行了,因此在实际开发中要意识到该钩子的局限性。