Practice

用命令行在Linux同步坚果云

坚果云更 Linux 也可以配合的很好。 开启 WebDAV 在坚果云网页端可以找到 WebDAV 的管理界面,开启后就可以得到一个密钥。 有图形界面的操作系统坚果云都提供客户端了,现在我希望添加到坚果云的某个目录的文件能够自动 checkin 到 github,从而实现随时写博客之类的功能。 cURL 读取 WebDAV 目录文件 curl -X PROPFIND --u...

在 MacOSX 上 准备 Jekyll 环境的坑

Jekyllrb还是有必要了解一下。 错误信息 弄了半天把Ruby和Gem环境弄好,运行 bundle install 后报错。 $ bundle install ...

山村咏怀

【宋代】邵雍 一去二三里,烟村四五家。 亭台六七座,八九十枝花。

Docker一篇通

Docker 作为当今最流行的容器技术,我们还是需要紧跟时代努力学习,避免被公司优化掉。本文以轻松愉快的方式介绍了我对容器的认识,需要深入的同学建议多多查阅官方文档。 为啥要 Docker 千言万语不如一张图: 来源: https://www.docker.com/why-docker 简单总结: 更少的部署时间,更高的交付效率 balabala,反正很厉害 老板...

测试左移和开发赋能

从事测试开发那么长一段时间,一直不知道怎么去评价和衡量这个职业的目标是什么,超高的自动化测试覆盖率?或者超稳定超包容的自动化测试框架? 怎么才算得上是一个优秀的测试开发人员?上周有机会去听了阿里 2 天的公开课,好像明白了一些,拿来跟大家分享一下。 内建质量 在微软有一句名言:“质量是设计出来,而不是测出来的。” 当然,这是理想情况,如果产品经理都这么优秀,这个世界早就和平了。 ...

微不足道的改进

今天我说一个很小的故事,不知道对你会不会有启发。 话说有一个历史年代悠久的遗留系统,非常复杂和庞大,每次部署后需要一个漫长的服务启动过程。谁也不知道为什么这个启动过程这么慢,至少要半个多小时。 一天一位萌新工程师被指派去查问题,他问老鸟工程师,为什么这个系统要写那么多log?老鸟说老系统不写log谁知道当时发生了什么,以后多学学。 萌新又问,那为什么要写到nas上面?而且存了好几月...

软件交付的原则

《持续交付-发布可靠软件的系统方法》,部分读书笔记。 为软件发布创建一个可重复且可靠的过程 让软件发布成为一件容易的事情,这是在你开始写一个软件开始前就要想办法达到的目标。只要软件发布简单到点击一个按钮甚至不需要点击按钮就能发布,你才会有动力去持续完善这个软件。 所以一般我在开始开发一个软件时就会考虑它的部署过程,会用到哪些资源,如果更新版本等等问题。 将几乎所有事情都自动化 ...

使用VueJS开发油猴(TamperMonkey)脚本

前面我们介绍过怎么用 VueJS 开发浏览器插件,也知道了它有一个巨大限制,就是需要注册成开发者你才能发布插件到商店。而且你发布的任何插件都需要经过严格的审核才能最终和用户见面。这时候我想你该认识一下油猴了。 关于油猴 油猴全名叫 TamperMonkey,别名也叫 GM。如果说 TamperMonkey 各大插件商店里第二厉害的插件,没人敢说自己是第一了,去搜搜它的下载量和评价你就...

用VueJS写一个Chrome浏览器插件

浏览器基本已经天下大统了,放眼望去都是 Chromium 的天下。那么,能写一个浏览器插件也算是一种回报率不错的技能。 基本知识 浏览器插件官方的说法叫扩展程序,允许你为浏览器增加各种功能,但不需要深入研究浏览器本身的代码。你可以用 HTML,CSS 和 JavaScript 创建新的扩展程序,如果你曾经写过网页,那么写一个插件是非常轻松的事情。 常见的插件一般就是地址栏后面的一个...

反向代理和内网穿透

学习一下正向代理和反向代理。 概念 反向代理看上去看深奥,其实不然,只是因为汉语言文化的差异导致它看上去深奥。一般反派感觉都比较厉害和神秘。 要理解反向代理,我们就不得不说一下正向代理。 正向代理 (Forward Proxy) 所谓正向代理,就是大家通常说的代理。打个通俗的比方,你想跟你舅舅借钱,但不好开口(或者你舅妈会设法阻拦),就跟你妈说。这时母亲大人就是个正向代理。此时...

从手机截图报Bug扯到工具论

我发现手机端的测试怎么截图报 bug 是个不可忽视的小问题,传统的做法真的很烦。在这里我提供一些思路给大家。 自动同步截图文件夹 这是一个看上去很不错的思路,现成有个工具可以达到这个目的:坚果云。 在手机端安装一个坚果云,配置好要同步的截图目录,每次截图后它会帮你自动同步。在电脑端安装客户端后直接就能看到新同步的文件,也可以直接在网页端刷新就能预览。 这个方案的问题: 多...

LeetCode第二题 - 两数相加

LeetCode 备忘。 题目 给定两个非空的链表,分别代表两个正整数。链表中存储的数字和实际的位数刚好相反,要求将这两个数字相加并以链表的结构返回。 举例说明: Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = 807. 假设...

关于吃的几个段子

一 不论台湾,还是西藏新疆, 一寸一厘的国土都不能让, 谁知道上面能长出什么好吃的来。 二 我这辈子, 唯一拿得起放不下的, 就是筷子了。 三 作为入侵物种, 小龙虾在中国颜面扫地, 居然沦落到要靠人工养殖才能活下去…… 如果有外来物种入侵中国成功了, 一定是因为它不好吃。 四 在我国,东西分三类, 直接吃的, 看着好像可以吃的, 得想点办法才能吃...

LeetCode第一题 - 两数之和

LeetCode 备忘。 题目 给定一个整数数组,找出和为指定值的两个元素的下标。举例说明: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. 假设数组中有且只有一种组合可以得到正确答案,并且相同元素不可以重复使用。 解法一 很容易想...

2019年1月书单

一月书单备忘。 ##《凤凰项目,一个IT运维的传奇故事》 作者:Gene Kim,Kevin Behr,George Spafford,软件工程 以小说的形式讲述了主人公如何将一个公司曾经痛苦的业务,开发,测试,运维混乱互相撕逼的状况,实现浴火重生的故事。纯理论的絮叨很多人没办法看下去,故事化以后我只花了3天时间就看完了,而且大概也明白了三步工作法的套路: 第一工作法是从开...