hexo 博客同步管理及迁移

背景:一台电脑上已有一个在用的博客,又新用了一台电脑,实现原电脑和新电脑都可以提交更新博客,实现同步或者说博客的版本管理。

步骤:

  1. 在原电脑上操作,给 username.github.io 博客仓库创建 hexo 分支,并设为默认分支。(具体可参考这篇文章的操作,有图示)

  2. 如果未给你的 github 账号添加过当前电脑生成的 ssh key,需要创建 ssh key 并添加到 github 账号上。(如何创建和添加 github help 就有)

  3. 随便一个目录下,命令行执行 git clone git@github.com:username/username.github.io.git 把仓库 clone 到本地。

  4. 显示所有隐藏文件和文件夹,进入刚才 clone 到本地的仓库,删掉除了 .git 文件夹以外的所有内容。

  5. 命令行 cd 到 clone 的仓库,git add -A ,git commit -m “–”,git push origin hexo,把刚才删除操作引起的本地仓库变化更新到远程,此时刷新下 github 端博客 hexo 分支,应该已经被清空了。

  6. 将上述 .git 文件夹复制到本机本地博客根目录下(即含有 themes、source 等文件夹的那个目录),现在可以把上述 clone 的本地仓库删掉了,因为它已经没有用了,本机博客目录已经变成可以和 hexo 分支相连的仓库了。

经济学人在线阅读

觉得有必要提高一下英语水平,找了很多方法,发现阅读外文是比较有趣方法,找到了经济学人期刊,刚好前段时间学 Python,为了方便阅读同时练手一下自己建了个小站,如果你也喜欢经济学人可以点击 (https://qzcool.xyz) 注册阅读,站点免费开放.

iMac如何使用frp实现内网穿透

有时需要把内网部署的站点映射到外网,让其别人也能访问到,例如做微信相关开发时需要把内网映射到外网,让微信服务器能访问到你的开发环境,方便开发调试。可以使用花生壳或者ngrok,前面这两种我都使用过,花生壳用起来很不稳定,花了钱还不能解决问题,ngrok现在已经很久没更新了,国内的可以在https://www.ngrok.cc 注册,免费用户仅能使用一个转发,由于是使用香港的服务器经常连接不上,最后狠下心来研究了下内网穿透,发现frp使用起来还可以,本文就介绍在iMac下如何用阿里云用frp做内网穿透,Windows的应该流程也类似。

frp开源地址:https://github.com/fatedier/frp

一.服务器配置

1.使用终端ssh远程连接阿里云服务器
1
ssh -t root@xxx.xxx.xxx.xxx -p 22

进入到/home目录,创建文件夹

1
mkdir frp
2.下载对应的frp发布版本

先查看服务器型号

1
cat /proc/version

本人服务器信息:

1
Linux version 4.4.0-101-generic (buildd@lcy01-amd64-006)  

下载frp

1
sudo wget  https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz

我的阿里云服务器下载不了frp文件,就先下载文件到本地,然后用ssh远程上传到阿里云服务器。

1
scp -r frp_0.13.0_linux_amd64.tar.gz root@xxx.xxx.xxx.xxx:/home/frp/ 
3.配置frp服务端

解压到当前目录

1
sudo tar xvf frp_0.13.0_linux_amd64.tar.gz

解压之后进入目录会看到以下文件

iOS开发知识点小结

前言

主要记录日常开发常用到得一些功能记录,包括URL Schemes,NSDictionary,UITableView等.

NSDate

获取时间戳:

1
2
3
4
NSDate *datenow = [NSDate date]; 
NSString *timeSp = [NSString stringWithFormat:@"%ld",
(long)[datenow timeIntervalSince1970]];

获取应用版本号

1
2
3
4
5
NSString *app_Version = [[[NSBundle mainBundle] infoDictionary]
objectForKey:@"CFBundleShortVersionString"];

int currentCode = [[[[NSBundle mainBundle] infoDictionary]
objectForKey:@"CFBundleVersion"] intValue];