在 Docker 中用 Jenkins 搭建 Android 自动化打包

Jenkins 是一个持续集成的工具,帮你构建和打包自动化,不用手动做这些操作。构建完成后可以帮你上传到第三方测试平台,或者做其他一些操作。例如:发送邮件通知测试人员可以开始测试了,邮件中包含下载地址,或者二维码。整个流程不需要手动管理,非常高效。

ArchLinux 安装 UEFI + GPT

之前写过一篇 Arch Linux 安装的文章,不过那是使用 MBR 引导的,但是现在很多机器都已经使用上 UEFI 了,这里就是在 UEFI 上的实践。

本篇文章只讲和 MBR 不一样的地方,不然文章会显得啰嗦很长。MBR 安装方式会在文末给出链接,两篇结合起来看会好点。

Arch Linux 安装

今年开始我一直使用 Manjaro ,这是一个基于 Arch 的发行版,有较友好的安装界面。省去了不少折腾,但是这也带来了一些问题,你不知道有些东西是没有必要的,驱动怎么安装,分区怎么分。从头开始会让你更了解 Linux ,虽然这么说,但我还是没有选择折腾,直到最近在升级的时候有线网卡找不到了,一下子和全球的人失去了联系,进入了孤岛,这是多么痛苦的一件事。于是下定决心,折腾一下。

本文不适合一点 Linux 都不懂的小白,至少你有使用过,懂得基本命令。如果你是新手 Manjaro 或者 Ubuntu 可能会适合你。

本文教程需要你准备一个额外的 4G U 盘,制作环境是 Linux。

使用 Appium 做测试

本文使用 Windows7 64bit 操作系统。如果你的操作系统不是 64 位的,不可直接使用下文中提供的地址。但是文末给出了各个软件对应操的作系统下载链接,请根据自己的系统自行选择对应的下载,以免误伤自己,毕竟折腾很容易受伤。

小米路由器刷 Padavan

半个月前,我把小米路由器刷成了 openwrt,使用之后发现很难受。很多软件没办法直接下载,更新源也更了半天更不下来。里面的功能配置起来有些复杂不能开箱即用,用来折腾倒是不错,但是一款路由器是可是互联网的通道,随便瞎搞没了网络,就不好玩了。在折腾的过程中发现了 Padavan。刷上用了一段时间还不错,记录一下。

小米路由器刷 openwrt

我买过两个小米路由器,一个是小米路由器 mini、另一个是小米路由器 R2D 带硬盘的。mini 一直放在家里用,没怎么去折腾。后来买 R2D 是因为电脑的空间剩余不多,买个带硬盘的,把一部分文件放到路由器上。买来后就不断在小米论坛上逛,看看有没有什么好玩的,后来发现了 openwrt。这就开启了折腾之旅,有搭建网站的、下载的、代理的……各种,这就是一台 Linux 电脑啊,很是兴奋也想搞个自己的。

开始在论坛上找各种教程,发现 R2D 的 opkg 居然不能用,试了各种办法都效果不好,最糟糕的是 R2D 居然不能装 openwrt,这就没得玩了。R2D 也就一直充当着一个硬盘的作用,偶尔也折腾一下,看看论坛有没有出能装 openwrt 的教程,等的我心都凉了,以后买路由器想折腾还是不要买小米的。 今年过年回家发现 WiFi 连不上了,跑到放路由器的地方一看,多出了一个白色的家伙,看着也像路由器,研究了一下这家伙确实是路由器,而且还是装宽带送的,这下好了,mini 腾出来了,也就有了下文。

Manjaro 的使用

Manjaro 使用的原因

最近把操作系统换成了 Linux,Linux 发行版众多,选择一个作为日常使用非常纠结。之前折腾过 RHEL 系、openSUSE、都非常不错,不过装 QQ 等国产软件还是比较麻烦,偶然在emacs-china上看到有人推荐使用 Manjaro 于是我就抱着尝试的心态试试,发现还不错。在distrowatch上排名排在第二,人气很高,这就让我放心了,那么多人使用解决问题也会比较方便。真正让我选择它的是在虚拟机上打开 Android Studio 速度比其他发行版快。

使用 SSH 登录服务器

