hexo 设置相册、主页并使用七牛云加速图片加载

据换完博客主题之后也有一段时间了,但总觉得哪里不对的样子,别人家都是主页和博客分开的,或者把博客放在主页的子目录下,而自己的却只有一个博客,反正自己也有域名,为什么不整个单独的主页出来呢。 这篇文章记录了海痴是如何在 google 上扒模版,如何利用 travis 来将博客的内容同步到主页上,又如何与某涛互相比较,解决图片加载慢的问题。 我们可以看看最终的效果:https://www.liebes.top 在一切开始之前,海痴已经准备好了用 hexo 搭建起来的博客,一个自己的域名,以及使用 travis 将博客部署到自己的服务器的脚本。可以参见上一篇博客:Hexo 更换 materail 主题,使用 Travis 持续集成 一份靠谱的主页模板关于如何找到一份高端上档次的主题模板,大家可以各显神通,当然,最快的还是 google 上搜一下:“主页 模板 bootstrap”,请一定加上 bootstrap 这个关键字,因为经过实践,这样搜出的结果最靠谱。 准备好之后,就可以将模板文件放在博客的根目录下,随便起个名字,就像这样: ├── _config.yml ├── db.json ├── liebes.top <- 这个是模板文件 ├── liebes.top.py <- 这个是之后会用到的脚本文件 ├── node_modules ├── package-lock.json ├── package.json ├── public ├── pyyaml ├── scaffolds ├── source ├── themes └── travis.enc 根据你的需要来修改你的主页模板...     阅读全文
Liebes's avatar
Liebes 2月 07, 2018

机器学习之 darknet YOLO 训练 VOC 数据集

最近被安排到中汽研实习(就算是实习吧),做了一些基于深度学习的图像识别工作,其实说起来自己对深度学习也没什么太深入的了解,都是现学现卖,跑人家的例子。不过还是在这边记录一下,以后回首可以稍稍感慨一下年轻时的无知。 关于机器学习,基础知识是看周志华的西瓜书(清华大学出版社的机器学习)来学习的,不过大致是囫囵吞枣,没有静下心来安安稳稳地钻研(时间也不允许)。 之后看了网易云课堂中吴恩达的机器学习教程,受益匪浅,推荐刚入门的同学去看看,讲的很好。 在吴恩达的视频中,大致了解了卷积神经网络和深度学习大致的套路,其实说到底就是各种卷积层(convolution layer),池化层(pooling layer),全连接层(fool connected layer)不断组合。 感觉机器学习想要深入了解,可能需要看很多相关的论文,之后的学习路程就记录在之后的博客中好了。 先说说甲方的需求:需要在行车过程中动态识别出前方交通标志,如果是限速标识,需要识别中里面的数字。 最近只做了第一部分,也就是交通标志的识别。对卷积神经网络有过了解的话能感觉出来这就是一个分类问题,好在公司已经标好了数据,并且是按照 VOC 格式标记的,接下来就是使用现成的网络训练就可以了。 我用的是 YOLO 在darknet 网站上有 v1 和 v2 两个版本。 https://pjreddie.com/darknet/yolo/ 以上是 YOLO darknet 版本的官网,上面的说明非常详细,也非常人性化,即使没有 GPU 也可以使用,可以简单的按照上面的教程进行安装。 注意,darknet 默认是不开启 GPU     阅读全文
Liebes's avatar
Liebes 1月 30, 2018

Hexo 更换 materail 主题,使用 Travis 持续集成

是的,我折腾了一天把博客的模版换了一下。怎么说呢,之前用的 Next 主题,很简约,看起来也很舒服,但总觉得少点什么,后来逛了逛其他人的站,感觉 Next 主题没有图,视觉上没什么冲击力,灰蒙蒙的感觉,于是采用了 material 这个主题,也很简洁,相比之下色彩丰富一些。 之前在使用 github pages 有一些不爽的地方就是地址不是自己的域名,然而宝宝是买了域名的,为什么要在 github 下弄呢,之前尝试过使用CNAME进行域名解析,但是在处理 https 的问题上比较麻烦,想着弄一套 CI流程出来。试过 hexo 的 deploy 插件,用 rsync 进行自动部署,然而未果,各种奇怪的问题弄的头痛。最近心血来潮 google 一番,发现好多人都在用Travis CI 来自动化部署,于是尝试了一下,效果很不错。 大致整理整理安装的过程吧,在阅读下面的文字之前,你需要自己安装过一次hexo,并了解hexo。 HEXO MATERIAL 主题更换从 github 上下载 material 主题:https://github.com/viosey/hexo-theme-material 下载 release 或者直接克隆项目均可,将主题包移动到 hexo 项目的 theme 中并修改博客配置文件 _config.yml theme: material 此时运行 hexo s 在本地就可以预览到 material 主题的样式了。接下来的步骤,完全可以按照官方的教程一项一项设置,不要嫌麻烦,因为很多特性默认都是没有的,需要自己去打开。 官方文档:     阅读全文
Liebes's avatar
Liebes 1月 25, 2018

