Github搭建Hexo双分支博客防止本地文件丢失
转载于: Github搭建Hexo双分支博客防止本地文件丢失
一、关于搭建流程
创建仓库,Godbn.github.io
创建两个分支:master和hexo
在options里面设置hexo为默认分支(注意这个分支保存的是网站源文件,并不是生成后上传github上用于显示的)
使用以下命令拷贝仓库到本地桌面
git clone git@github.com:Godbn/Godbn.github.io.git
终端进入Godbn.github.io目录,依次执行
npm install hexo
hexo init
npm install
npm install hexo-deployer-git (用于生成上传至github)
修改_config.yml中的deploy参数
下载hexo themes主题自己百度安装调试好,我目前使用的是Sky,地址我贴出来
https://github.com/i ...
Tomcat概述
Tomcat概述1. Tomcat 核心组件
Connector(连接器): 由 端口号 + 协议 组成。
2. 核心组件协作过程
要点:
连接器可以有多个,不同的连接器可以对应同一个站点
同一个连接器下,可以有多个站点
即,连接器和站点之间的关系是多对多的。
站点和应用上下文之间是一对多的关系,即一个站点对应该站点下多个应用上下文。站点和资源同样是一对多的关系
3. 源码剖析3.1 server.xml
Connector(连接器):
port:端口
protocol:协议
Host(站点):
name: 域名
appBase:站点对应资源的路径,可配置全路径或者相对路径,相对路径是相对于tomcat的根路径。
unpackWARs:是否自动将WAR文件解压
autoDeploy:是否自动部署
Context(应用上下文): 在Host对应的appBase目录下的文件夹是隐式的Context, 通过Context标签可以显示的设置Host下的Context
3.2 请求流程分析
Engine、Host、Context 每一层都有自己的一个pipline ...
高并发名词
高并发名词1. PV(Page View)
页面浏览量统计,用户每刷新一次页面,PV值加一。
2. UV(User View)
用户访问量统计,根据用户来统计,同一个用户在系统里无论点击多少个页面,UV 统计只加一。
3. RT(Response Time)
响应时间。前端页面发出请求开始到接收到后台响应之间的时间。
一般来说,
1ms~100ms之间的响应,人们基本感觉不到这个请求的耗时;
1s左右的响应时间,人们明显能感觉的到系统反应慢,但勉强能接受;
大于3s的响应时间,人们已经无法接受了,基本都会认为系统有问题;
4. 并发用户数
并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。
5. TPS(Transactions Per Second)
系统每秒处理交易数。
比如下单事务,中间可能调用多个接口,但是属于下单这个流程,完成一整个下单流程,TPS记为 1。
6. QPS(Query Per Second)
系统每秒处理查询次数,单位是次/秒。 对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下用TPS来衡量整 ...
HTTP的Content-Length头字段
HTTP的Content-Length头字段Content-Length用于描述HTTP消息实体的传输长度(the transfer-length of the message-body)。
在HTTP协议中,消息实体长度和消息实体的传输长度是有区别的。
消息实体长度:消息实体本身的长度。
消息实体的传输长度:消息实体在传输时的长度。
比如说gzip压缩下,消息实体长度就是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。
在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则:响应为1xx,204,304或者head请求,则直接忽视掉消息实体内容。
如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。
如果head中有Content-Length,那么这个Content-Length既表示实体长度,又表示传输长度。
如果实体长度和传输长度不相等(比如说设置了Transfer-Encoding),那么则不能设置Content-Length。如果设置了Transfer-E ...
接口幂等性
接口幂等性1. 概念接口幂等性
一次和多次请求某一个资源,对资源本身所产生的的影响均与一次执行的影响相同。
幂等性是系统服务对外的一种承诺,承诺只要调用接口成功了,多次调用对系统的影响是一致的。
2. 幂等性与重复提交比较幂等性 更多使用的情况是第一次请求知道结果,但是由于网络抖动或连接超时等情况未进行正常返回,在这种情况下系统自动再次发起请求,其目的是确认第一次是否请求完成。
重复提交 更多使用的情况是第一次请求成功或请求结果暂未返回的情况下,人为的进行多次操作。
实际上二者表现的情况是一样的,都会多次的调用一个接口,并且传参相同。
3. SQL语句的幂等性3.1 SELECT1SELECT * FROM `table_name` WHERE id = 1024;
select语句具有天然的幂等性,因为select语句只是进行查询,并不会修改数据。
3.2 UPDATE1UPDATE table_name SET column_xx = 'xxx' WHERE id = 1024;
像上面这个update语句,执行多次和执行一次是一样的效果,这样的是幂等的 ...
Linux安装Redis 6.0.5 ./install_server.sh报错
Linux安装Redis 6.0.5 ./install_server.sh报错linux 安装Redis6.0.5时进行到./install_server.sh时报错,
12This systems seems to use systemd.Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!
解决方案:
1vi ./install_server.sh
注释下面的代码即可
12345678#bail if this system is managed by systemd#_pid_1_exe="$(readlink -f /proc/1/exe)"#if [ "${_pid_1_exe##*/}" = systemd ]#then# echo "This systems seems to use systemd.&q ...
CentOS7 防火墙相关命令
CentOS7 防火墙相关命令
查看防火墙状态
1firewall-cmd --state
停止firewall
1systemctl stop firewalld.service
开启firewall
1systemctl stop firewalld.service
禁止firewall 开机启动
1systemctl disable firewalld.service
设置开机启动防火墙
1systemctl enable firewalld.service
重启防火墙
1firewall-cmd --reload
对外开放端口
12345#说明:#–zone 作用域#–add-port=80/tcp 添加端口,格式为:端口/通讯协议#–permanent 永久生效,没有此参数重启后失效firewall-cmd --zone=public --add-port=端口号/tcp --permanent
关闭对外端口
1firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
...
Spring Bean
Spring Bean在Spring中,bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。(**也就是由spring来进行管理的资源对象**)
1. 如何将bean放入spring容器中既然要让spring来管理这些资源类,那么就需要将资源放入到容器中,这样spring容器才能将资源提供给有需要的类进行使用,那么如何将bean对象放入到spring容器中呢?
有以下三种方法:
Java config配置
使用Java config的方式进行配置时,不需要创建额外的xml文件,需要创建一个java的config类。
123456789101112131415package byJavaConfig;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configura ...
HashMap详解-源码分析
HashMap详解-源码分析HashMap类声明源码如下:
12public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
分析:
继承了AbstractMap抽象类,而AbstractMap类已经实现了Map部分接口,可以直接使用
实现了Map、Cloneable、Serializable接口,即实现Map接口中的相应方法,支持clone,支持序列化及反序列化
成员变量源码如下:
123456789101112131415161718192021222324252627 private static final long serialVersionUID = 362498820763181265L; static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 static final int MAXIMUM_CAPAC ...
Java中的代理
Java中的代理 代理模式(Proxy)是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。
增加额外功能,进行增强
引入第三方代理类,进行解耦
静态代理
请参考下面的代码:
1234567/***声明一个明星接口,明星只需要关注自己的唱、跳*/public interface StarService { void sing(); void jump();}
123456789101112/***明星接口的具体实现类*/public class StarServiceImpl implements StarService{ public void sing() { System.out.println(" sing a song "); } public void jump() { System.out.println(" just dance "); ...