木头的博客

我是木头 有些想法 有点精力

0%

最近写博客的时候发现搭建在 Github Pages 上在国内偶尔会抽, 表现为加载慢, 半天才读取完.

鉴于自己有服务器, 索性就放在自己服务器上吧, 打算就用 Github Pages 做博客备份. 接下来就开始动手把.

实现原理

我们在自己的电脑上写好博客, 使用 git 发布到代码仓库进行备份, git 仓库接收到 push 请求后, 使用 webhook 配合 nodejs 自动进行服务器端页面的更新.

阅读全文 »

fuck-ie

你是不是经常浏览网页时遇到以上类似的画面, 叫你换个浏览器, 本开开开心心的浏览网页非要换浏览器, 让人特别不爽.

下面我来科普一下为什么网页开发者会这么做, 在普及这个知识前, 我先解读一下为什么 IE 浏览器在中国市场占有量这么大.

IE6 “网上冲浪”

在 10 多年前的互联网时代, 人们都在用家喻户晓的 XP 系统, 那时系统自带的浏览器是 Internet Explorer 6.0 也就是我们俗称的 IE6, 那个时代人们的电脑还都是 256M 内存, 好一点的也就 512M, 玩的游戏还是魔兽红警 CS 和传奇. 在 IE 一统江山的时代, 很少有人觉得 IE 有什么不对劲.

今天 IE 被诟病得最多的速度和稳定性上面, 在那个时代都好像不是那么引人关注, 并不是说那个时代浏览器的速度和稳定性不重要, 而是因为没有可供对比的参照物.

然而过了两年左右, 中国网民成爆发式增长, 中国用户的浏览环境也普遍是 WinXP + IE6, 那时候也有 chrome 和 firefox 浏览器, 但是作为一个普通的网民又有谁肯花费精力去习惯另外一个浏览器呢.

阅读全文 »

在你浏览网页的时候, 会碰到点击某个链接结果告诉我网站错误 403 / 404, 或者 500 之类的错误代码, 阿洗吧, 本来快乐的心情一下子变得很糟糕啊, 勾起了我的好奇心却不让我进去!! 该死的网站管理员!!

example-404

本文主要通过访问我的学校官网来介绍你从点击一个链接到显示出来这个过程中, 浏览器在后台都干了些什么.

阅读全文 »

之前在使用 thinkphp 时, 使用了其内置的上传文件功能, 在本地时使用正常, 但是放在生产环境中前端会提示上传失败, 原因也不明, 上传目录的权限也够, 就是不知道为什么.

最近使用最新版的 thinkphp5 时又遇到了这个问题, 所以在这里写一篇文章, 让更多的初学者少走弯路, 知道问题所在.

无论是在 thinkphp 还是其他 php 框架下, 上传文件都需要现将文件暂存在 php 的临时目录中, 然后使用 move_uploaded_file($_FILES["file"]["tmp_name"]) 方法将临时目录中的文件保存在上传目录.

在知道了这个后, 我们应该检查一下应用上传目录和 php_temp 目录的权限是否为 777, 在 IIS 下需要给予足够的权限.

如果你不知道 php_temp 临时目录在哪里也没有设置过, 用 phpinfo() 函数查看一下即可.

不知道你们在开发一个项目中有没有遇到过这种情况: 项目小组一起开发一个项目, 建立了一个配置文件用于项目中, 但是在开发阶段每个人本地数据库都不同, 所以修改数据库连接部分的配置后会将自己修改过的配置上传到 Git 库中, 比如 config.php, 其他人 pull 的时候就会把他自己本地的数据库配置给覆盖了, 像下面这样.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// 项目配置文件
return [
'project' => [
'name' => 'foo',
'version' => 1.0.0,
],
// ...
'database' => [
'host' => '127.0.0.1',
'db_name' => 'foo',
'db_user' => 'bar',
// ...
]
];
阅读全文 »

如何在 Hexo 中使用插图

我们编辑文章时或有或无的需要佐上那么几张图片来表达自己的想法, Hexo 中编辑文章的方式是直接写 Markdown 文件, 又没有直接上传图片的接口, 以下是博主从网上收集来的一些 Hexo 中引用图片的办法合集.

阅读全文 »

在用了一段时间 Hexo 后, 发现写 Hexo 文章时需要到在线的 Markdown 编辑器中实时预览, 感觉还是有些不方便.

找到官方文档, 在服务器部分有这样一段话

安装完成后,输入以下命令以启动服务器,您的网站会在 http://localhost:4000 下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,您无须重启服务器。

1
$ hexo server

片子, 根本没有自动更新( 可能是我姿势不对? ).

阅读全文 »

准备工作

  • 一个域名
  • 一个创建好 GitHub Pages 的项目

1 解析域名

登录到你购买域名的服务商, 找到解析入口, 这里我以万网提供的解析为例

analysis

添加一条 CNAME 记录, 将您的 www 或自己定义的子域名解析到您的 GitHub Pages 上.

cname

如果您打算直接用 www.xxx.comxxx.com 作为您的博客地址, 那么就分别创建主机记录为 www 和 @ 的记录指向到你的 GitHub Pages 上.

阅读全文 »

本文于 2019-08-02 更新, 主要内容是修正一些现在已经无法正常进行的步骤, 包管理器更换为 yarn

准备工作

  • github 帐号
  • node 环境
  • yarn
  • 科学上网 (尽量)

如果你还不知道 github 或者 node, 建议您简单了解一下 git / github 、 node 工作原理, 以便快速上手该教程, 这里就不再阐述了.

yarn 包管理器是一个 npm 的增强版, 自带国内加速, 什么 cnpm 、 代理之类的都不用啦, 安装方式也很简单: npm i -g yarn

1 搭建 Github Pages

1.1 新建一个 GitHub Pages 个人主页项目

注意项目名要填 用户名.github.io , 比如我的github用户名是mutoe, 那我的项目名就必须填 mutoe.github.io , 如果不这样做的话你的主页就会变成类似 http://mutoe.github.io/project-name 这样的子目录了.

github-pages-project

填完项目名直接确认就好, 其它不用设置.

阅读全文 »