待办事项
近期待办事项清单
搭建博客:规范化历史文章目录
搭建博客:博客的分类设计
搭建博客:对历史文章进行重分类管理
添加常用工具类网站
添加百度、bing、cnzz站点统计功能
Github访问加速设置
原理概述众所周知,由于github服务站点在美国,国内访问速度时好时坏,而通过DNS域名解析后速度更慢,所以我们可以直接通过设置hosts的域名对应的实际ip直接访问ip绕过域名解析,速度可以快到飞起,OK,进入正题。
域名DNS解析IPDNS解析域名对应ip
访问https://www.ping.cn/dns/
找到当前网络运营商、解析时间最小的对应IP
Mac系统下命令查询域名对应ip这种方式查询出来的ip,无法保证ip的访问速度,推荐使用第一种方式。
12345678MacBook-Pro-6:~ tanxinzheng$ nslookup www.github.comServer: 114.114.114.114Address: 114.114.114.114#53Non-authoritative answer:www.github.com canonical name = github.com.Name: github.comAddress: 13.250.177.223
修改hosts映射Github域名管理员模式下编辑hosts
Mac系统在 ...
Windows下git配置ssh密钥
检查用户.SSH目录若存在则直接使用已生成的ssh公私密钥,跳过生成SSH公私密钥步骤
若需要免密提交则要保证生成的ssh公私密钥是未输入密码的
12345678910PS C:\Users\tanxz\.ssh> ls 目录: C:\Users\tanxz\.sshMode LastWriteTime Length Name---- ------------- ------ -----a---- 2020/12/16 0:31 1679 id_rsa-a---- 2020/12/16 0:31 402 id_rsa.pub-a---- 2020/12/16 0:34 185 known_hosts
生成SSH公私密钥123456789101112131415161718192021C: ...
如何申请SSL免费证书
搭建https协议网上有许多教程,但各种因为网站的搭建情况都有很多特殊情况导致有些场景出现> 问题,这里分别整理了不同业务场景对应的搭建教程。
Certbot申请证书
适用场景:拥有服务器权限,可命令行操作服务器
请直接参考该文章:Nginx 通过 certbot 为网站自动配置 SSL 证书并续期
Freessl申请证书
适用场景:服务器在第三方平台,没有操作服务器的权限只有配置证书的权限
之前在使用OSS搭建Hexo博客时由于OSS存储服务器是由阿里云控制的,无法使用certbot的方式安装证书,又不想用阿里云的证书,查找实践许久终于找到了一种靠谱的解决方案,就是使用https://freessl.cn/平台的Keymanager工具,方便快捷有效。
首先,注册https://freessl.cn/的账号(注册就不截图了)
下载KeyManger工具,下载地址:https://keymanager.trustasia.com/release/KeyManager-Setup-4.4.19.exe
安装好之后,登录注册FreeSSL后进入KeyManager ...
Hexo搭建博客:基于Github Action工作流自动部署Hexo
Hexo搭建这段就pass了,只要这篇主要讲解Github Action部署
创建github ssh 私钥和公钥在本地运行如下命令生成id_rsa和id_rsa.pub文件,一路回车,不要输入密码!!!不要输入密码!!!不要输入密码!!!(被这个坑的我想哭T_T,一直验证不通过)
1$ ssh-keygen -t rsa -C "tanxinzheng@139.com" #此处修改为你github的注册邮箱
Github设置
将id_rsa私钥放入项目的settings/secures配置中
将id_rsa.pub公钥填入账号的settings/SSH keys配置中
创建Github Action工作流脚本在项目该目录下创建~./.github/workflows/main.yml文件,将下面的配置信息填入,并修改自己的信息即可
123456789101112131415161718192021222324252627282930313233343536name: CI# 触发执行的操作和分支名称on: push: branches: - g ...
Java【基础篇之HashMap及hashcode】
一、hashcode是什么要理解hashcode首先要理解hash表这个概念
哈希表hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的hashcode是什么记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。简单理解就是:在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。具有快速查找和插入操作的优点
hashcodehashcode 通过hash函数计算得到,hashcode就是在hash表中有对应的位置每个对象都有hashcode,通过将对象的物理地址转换为一个整数,将整数通过hash计算就可以得到hashcode
二、hashcode的作用 HashCode的存在主要是为了查找的快捷性,HashCode是用来在散列存 ...
Docker之Redis Cluster搭建
环境Docker 版本 19.03.8
12MacBook-Pro-6:~ tanxinzheng$ docker -vDocker version 19.03.8, build afacb8b
搭建搭建的部署主要分为
架构设计
编写Docker Compose编排文件
创建redis cluster配置文件
启动服务容器
创建Redis集群
架构设计redis集群模式必须要有3个主节点3个从节点才能正常启动集群模式
主节点端口:7000 | 7001 | 7002
从节点端口:7003 | 7004 | 7005
Docker Compose为节省内存资源,主从节点都部署在单机实例中
1234567891011121314151617181920212223242526272829303132333435version: '2'services: cluster: image: daocloud.io/redis container_name: redis-cluster # 添加该参数后服务后台运行后,容器不会自动退出 t ...
Mac使用openssl生成pem证书
参考资料
openssl命令详解
常规方式
生成私钥(key文件)openssl genrsa -out client.key 4096
生成签名请求(csr文件)openssl req -new -key client.key -out client.csr
签发证书openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.crt
一键生成自签名证书openssl req -new -x509 -newkey rsa:4096 -keyout test.key -out test.crt
tips输入的密码必须大于等于4位。Common Name可以输入:*.yourdomain.com,这种方式生成通配符域名证书。证书文件crt中存储的是证书信息与公钥信息,key文件存储的是私钥信息,csr是申请证书所需要的中间文件。
Mac使用openssl生成pem证书
安装openssl,若已安装则跳过
1brew install openssl
生成RSA私钥使用openssl来生成RSA私钥文件,输入如下命令(该命令会生成2048位的私钥)
1openssl genrsa -out rsa_private_key.pem 2048
显示如下结果则生成私钥成功
12345678MacBook-Pro-6:pem tanxinzheng$ openssl genrsa -out rsa_private_key.pem 2048Generating RSA private key, 2048 bit long modulus....................+++.+++e is 65537 (0x10001)MacBook-Pro-6:pem tanxinzheng$ lltotal 8-rw-r--r-- 1 tanxinzheng staff 1675 Dec 17 18:45 rsa_private_key.pem
查看私钥文件内容,RSA私钥格式如下:
注:因太长…..省略部分内容
1234567891011-----BEGI ...
各类开源协议对比
世界上的开源许可证(Open Source License)大概有上百种,今天我们来介绍下几种我们常见的开源协议。大致有GPL、BSD、MIT、Mozilla、Apache和LGPL等。
协议对比图
Apache LicenseApache License(Apache许可证),是Apache软件基金会发布的一个自由软件许可证。
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和最终原作者的著作权,同样允许源代码修改和再发布。但是也需要遵循以下条件:
需要给代码的用户一份Apache Licence。
如果修改了代码,需要再被修改的文件中说明。
在衍生的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以再Notice中增加自己的许可,但是不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可 ...