张家界蹭游记之博文

这可能是史上最坑爹的travel blog之一!因为,博主不仅没文化,没情趣,审美观清奇,还不会拍照,不懂曝光,不懂对焦,但是还喜欢装逼!


沾了博主前东家的光,博主蹭了一次全程报销的张家界之旅,只要付了去前东家的滴滴车费12块,然后就可以不花一分钱蹭吃蹭喝蹭住,12块你买不了吃亏,12块你买不了上当!只要12快,前东家的可爱的同事们就可以带博主起飞,博主就这样被保养了两天!


坐完了大巴,然后博主就起飞了,然后,一个半小时后,博主就降落在了张家界的机场上,然后,博主又坐了大巴,然后,就瘫痪在了一家权贵们才能住得起的奢华酒店的大床上,双人床上!


卧槽,十一点半了,博主困了,博主要睡觉了,博主宣布游记写完了!对,没有游后感,什么都没有,只有照片,请大家欣赏博主拍的照片!

thumb_IMG_2075_1024


不对,搞错了,请大家欣赏:


thumb_IMG_2116_1024
thumb_IMG_2120_1024
thumb_IMG_2123_1024
thumb_IMG_2125_1024
thumb_IMG_2126_1024
thumb_IMG_2128_1024
thumb_IMG_2130_1024
thumb_IMG_2133_1024
thumb_IMG_2135_1024
thumb_IMG_2139_1024
thumb_IMG_2141_1024
thumb_IMG_2143_1024
thumb_IMG_2149_1024
thumb_IMG_2154_1024
thumb_IMG_2156_1024
thumb_IMG_2158_1024
thumb_IMG_2160_1024
thumb_IMG_2162_1024
thumb_IMG_2163_1024
thumb_IMG_2169_1024
thumb_IMG_2171_1024
thumb_IMG_2173_1024
thumb_IMG_2177_1024
thumb_IMG_2179_1024
thumb_IMG_2180_1024
thumb_IMG_2181_1024
thumb_IMG_2184_1024
thumb_IMG_2187_1024
thumb_IMG_2203_1024
thumb_IMG_2205_1024
thumb_IMG_2208_1024
thumb_IMG_2209_1024
thumb_IMG_2210_1024
thumb_IMG_2214_1024
thumb_IMG_2219_1024
thumb_IMG_2229_1024
thumb_IMG_2232_1024
thumb_IMG_2233_1024
thumb_IMG_2235_1024
thumb_IMG_2238_1024


最后,那个摸小喵的戴眼镜的流氓不是博主,是博主的校友&前同事!对,没有自拍,因为博主讲究内涵!!!

最后的最后,博主绞尽脑汁,做个诗意的总结吧:啊,张家界真是美如画哈哈哈!


thumb_IMG_2075_1024

求婚大作战影评

这可能是最坑爹的影评之一,因为,博主并没有什么文化!

thumb_IMG_2075_1024

最近在看求婚大作战,大概是博主第二次看日剧,观感不错,很对博主口味。首先引用一个豆瓣的影评。然后,恩,没有然后了,影评完了,对你看完了,博主的影评写完了!

博主不仅没文化,而且还厚颜无耻!!!

thumb_IMG_2075_1024


最后上一些图:


thumb_IMG_2093_1024


thumb_IMG_2094_1024


thumb_IMG_2095_1024


thumb_IMG_2097_1024


thumb_IMG_2098_1024


thumb_IMG_2099_1024

中秋节快乐之博文!

又快到中秋节啦,最近博主的变化比较多,因为睡眠问题严重去医院,医生二话不说让博主做了个抑郁测试,结果医生告诉博主有点轻度抑郁也是醉了,当时博主就想你丫才尼玛抑郁吧,这两天博主运动了下晚上看看书感觉总算稍微好了一点,博主的工作也换了,过完中秋就要去报到啦!希望换个工作环境能把心情和身体状态都调整过来!!!


最后,中秋快乐快乐!


mooncake_day

更换VPS地址

真是坑爹,最近几天VPS服务器的地址ping不通了,麻蛋!!!

不过没有关系,机智的博主更换了一个在日本的VPS服务器!感觉看电影都更方便了呢!


huaji

林李大战之博文

一个时代过去了!博主从04年就看林丹了,看到现在老了十二岁真棒!!


林李大战

单身狗的节日之博文

单身狗的节日博主在干嘛?


恩博主闲的蛋疼去跑步发现跑步都没有以前快了!以前博主可是10公里配速4分半的男人现在不仅不持久了而且还死慢跑了三公里就眼花了真棒😳


Run_Run_Run


恩看看看这是博主以前记录😳


Run_Run_Run_Record

如何使用Github的webhooks服务实现HEXO博客的自动部署

Github的Webhooks服务是什么