编辑器带来的XSS漏洞问题解决方案

接上一篇编辑器的使用,自己尝试着写了一段js代码,本以为laravel的 {{ $item }} 渲染可以完美的避免 XSS 的攻击(确实可以避免),但是由于 Editor 生成的时候,重新渲染了一遍,导致了可能出现的XSS漏洞。 可以看到,Editor已经帮助我们做了html的编码,于是我觉得不需要进行二次编码,就直接存到了数据库里,并且直接在前端进行了渲染。 Controller $res = Notification::updateById($notice_id, [ 'content' => $content, 'title' => $title, 'fileName' => $file_name, 'filePath' => $file_path ]); view <textarea id="editor" name="editor" rows="10" cols="80"> {{ $notice['content'] }} </textarea> 看起来一点问题也没有对不对!! 然而当渲染的时候缺弹出了一个框框······ 查看代码发现变成了整个样子     阅读全文
Liebes's avatar
Liebes 7月 11, 2017

Vagrant : Windows下开发小助手,告别双系统

不知道广大程序员们是怎么处理 Windows 和 Linux 的,最开始在 Windows 下面跑 Linux 的虚拟机,卡的自己怀疑人生。后来做了个双系统,自己 250 的固态表示根本不够用,而且动不动关机重启,别问我为什么,毕竟 office 割舍不了。后来一个学长点了我一下,既然想用 Linux 搞事情,用什么图形化界面,搞个服务器不就好了。然后我就搞了个腾讯云,然而,网络不好的时候真的蛋疼。最后,在宁哥大腿的指引下,尝试了一下 Vagrant 虚拟机,快的飞起,果断放弃双系统。 这里记录一些自己在搭建 Vagrant 环境时的步骤以及踩的坑。 提前准备: Vagrant VirtureBox 首先,我们要选择一个适合我们的 box 也就是操作系统。Vagrant 提供了许多 box 供我们使用:Vagrant Box 。这里,海痴选择的是 ubuntu16.04。 那么,当我们装好了 Vagrant,VirtureBox,并且下载好所需要的box以后,就可以开始搞事情了。当然,为了接下来的发展更加顺利,强烈建议装一个 Git ,毕竟 Git bash 异常的好用。 我们新建一个文件夹,命名为 ubuntu,并且将我们的 box 移到这个目录下。在这个目录打开命令行界面,添加box $ vagrant box add xenial-server-cloudimg-amd64-vagrant.box 添加后的 box 可以使用 vagrant box list     阅读全文
Liebes's avatar
Liebes 5月 17, 2017

laravel的学习日常-初识

