利用Github的Webhook功能进行持续集成

Webhook,也就是人们常说的钩子,是一个很有用的工具.你可以通过定制Webhook来监测你在Github.com上的各种事件,最常见的莫过于push事件.如果你设置了一个监测push事件的Webhook,那么每当你的这个项目有了任何提交,这个Webhook都会被触发,这时Github就会发送一个POST请求到你配置好的地址. 这样你就可以通过这种方式去自动完成一些重复性工作.比如:你可以用Webhook来自动触发一些持续集成(CI)工具的运作. Github开发者平台的文档中对Webh...

如何选购VPS

什么是VPS VPS全称Virtual Private Server(虚拟专用服务器).其实就是物理机上开出的虚拟机. 很多IDC服务商都喜欢给自己的VPS起一个听起来一脸懵逼的名字比如阿里云的ECS,比如腾讯云的CVM等等. 直接说主机或者直接说实例感觉在他们的企业文化里很难接受似的,一定要起个名字. 其实我想原因是AWS这个云服务的鼻祖把他们的机器取名EC2. 有些人不管什么时候都说ECS,就是典型的只用过阿里云的傻缺. VPS虚拟化的分类 目前市场上的虚拟化技术主...

利用Guetzli压缩jpg图片

Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality generated by libjpeg. Guetzli generates only sequential (nonprogressiv...

在Nginx中配置Google-Analytics

原因 在Nginx端配置Google-Analytics和在HTML中加载Google-Analytics有几个显著的有点, 杜绝用户到Google Analytics之间的网络问题,特别是国内(尽管已经解析到Google在北京的服务器) 防止adblock这样的软件屏蔽 提升页面加载速度 配置方法 nginx 配置 server 块内加入以下内容 userid on; userid_name cid; userid_domain moonagic.com; userid_path /; ...

利用OpenSSL加解密文件

openssl包括了大量的对称,非对称,摘要等加密算法,我们可以选用对称算法对文件进行加密,比如3DES,AES. 比如我们要对ocserv-0.11.11.tar.xz进行加密,那么我们可以使用下面的方法 openssl des3 -salt -in ocserv-0.11.11.tar.xz -out ocserv-0.11.11.tar.xz.des3 其中-in是输入文件,-out是加密后输出的文件 之后会提示你输入一个用于加密的密钥,输入一个自己能记住的密码 enter des-ede3-...

使用certbot工具签发泛域名证书

Let’s Encrypt的泛域名证书计划2月27日正式发布,结果临近的时候突然宣布延期了.本以为会像ECC中间证书延期一样等不到了,结果今天一大早就看到了正式发布的消息. 看到了acme.sh已经正式支持泛域名证书签发的消息,结果acme.sh支持的dns验证暂时并不支持我所使用的Google Cloud DNS. 于是尝试使用certbot(这也是一直以来我使用的签发工具). 其实和签发单域名的方法差不多,只是需要多一个--server参数 ./certbot-auto \ --serv...

使用CURL请求HTTPS页面时指定IP

一般在使用CURL请求自定义IP地址并且指定HOST的话可以这样 curl http://127.0.0.1/ -H 'Host: moonagic.com' 但是如果你需要请求的地址是HTTPS的就不行了, curl [IP]:443 -H 'Host:moonagic.com' curl: (52) Empty reply from server curl https://[IP]:443 -H 'Host:moonagic.com' curl: (60) SSL certificate pro...

删除通过pkg安装的程序

Mac下安装程序是非常便捷的. 但是这仅仅是局限于dmg/App安装,当你使用pkg安装了程序而开发者又没有提供卸载工具而你又需要卸载的话就完全摸不着头脑了. 不过我们可以通过pkgutil这个工具来搞定. 我们以mtr这个软件为例,我们并不知道mtr.pkg到底安装了什么文件,那么可以先执行pkgutil --pkgs pkgutil --pkgs com.apple.pkg.OSX_10_13_IncompatibleAppList.16U1254 com.apple.pkg.CustomVo...

Nginx 1.13.9 HTTP/2 server push 介绍

2018年2月20日发布的NGINX 1.13.9开始支持HTTP/2服务器推送功能. HTTP/2规范中定义的服务器推送允许服务器抢先将资源推送到远程客户端,预计客户端可能很快会请求这些资源.通过这样做,您可以在页面加载操作中将RTT(往返时间 - 请求和响应所需的时间)减少一个RTT或更多,从而为用户提供更快的响应. 配置HTTP/2 server push server { # Ensure that HTTP/2 is enabled for the server list...

用于查看git代码库的终端界面工具

我们查看一个复杂项目Git提交记录的时候通常都需要借助GUI程序才能比较方便,因为直接使用终端查看的话难度会随着项目复杂度的提高而指数级提升. 所以诞生了git-fork, Sourcetree等GUI工具. 但目前有了GRV这样的终端查看工具,比git自带的查看方法方便了很多甚至不输上面的GUI工具.