2015年12月至今年6月,我在猫眼做的开发基本都是桌面浏览器项目、B 端产品,技术栈是 Node.js/Koa + Webpack + React.js。从今年7月份开始,趁着一个新的 C 端项目的启动,自己转而投入到移动端 web 开发中。
C 端产品与 B 端产品差异巨大。
2015年12月至今年6月,我在猫眼做的开发基本都是桌面浏览器项目、B 端产品,技术栈是 Node.js/Koa + Webpack + React.js。从今年7月份开始,趁着一个新的 C 端项目的启动,自己转而投入到移动端 web 开发中。
C 端产品与 B 端产品差异巨大。
记录一个小命令,涉及到两个比较基础的概念:OpenSSL 和 base64 编码。
OpenSSL 包含一个命令行工具用来完成 OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。
—— 百度百科Base64 是一种任意二进制到文本字符串的编码方法,常用于在 URL、Cookie、网页中传输少量二进制数据。
—— 廖雪峰的官方网站 - base64
职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的,而职业生涯却是属于你自己的。
—— 厄尔·南丁格尔
简单记录一下 MySQL 的最基本的操作命令。
什么场景下需要关心数据的变动?
Observable 是 TC39 提给 ECMAScript 的一个标准库提议,目前仍处于 Stage-1 草案阶段。根据 tc39/proposal-observable 的说明,RxJS 是当前对于 Observable 草案的一个实现。
今日突发奇想,想在命令行下播放音乐。找到了一个现成的程序,SoX(Sound eXchange)。
Mac 下面执行下面的命令即可安装:
1 | brew install sox |
安装好之后,可以通过 play
命令来播放音乐(这首歌是在我博客另一篇博文HTML5 audio 实验里面用的音乐):
1 | $ play ~/Downloads/naruto_xia_ri_xing.mp3 |
效果如下:
1 | play ~/Downloads/naruto_xia_ri_xing.mp3 repeat 0 |
repeat
后面加上希望循环的次数,0表示无限循环。任何时候想要停止,按下 ctrl c
即可。
注意到这个事情,是因为今天在工作中发现了由此导致的一个构建问题。我在某个项目A上进行开发,该项目依赖了一个公共组件C。C是由其他同学负责维护,里面的JS源码、以及由 ES6 编译为 ES5 之后的部分文件名,是大写开头的(当然了,我个人是习惯于总是小写命名文件,用连字符处理长文件名情形),但是有个文件在创建的时候,用了小写开头的:pick.js
,但是在引用的时候,是这样的:
1 | import * from './Picker.js'; |
由于我们所有的开发人员都是配 Mac,因此在开发环境中,并没能发现这个隐藏的错误。只是在 A 项目中,发现这个文件是找不到的(我们使用了 webpack 进行构建):
1 | Module not found: Error: Can't resolve './Picker' in 'some-file' |
最后,通过修改文件名,就解决了这个问题。
翻译自 Hypertext Transfer Protocol Version 2 (HTTP/2) 的简介:
HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. It also introduces unsolicited push of representations from servers to clients.
HTTP/2 可以提升对网络资源的使用效率,并且通过压缩头部、在同一个连接里多路复用,来减少网络等待时间。HTTP/2 还引入了服务器推送的技术。