简单来说,在Github网站上,你可以设置一些监听事件,当这些事件被触发后,Github会向特定的url地址上发送一个http post请求,一个监听事件需要绑定在一个组织或者仓库上,对于每个组织或者仓库,你最多可以配置20个监听事件。


如何配置Github的监听事件

进入你的Github仓库,点击Settings按钮后,然后点击左侧Webhooks & services按钮,然后再点击add webhook即可出现下图所示界面。首先,需要在Payload URL栏配置url地址,我的博客部署在我买的vps上,所以我只需要配置我的vps服务器的ip地址加上特定的端口号就可以,形如http://***.**.**.**:port/path,当监听事件触发后,github会向该地址发送一个post请求,然后配置content type类型,在secret栏输入密钥,这个密钥在写监听程序的时候需要用到。配置完成后,点击add webhook按钮,一个webhook服务就配置完成了。
webhook_config


如何响应github发出的post请求?

本文以node.js为例,介绍如何写一个简单的服务去响应github的post请求。在阅读之前,可能需要你掌握shell脚本、javascript、node.js的基础,不然可能看不明白。首先,你需要安装github-webhook-handler,执行npm install github-webhook-handler,安装完成后,新建一个js文件,本文是deploy.js,代码如下:

var http = require('http')
var createHandler = require('github-webhook-handler')
var handler = createHandler({ path: '/****', secret: '*****' })//secret一定要和github上配置的一致
// 上面的 path 保持和 GitHub 后台设置的一致

function run_cmd(cmd, args, callback) {
  var spawn = require('child_process').spawn;
  var child = spawn(cmd, args);
  var resp = "";

  child.stdout.on('data', function(buffer) { resp += buffer.toString(); });
  child.stdout.on('end', function() { callback (resp) });
}

http.createServer(function (req, res) {
  handler(req, res, function (err) {
    res.statusCode = 404
    res.end('no such location')
  })
}).listen(6666)//这里看到监听的是6666端口,所以在github上配置的url如果是ip+port的形式,那么port也是6666

handler.on('error', function (err) {
  console.error('Error:', err.message)
})

handler.on('push', function (event) {
  console.log('Received a push event for %s to %s',
    event.payload.repository.name,
    event.payload.ref);
  run_cmd('/bin/sh', ['./deploy.sh'], function(text){ console.log(text) });
  //上面那行代码表示执行本文件所在目录下的shell脚本deploy.sh
    })

js文件完成后,在js文件所在目录下新建deploy.sh脚本,我的脚本内容如下:

#!/bin/bash
PORT=80
CUR_PATH=`pwd`  
WEB_PATH=${CUR_PATH}"/.."
WEB_USER='apple'
WEB_USERGROUP='staff'

echo "Start deployment"
cd $WEB_PATH
echo "pulling source code..."
git reset --hard origin/master
git clean -f
git pull
git checkout master
echo "changing permissions..."
chown -R $WEB_USER:$WEB_USERGROUP $WEB_PATH
NUM=`ps -a | grep hexo | grep -v grep | head -n 1 | awk '{print $2}'` #取出hexo进程的pid
if [ -n "$NUM" ];then
        echo "kill hexo process pid: $NUM"
    kill -9 $NUM
else
        echo "hexo process not found"
fi
HEXO_BASH=`which hexo` 
HEXO_GENERATE=${HEXO_BASH}" generate"            #执行hexo generate命令
HEXO_START_SERVER=${HEXO_BASH}" server -p $PORT &"   #在后台启动hexo服务
echo "HEXO_GENERATE: $HEXO_GENERATE"
eval $HEXO_GENERATE
echo "HEXO_START_SERVER: $HEXO_START_SERVER"
eval $HEXO_START_SERVER 
echo "Finished."

shell脚本完成后,需要安装forever,forever是一个让node.js程序实现自启动的工具,执行npm install forever安装forever。安装完成后,只需要执行forever start ./deploy.js即可让deploy.js在后台启动。至此,github的webhooks服务就配置完了。如果一切正常,当你在本地修改hexo博客内容并向github上push更新时,你的博客所在的服务器就会响应github发出post连接,重新部署hexo服务,这样,你的博客就是你更新后的状态了。当github发送一个post请求时,你可以在github上看到是否成功。
webhook_result

如何用HEXO搭建个人博客

HEXO是什么

首先,HEXO是一个用node.js实现的十分简洁、优雅的博客框架,用它来搭建个人博客非常的方便,HEXO支持Markdown,配合HEXO主题,我们可以使用Markdown快速的写出漂亮的博客。


如何安装HEXO

首先,需要在电脑上安装node.js,如何安装node.js? (最好安装cnpm,可以确保安装速度)。安装完node.js,下面就要进行HEXO的安装,HEXO本身也是一种node.js的第三方组件。安装HEOX很简单,只需要执行npm install -g hexo-cli 。至此,HEXO就安装完成了。


如何使用HEXO搭建博客?

关于这部分内容,请参考HEXO官方文档,毕竟官方文档才是最准确的。