记录记录自己踩过的坑 按照官方文档,乖乖的用composer进行安装: $ composer global require "laravel/installer" 然后,就给我报了噼里啪啦一堆错误 [Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: fai led to open stream: Connection timed out EXM?我还啥也没干呢啊 = =。然后吧,我就把这个错误扔到了google上,注意了注意了,划重点了!搜出来解决方案的没有一个可以用的!然后我发现只是单纯的被墙了而已。WHAT THE FUCK !!!解决办法也挺简单,把composer的源切成国内镜像就好了 $ composer config -g repo.packagist composer https://packagist.phpcomposer.com 具体的可以参见 Packagist / Composer 中国全量镜像 这里。接下来就可以愉快的使用laravel了 $ composer global require "laravel/installer" 使用laravel新建一个项目,然后就可以看到牛逼闪闪的lavavel的目录结构: $ laravel new myProject     阅读全文
Liebes's avatar
Liebes 3月 20, 2017

hexo 使用git备份hexo源文件

这是个悲伤的故事,海痴的linux出了点毛病,然后就想着重装一遍。掐指一算,自家的代码在git上面都保存了,直接重装!然后吧,hexo你大爷,你没事就不能把博客原文备份一下么?又不占你的空间!那么费劲么!是的,海痴的博客都没了,别问我为什么还能看着,宝宝复制粘贴都快吐了,弄到凌晨两点多才恢复了。这件事情告诉我们,没事闲的别重装系统。 具体的思路就是在我们的博客仓库中新建一个分支,用来保存源码,master分支用来提交hexo自动生成的文件。以海痴的博客为例。打开wanghaichi.github.io工作目录,我们可以喜闻乐见的发现没有.git文件夹。那么接下来的事情就简单了打开工作目录,执行以下操作 $ git init $ vi .gitignore .DS_Store Thumbs.db db.json *.log .deploy*/ node_modules/ .npmignore public/ $ git branch -b hexo $ git add . $ git commit -m "backup" $ git remote add origin git@github.com:wanghaichi/wanghaichi.github.io.git $ git push origin hexo 如果没设置ssh权限可能需要设置一下,然后去github仓库里面切换以下分支,你的可爱的博客就都在里面啦。以后每次写完博客,先执行一遍 $ git add . $ git commit -m "backup" $ git push origin hexo 再发布,就不用担心自家博客丢失啦 妈妈再也不用担心复制博客到零点啦     阅读全文
Liebes's avatar
Liebes 3月 17, 2017

Unbuntu16.04 Nginx + php + mysql Web服务器搭建

下决心不再用lamp的集成包了,自己搞一个出来。 Nginx php mysql Nginx首先安装使用 apt 安装nginx$ sudo apt install nginx然而由于之前安装过nginx,卸载还不干净,导致配置文件读取失败,出现错误: Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. invoke-rc.d: initscript nginx, action "start" failed. ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since 四 2017-03-09 00:06:13 CST; 7ms ago Process: 4540 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE) 3月 09 00:06:13 hardy-Inspiron-5547 systemd[1]: Starting A high performance.... 3月 09 00:06:13 hardy-Inspiron-...     阅读全文
Liebes's avatar
Liebes 3月 10, 2017

Centos 7 Nginx + php + mysql Web服务器搭建

安装Nginx 安装php5 安装php7 安装mysql 搭建nginx服务在所有工作之前,先更新一下yum咯$ yum install yum $ yum -y update然后使用yum安装nginx# 如果没有nginx包尝试使用下面的命令添加 $ yum install epel-release $ yum install nginx # 启动 $ systemctl start nginx # 开机自启 $ systemctl enable nginx然后就可以在浏览器输入http://127.0.0.1,会看到nginx的欢迎界面,如果是远程服务器请输入以下命令查看ip$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' # 或者 $ curl http://icanhazip.com—安装php5使用yum安装,十分简单。$ yum install php php-mysql php-fpm安装完成后,修改 /etc/php.ini 文件,找到 cgi.fix_pathinfo=0 这一行,取消注释并修改成0然后修改 /etc/php-fpm.d/www.conf 文件,需要修改一下几个地方listen = /var/run/php-fpm/php-fpm.sock listen.owner = nobody listen.group = nobody user = ...     阅读全文
Liebes's avatar
Liebes 1月 21, 2017

在CentOS7上搭建ftp服务器

在ninge的帮助下,终于搞出了ftp服务器,记下来以后用 ftp服务器搭建 sftp服务器搭建 用户权限设置 啰嗦几句 ftp服务器搭建首先安装sftp服务 [root@hardy ~]# yum install vsftpd 修改配置文件,在修改配置文件之前记得备份 [root@hardy ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak [root@hardy ~]# vim /etc/vsftpd/vsftpd.conf vsftpd服务有许多配置,这里不一一赘述,将一些常用的写出来 #匿名用户是否可以登录 anonymous_enable=YES #允许系统用户名登录 local_enable=YES #允许使用任何可以修改文件系统的FTP的指令,禁用这项则用户无法修改 write_enable=YES #本地用户新建文件的掩码 local_umask=022 #开启日志功能 xferlog_enable=YES #日志文件位置 xferlog_file=/var/log/vsftpd.log #这三项设置chroot,用来限制用户只能访问家目录,这三项一会详说。 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 修改以下配置 anonymous_enable=NO chroot_local_user=YES #以下需要手动添加 allow_writeable_chroot=YES pasv_enable=YE...     阅读全文
Liebes's avatar
Liebes 1月 17, 2017