常常和服务器打交道的同志,最频繁的操作就是登陆服务器。每次登陆服务器都要输入密码特别的烦人。 有没有一种办法可以只输入一次密码,以后有都不用再输入密码的办法?如果有多个服务器怎么办?又要输密码吗? 其实我们常常使用 SSH 登录服务器,这个 SSH 就提供了这样的操作,不过需要配置。

Siri 帮我开灯

苹果自从发布了 HomeKit,可以方便的把家里的智能设备连接在一起,结合 Siri 可以说说话就让家里的设备运转起来。但是只有苹果认证的设备才能用,没有认证的还是没有办法使用的。好在有nfarina逆向了苹果的协议,做出了homebridge才使得众多智能设备接入 HomeKit 成为现实。

2017 的我

这一年的变化

  • 比较明显的肚子有些变大,估计也重了不少,总不至于太瘦了。
  • 买了一些硬件,做了一些好玩的东西。
  • 工作之余简单学了一下 Vue、小程序开发,了解了一点人工智能,毕竟这么火不可能忽视。
  • 看了一些书。
  • 从 Vim 转到了 Emacs,也没有完全放弃 Vim,只是可能我以后绝大多数都会使用 Emacs。
  • 写了几篇博客。

使用 Git 管理 SVN 项目

Git 中有一个神奇的功能,他可以让你用 Git 来管理 SVN。两个之间互不冲突,对于喜欢使用 Git 的同志,这是一个非常不错的选择。自从有了它妈妈再也不用担心 SVN 不好用了。

Vue 使用总结

本文基于 Vue 2.0,聊一聊 Vue 的使用。

简单介绍

Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

我个人觉得有基础的人学习 Vue 上手是比较快的,使用也是简单,并且还有完整的生态并且社区活跃,相信学习 Vue 会是一件有价值的事。

Python 之 urllib

之前用 Python 写的一个爬虫,现在用 Emacs 打开,提示找不到 urllib.urlopen 这个函数。调试了半天,就是提示找不到这个函数,但是这个爬虫却能正确执行。于是我打开Dash查看其 API,发现 API 中有这个函数,但是却不是使用 urllib.urlopen 来调用。而是变成了 urllib.request.urlopen ,仔细一看当前查看的是 Python3 的版本,看来是 Python 版本的锅。

openSUSE 下安装 Parallels Tools

Parallels Desktop 是 macOS 上一款优秀的虚拟机软件,支持各种操作系统。然而想要在其上面愉快的使用桌面操作系统,还需要在虚拟机上安装 Parallels Tools 这个工具。在 Windows 上和 Ubuntu 以及 Centos 上安装还是非常简单,然而我在 openSUSE 上尝试却失败了,寻找良久才找到解决方法。遂以此文纪念我踩过的坑,以便给后人提供参考,而不会错过一些美好的事情。

Tmux

做开发经常需要在各种环境中切来切去,回来的时候环境已经变了。Tmux 可以创建多个会话在不同环境中切换,回来的时候还是那个她,熟悉的味道。

树莓派入门

树莓派简单介绍

Raspberry Pi(中文名为“树莓派”,简写为 RPi,(或者 RasPi / RPI)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于 Linux。—— 来自百度百科的介绍

Docker 使用

Docker 简介

Docker 是一个开源的应用容器引擎。可以看成是一个特殊的环境,隔离了宿主机(电脑)和容器。做开发的时候通常会碰到在自己的电脑上没问题,放到服务器或者别人的电脑上就出问题了,通常我们会认为是环境不一致导致的,调试起来非常耗时费力。有了 Docker 这些问题迎刃而解。

经常在 Linux 上做测试的人员,做完测试就不用了。在过去我们会使用虚拟机,这样做不但占据者比较大的磁盘空间,而且运行启动耗时较长,性能不高。但是用 Docker 却可以随时随地启动一个 Linux 的容器,用完就可以删除,下次要用在重新开启一个新的,速度非常快。Docker 比虚拟机来的轻巧,开启和关闭非常迅速,占用的资源少。既然 Docker 有那么多的好处,没有理由不去调戏它。

在 Mac 终端中使用代理

作为一个程序员,天天和终端打交道。可是在 Mac 终端下使用 brew 安装软件却十分慢,即便你使用 ShadowSocks 配置了全局代理,却发现这么做依然没有效果,下载还是龟速。虽然可以通过配置国内的镜像来解决,但是后期下载还是很慢,效果就不好了。