在 2019 年 3 月 30 日,我去参加了 Elastic 社区第三次线下活动广州站的分享会,活动简介:Elastic 社区第三次线下活动广州站 。看到各位行业顶尖分享者的分享,不能说受益匪浅,至少给我打开了一些思路,拓展了我的知识面,同时我也学到了一些知识,既包括技术方面的,也包括处事方面的。这篇博文就简单记录一下这个过程。
FFmpeg 使用总结
FFmpeg 是一款开源的软件,可以进行多种格式的视频、音频编码转换、片段剪辑。它包含了 libavcodec – 这是一个用于多个项目中音频和视频的解码器库,以及 libavformat – 一个音频与视频格式转换库。FFmpeg 这个单词中的 FF 指的是 Fast Forward。FFmpeg 官网:https://ffmpeg.org ,下载时会跳转到这里:https://ffmpeg.zeranoe.com/builds ,请选择合适的版本下载使用。本文记录 FFmpeg 的使用方法,基于 Windows X64 平台。
分别 是为了再次相聚
这是我还在大学读书的时候,有一年过年回家,组织了高中同班同学的聚会,其实主要目的就是一起吃个饭,玩半天,交流一下。我还隐隐约约记得当时提前约好了十几个人,然后到了当天早上再确认的时候,只有八个人能来了,刚好凑一桌。那次一别,以后再也没见过,只在微信上聊过,大家天各一方,有的求学做科研,有的成家立业。而如今,当我碰巧再拾起这段文字的时候,只觉得沙流指尖,微风拂面。
当然,我再也写不出这么稚嫩的、无病呻吟的文字了,因为现在整天在写代码,我的思维也变化了很多。
最近三年,在工作环境中经历了多次的相聚离别,现在年后又是离职大潮,刚好整理出这篇旧笔记,提醒自己的成长之路。
使用 Valine 给 Hexo 博客添加评论系统
我的博客已经搭建得差不多了,一些配置也固定下来了,最近重点一直在补充博客内容,把以前的笔记都整理出来。然后有一天我就想,好像总感觉少点什么,发现评论这个功能是没有的。以前是为了追求简洁的风格,而且评论这个功能不稳定,主要是评论系统不好选择,很多都关闭了。思前想后,考虑了好几天,最终还是决定先加上评论功能,实验一阵子,看看有没有必要,后续再决定是取消还是继续,反正也就是改一下配置就行了,没有多大工作量。接下来查了一下当前还活着的评论系统的种类,最后选择了 Valine 这个评论系统。它不需要登录,无后台管理,非常简洁,比较符合我追求的理念。参考相关内容:https://github.com/xCss/Valine 、https://valine.js.org 、https://leancloud.cn 。
Git 客户端设置 Windows 下的字符编码
在 Linux 以及大多数托管网站上,默认的字符编码均是 UTF-8,而 Windows 系统默认编码不是 UTF-8,一般是 GBK。如果在 Windows 平台使用 Git 客户端,不设置 Git 字符编码为 UTF-8,Git 客户端在处理中文内容时会出现乱码现象,很是烦人。但是,如果能正确设置字符编码,则可以有效解决处理中文和中文显示的问题。大多数技术从业者应该都遇到过各种各样的编码问题,后来渐渐习惯了使用英文,尽量避免中文,但是也有一些场景是必须使用中文的。本文就记录解决 Git 中文处理和中文显示的问题的过程,系统环境基于 Windows7 X64,Git 基于 v2.18.0。
使用 Github 的 WebHooks 实现代码自动更新
我的静态博客为了百度爬虫单独部署了一个镜像,放在了我的 VPS 上面【在 vultr 购买的主机】,并单独设置了二级域名 blog.playpi.org。但是,每次 GitHub 有新的提交时【基本每周都会有至少三次提交】,为了及时更新,我都会登录到 VPS 上面,到指定的项目下做一下拉取更新的操作,即执行 git pull。这样操作了三五次,我就有点不耐烦了,自己身为做技术的人,怎么能忍受这个呢,做法既低效又不优雅。于是,我就在想有没有更好的方法来实现自动拉取更新。一开始想到,直接在 VPS 起一个周期性脚本不就行了,比如每隔 1 分钟自动执行 git pull,但是立马又被我否定了,虽然做法很简单,但是太不优雅了,而且极大浪费 CPU。后来想到,GitHub 自带了 WebHooks 功能,概念类似于回调钩子,可以给 GitHub 的项目设置各种各样的行为,满足一定的场景才会触发【例如当有新的 push 时,就会向设置的 url 发送请求,并且在请求体中携带 push 的相关信息】。我的自动化构建就是这样的原理,每当 source 分支有提交时,都会通知 tavis-ci【这就是一个行为】,然后在 travis-ci 中设置好脚本,自动运行脚本,就完成了自动生成、部署的操作。
根据这个思路,就可以给 GitHub 的项目设置一个 WebHooks,每当 master 分支有提交时【代表着静态博客有更新了】,会根据设置的链接自动发送消息到 VPS 上面,然后 VPS 再执行拉取更新,这样的话就优雅多了。但是问题又来了,满足这种场景还需要在 VPS 设置一个后台服务,用来接收 GitHub 的消息通知并执行拉取更新的操作。我想了一下,既然 VPS 上面已经起了 Nginx 服务,那就要充分利用起来,给 Nginx 设置好反向代理,把指定的请求转给另外一个服务就行了。那这个服务怎么选呢,当然是选择 PHP 后台了,毕竟 PHP 号称世界上最好的语言, PHP 后台搭建起来也容易。本文就记录从基础环境安装配置到成功实现自动拉取更新的整个过程,本文涉及的系统环境是 CentOS 7 x64,软件版本会在操作中具体指明。