Travis CI 持续部署静态站方案

这两天在想 GitHub Page 部署的最佳实践。本站之前的部署方案,是通过在 VPS 上创建 Git 仓库后,再把生成的静态文件同时 Push 到 GitHub Page 和 VPS 的 Git 仓库。其中,VPS 上的 Git 仓...

Docker 容器化应用

最近看了一篇博文,大受启发,也想着手尝试把自己 VPS 上的应用容器化,一方面尝试下新的开发方式,另一方面也便于应用迁移。 Dockerfile Docker 通过 dockerfile 配置来把应用构建...

展望 2017

看完李安的《推手》,迎来了 2017 年的第一天。这算是新的一年里的开篇吧,就不写代码了,看社区里很多同行在做过 2016 年的总结,或是新一年的期望。对过去一...

2016 前端补习 Yarn 篇

目前使用最广泛的 JavaScript 的包管理工具应该是 npm,可以说是非常时髦的工具。但是在前端圈子,三岁就得叫爷爷,拳怕少壮,不久前 Facebook 和 Google 等联手推出了新的包...

2016 前端补习 Webpack 篇

对于前端开发者而言,2016 又是一个风不平浪不静的一年。今年新冒出的框架工具,如果不是专职前端或全栈,估计现在和我是差不多的状态,一脸懵逼外...

CORS 跨域调试记录

之前写了篇关于 JSONP 和 CORS 解决跨域请求的博客,在最近和深圳凹凸团队前后端联调时实打实的实战了一把 CORS。还是应了纸上得来终觉浅的老话,因为实际运...

理解 Python 生成器

在 Python 里创建一个有一定规律的序列,很直观的做法就是在循环里创建序列的各个元素。但 Python 有更加符合 Pythonic 风格的做法,就是用生成器来实现。 举个被写滥的例子...

LeetCode 26-30

三个月没上 LeetCode了,最近工作不顺心,好想被虐个痛快,接着写 LeetCode 第 26 至 30 题。 Remove Duplicates from Sorted Array 第 26 题 Remove Duplicates from Sorted Array 给定一个有序数组,去掉其中重复的...

敏捷开发实战:AOP + 反射

双十一前遭到产品突袭,要把非自营商家的处方药购买流程改为预约流程(出于某种考虑),内心一万只草泥马呼啸而过,那么多接口只给几天时间怎么改的过...

JUnit + Mockito 单元测试的风云际会

JUnit 是 2015 年 Java 开发者引用最多的库,是 Java 单元测试框架里无可争议的 No.1。JUnit 基本上能覆盖大部分接口的测试,但如果待测接口依赖外部服务,比如...