Hexo博客添加百度、谷歌收录
为什么要提交收录
Github上搭建的博客是无法被搜索引擎爬取到的。所以为了让博客被搜索引擎检索到,我们需要手动将博客提交给搜索引擎。如果你的博客是部署在GitHub上,那么你是无法被百度收录的,只能被谷歌收录因为 GitHub 禁止了百度爬虫。(挖个坑,下次补一篇如何用阿里云服务器部署hexo博客的教程)
查看自己博客有没有被搜索引擎收录可以在对应的搜索引擎中搜索 site:your_website 来确认
提交百度收录
验证网站
进入百度搜索资源平台添加网站,之后会要求验证网站所有权,有两种验证方式:文件验证和HTML验证,目前不允许使用CNAME验证了。文件验证比较方便,把文件放到主题的source目录下部署上去等一会儿就能完成验证,例如./themes/butterfly/source。
提交收录
百度提供了三种提交收录的方式
API提交(主动提交)
安装npm install hexo-baidu-url-submit --save插件,然后在_config.yml中添加以下配置:
12345baidu_url_submit: count: 1 ...
macOS 终端美化 -- iTerm2 + oh my zsh + levelpower10k
安装 iTerm2
使用 brew 安装(推荐)
1brew install iterm2
官网下载安装包安装
安装 oh-my-zsh
参考官网ohmyz有两种方式,可以根据自己的环境选择:
使用 curl
1sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
使用 wget
1sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
修改默认 shell
Linux 下默认的是 bash ,macOS 在 Catalina 之前的版本默认也是 bash ,后面随着 zsh 越来越流行,Catalina 版本之后 macOS 开始将 zsh 作为默认的解释器了。
查看当前用户的 shell:
1echo $SHELL
如果不是 zsh 的话,使用以下命令修改为 zsh:
1chsh -s ...
从 0 到 1 实现一个 Golang Web 框架(一)--- 基础结构
项目地址:https://github.com/SouthWind6510/my-golang-web-framework
前言
当我们想要搭建一个网站后端的时候,首先会想到用哪个框架,不同的框架设计理念有着很大的区别,但本质上都是帮助我们减少很多重复性的工作,可以更专注于逻辑本身。我们以 Golang 的 net/http 标准库为例,看看它是如何处理
《深入理解计算机系统》学习笔记(七)--- 链接
在本章中,我们将学习程序如何与硬件交互,以及它们如何与特定系统软件中的软件交互。我们将通过研究一个叫做链接的过程开始,这能帮助我们弄清楚系统是如何构建一个程序的。
链接就是将不同部分的代码和数据收集和组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。链接可以在编译时、加载时甚至运行时执行。现代系统中,链接是有链接器自动执行的。
链接的基础知识
我们先来看一个例子,由两个代码文件构成,在main函数中调用了函数sum计算数组的和:
我们使用下面的命令来编译执行:
12linux> gcc -Og -o prog main.c sum.clinux> ./prog
GCC 会分别预处理、编译、汇编两个文件,得到两个可重定位.o文件,再通过链接器将它们链接到一起:
链接
为什么要链接?
模块化:可以将相关功能放入单独的源文件中,可以定义函数库,所以这是一种很好的技术,可以让代码分解成很好的模块化的部分。
效率:代码分解成多个模块后,如果需要修改其中的某一段代码,只需要修改其所在的模块,重新编译这个模块,再和其他部分链接在一起,而不需要重新编译整个代码,这在时间和空 ...
《深入理解计算机系统》学习笔记(六)--- 存储器层次结构
存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。在本章中,我们将探索存储器层次结构是怎么构建的,体会到多种存储设备之间属性的美妙融合,以及程序的属性在这当中起到的作用。
存储技术和趋势
随机访问存储器
现在大多数人所熟悉的内存其实叫做随机访问存储器(RAM),分为两类——静态(SRAM)和动态(DRAM),它们之间是根据存储单元实现方式来区分的。
SRAM不需要定期刷新,DRAM需要
SRAM访问速度比DRAM快一个数量级
一般将SRAM用于高速缓存,容量不超过几兆字节
DRAM广泛用于主存以及图形显卡的帧缓存中
两者的相同点是都需要通电,一旦断电,所有的信息都会丢失
非易失性存储器
非易失性存储器即使是在断电后,依然保存着它们的信息,它们的通用名称是只读存储器(ROM)
传统机械硬盘
虽然现在越来越多电脑已经改为使用固态硬盘,但是还是有必要了解一下硬盘的组成的。传统的机械硬盘有许多不同的部件:
机械硬盘有许多片磁盘(platter)组成,每一片磁盘有两面;每一面由一圈圈的磁道(track)组成,而每个磁道会被分隔成不同的扇区(sector)。
上图是一个磁 ...
Spring boot集成Sa-Token权限管理
在Spring boot中集成Sa- Token
添加依赖
在pom.xml中添加依赖:
123456<!-- Sa-Token --><dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot-starter</artifactId> <version>1.28.0</version> </dependency>
修改配置文件
Sa-Token可以零配置启动,如有需要也可以定制化使用,在application.yml中添加以下配置:
12345678910111213141516# Sa-Token配置sa-token: # token名称 (同时也是cookie名称) token-name: satoken # token有效期,单位s 默认30天, -1代表永不过期 timeout: 2592000 # token临时有效期 (指定时间 ...
《深入理解计算机系统》学习笔记(一)--- 计算机系统漫游
从今天起将跟随九曲阑干大佬并结合原书学习《深入理解计算机系统》(CSAPP),在此过程中会记录学习笔记用于复习和分享。
计算机系统漫游
Hello World
我们从一个特别简单的程序hello world进入计算机系统的世界
123456#include <stdio.h>int main(void) { printf("Hello World!\n"); return 0;}
保存为文件hello.c,执行下列命令即可得到可执行文件hello
1$ gcc -o hello hello.c
这个过程虽然是通过一条命令完成的,在一些集成开发环境中,甚至可以通过点击一个按钮来完成,但是实际上编译系统的处理过程确实非常复杂的。
gcc编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello.这个过程是分为四个阶段完成的:
预处理阶段:预处理器根据以字符#开头的命令,修改原始的C程序。例如hello.c中第一行的#include <stdio.h>指令告诉预处理器读取系统头文件std ...
Spring Boot 返回结果封装及全局异常处理
为什么要进行结果封装
为了让前端能够拿到统一格式的返回结果,后端在返回时,应该用统一的格式进行封装。
如何进行结果封装
定义返回结果信息的枚举类
1234567891011121314151617181920public enum ResultInfo { SUCCESS(0, "Success"), INCORRECT_USERNAME_OR_PASSWORD(101, "Incorrect username or password"); private final int code; private final String msg; private ResultInfo(int code, String msg) { this.code = code; this.msg = msg; } public int getCode() { return this.code; } public St ...
使用Git LFS上传大文件到Github
Github上传文件时对文件大小会有限制,单个文件不能超过100M,如果想利用Github建书库、存音频等会上传大文件的操作就需要利用Git LFS。
具体操作
下载安装Git LFS https://git-lfs.github.com/
cd到目标本地仓库,安装Git LFS git lfs install
选择希望Git LFS管理的文件类型,可以随时配置额外的类型 git lfs track "*.pdf",此时会生成一个文件.gitattributes
推送.gitattributes
123$ git add .gitattributes$ git commit -m ""$ git push origin main
然后就可以上传你想上传的文件啦
Hexo+Typora插入图片的正确方式
在用Hexo+Github搭建了自己的博客后,虽然Hexo Admin插件可以很方便的写博客和插入图片,但始终没有Typora用起来舒服。因为Typora和Hexo读取图片的方式不一样导致本地预览和网站显示只能满足一个。我在网上搜索有没有可以同时满足的方法时,发现不少人也遇到了这个问题,但给出的解决方案大多是没有用的(可能是我的问题),而且极其雷同。在此分享一下我最终成功解决这个问题的方案。
具体步骤
安装 hexo-image-link,这个插件能够将markdown中的图片路径转换为asset_img语法,使图片能够同时显示在本地和网站。
1$ npm install hexo-image-link --save
修改_config.yml中的post_asset_folder: true
修改Typora图像设置为:
大功告成!!!
Note
有些教程里面会让修改Typora的根路径,切记使用这种方法不需要修改。
使用了根路径会导致,粘贴图片到Typora时,生成的路径前带 ‘/’,例如/{filename}/{imagena ...