关于归并排序

概述

归并排序(Merge-Sort),由冯诺依曼于 1945 年发明,是分治法(Divide and Conquer)的经典案例。

JavaScript 实现

代码思路比较清晰:

  • 首先,需要一个执行合并有序数组的函数(将两个有序表合并成一个有序表,称为二路归并)。
  • 然后,对需要排序的数组进行拆分,分别对左右两个子数组进行归并排序,然后合并。这样就形成了递归

Read More

Share

关于脚型与选择足球鞋

我的脚型属于前脚掌比较宽的,耐克的鞋里目前发现刺客比较合脚,一图胜千言(图里的B是刺客):

Share

初涉 Mobile Web 开发

2015年12月至今年6月,我在猫眼做的开发基本都是桌面浏览器项目、B 端产品,技术栈是 Node.js/Koa + Webpack + React.js。从今年7月份开始,趁着一个新的 C 端项目的启动,自己转而投入到移动端 web 开发中。

C 端产品与 B 端产品差异巨大。

Read More

Share

Charles 的配置

目录

  • HTTPS 抓包配置
  • Charles 请求映射(Proxy Remote Mapping)
  • iOS 设备配置证书

Read More

Share

OpenSSL and Base64

记录一个小命令,涉及到两个比较基础的概念:OpenSSL 和 base64 编码。

OpenSSL 包含一个命令行工具用来完成 OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。
—— 百度百科

Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据。
—— 廖雪峰的官方网站 - base64

OpenSSL 可以将任意 PNG 图片编码成 base64 字符序列,下面的命令以 in.png 图片作为输入,转码后把 base64 序列输出到 out.txt 文件里。

1
openssl base64 -in in.png -out out.txt

不过有个问题,上面的命令会产生折行(即 line breaks),要想直。要想去掉折行,需要添加 -A 参数:

1
openssl base64 -A -in in.png -out out.txt
Share

《软技能——代码之外的生存指南》笔记

职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的,而职业生涯却是属于你自己的。
—— 厄尔·南丁格尔

Read More

Share

MySQL 基本操作笔记

简单记录一下 MySQL 的最基本的操作命令。

Read More

Share

About Web SPA Data Flow

web应用数据流的类型

什么场景下需要关心数据的变动?

单向数据流

Observable & RxJS

Observable 是 TC39 提给 ECMAScript 的一个标准库提议,目前仍处于 Stage-1 草案阶段。根据 tc39/proposal-observable 的说明,RxJS 是当前对于 Observable 草案的一个实现。

RxJS 的入门级教程

让我们一起来学习 RxJS | 饿了么

参考阅读

Share

Webpack 指南(1. 入门篇)

webpack 基本概念

webpack 是目前非常流行的前端资源(JS/CSS/IMG/…)打包解决方案。它默认按照 ES2015 定义的模块机制来查找、打包文件,即对 importexport 声明进行相应的模块封装,而对于其他代码,则不做任何改动。如果想使用其他的 ES6 特性,现阶段需要借助于 Babel 这样的编译工具。

Read More

Share

Play Music with SoX on MacOS

基本使用

今日突发奇想,想在命令行下播放音乐。找到了一个现成的程序,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 即可。

参考阅读

Share