据换完博客主题之后也有一段时间了,但总觉得哪里不对的样子,别人家都是主页和博客分开的,或者把博客放在主页的子目录下,而自己的却只有一个博客,反正自己也有域名,为什么不整个单独的主页出来呢。
这篇文章记录了海痴是如何在 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
根据你的需要来修改你的主页模板...
阅读全文
最近被安排到中汽研实习(就算是实习吧),做了一些基于深度学习的图像识别工作,其实说起来自己对深度学习也没什么太深入的了解,都是现学现卖,跑人家的例子。不过还是在这边记录一下,以后回首可以稍稍感慨一下年轻时的无知。
关于机器学习,基础知识是看周志华的西瓜书(清华大学出版社的机器学习)来学习的,不过大致是囫囵吞枣,没有静下心来安安稳稳地钻研(时间也不允许)。
之后看了网易云课堂中吴恩达的机器学习教程,受益匪浅,推荐刚入门的同学去看看,讲的很好。
在吴恩达的视频中,大致了解了卷积神经网络和深度学习大致的套路,其实说到底就是各种卷积层(convolution layer),池化层(pooling layer),全连接层(fool connected layer)不断组合。
感觉机器学习想要深入了解,可能需要看很多相关的论文,之后的学习路程就记录在之后的博客中好了。
先说说甲方的需求:需要在行车过程中动态识别出前方交通标志,如果是限速标识,需要识别中里面的数字。
最近只做了第一部分,也就是交通标志的识别。对卷积神经网络有过了解的话能感觉出来这就是一个分类问题,好在公司已经标好了数据,并且是按照 VOC 格式标记的,接下来就是使用现成的网络训练就可以了。
我用的是 YOLO 在darknet 网站上有 v1 和 v2 两个版本。
https://pjreddie.com/darknet/yolo/
以上是 YOLO darknet 版本的官网,上面的说明非常详细,也非常人性化,即使没有 GPU 也可以使用,可以简单的按照上面的教程进行安装。
注意,darknet 默认是不开启 GPU
阅读全文
是的,我折腾了一天把博客的模版换了一下。怎么说呢,之前用的 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 主题的样式了。接下来的步骤,完全可以按照官方的教程一项一项设置,不要嫌麻烦,因为很多特性默认都是没有的,需要自己去打开。
官方文档:
阅读全文
接上一篇编辑器的使用,自己尝试着写了一段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>
看起来一点问题也没有对不对!!
然而当渲染的时候缺弹出了一个框框······
查看代码发现变成了整个样子
阅读全文
不知道广大程序员们是怎么处理 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
阅读全文
记录记录自己踩过的坑
按照官方文档,乖乖的用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
阅读全文
这是个悲伤的故事,海痴的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
再发布,就不用担心自家博客丢失啦
妈妈再也不用担心复制博客到零点啦
阅读全文
下决心不再用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-...
阅读全文
安装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 = ...
阅读全文
在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...
阅读全文