经过前两篇文章Hexo搭建个人博客Hexo安装NexT主题,博客系统已经可以完美运行在自己的电脑上,但此时的博客系统只能自己访问,要想让互联网的用户都能访问到,可以通过以下两种方式:

  1. 把博客系统部署到云服务器上
    需要有云服务器,适合有服务器的人,好处是可以通过web页面编辑、发布博客,本文选择此方式

  2. 把博客编译后的文件放到CDN或Git服务器上
    节省了自己买/租云服务器的成本,但是编辑博客不方便,需要先在本地编辑、编译,最后手动上传(也可以用Github Hooks自动上传)到CDN或者云服务上。

下文详细介绍通过方式1完成博客的运行,整体流程如下:

  1. 本地搭建好博客
  2. 博客代码托管到Git服务器
  3. 在服务器部署运行博客
  4. 通过web管理页面发布新博客
  5. 手动提交代码(可选)
    阅读全文 »

使用科学上网工具clashx + 购买的科学上网账号(30元350G流量,能用3个月,当然也有其他套餐,到期后也能续费)。

购买科学上网账号

注册账号

打开注册账号地址:https://aco.monster/auth/register?code=9t2s 用此链接注册你后会获得2元现金抵用卷,购买流量包时能抵扣2元。

购买流量包

登陆后点击商店,购买适合自己的套餐,我购买的是30元机场畅通季卡。现在发现涨价了,季卡由30元涨成了50元。
paste image

科学上网工具

安装

1
brew cask install clashx

配置

把订阅配置到ClashX

在首页:https://aco.monster/user 点击Clash订阅 -> 一键导入Clash
paste image

阅读全文 »

1
2
3
4
5
# 创建项目目录
mkdir project && cd project

# 把当前目录初始化为Gradle项目
gradle init --type java-library

键盘输入 : 回车 -> 回车 -> 回车 -> [输入项目包名],回车

阅读全文 »

编译Spring-Frameworkn源码,使用以下环境:

名称 版本
macOS 10.15.6
Git 2.24.3
IntelliJ IDEA 2020.1.2
clashx(科学上网,用来下载源码依赖的jar) 1.20.3
JDK IntelliJ IDEA中的OpenJDK14
Gradle IntelliJ IDEA中的Gradle
Spring-Framework源码 5.3.0-SNAPSHOT
阅读全文 »

查看默认

1
2
3
sysctl kern.maxfiles
sysctl kern.maxfilesperproc
ulimit -n

修改

1
2
3
sudo sysctl -w kern.maxfiles=1048600
sudo sysctl -w kern.maxfilesperproc=1048576
ulimit -n 1048576

设置类

区分大小写

查询是否区分大小写

  1. 登录MySQL
    1
    2
    3
    # 登录
    mysql -u root -p
    # 输入密码
  2. 查询
    查询 lower_case_table_names 的值,0:区分大小写,1:不区分大小写
    1
    2
    # 查询
    SHOW VARIABLES LIKE '%case%'

设置不区分大小写

  1. 编辑mysql配置文件
    1
    2
    # 编辑mysql的配置文件
    vi /etc/mysql/my.cnf
    在 mysqld 这个节点下, 加入:
    lower_case_table_names=1
  2. 重启MySQL服务
    1
    service mysqld restart

最大连接数

查看最大连接数

1
show variables like 'max_connections';

设置最大连接数

1
set global max_connections=1000;

创建类

创建数据库

1
2


创建表

删除类

根据列删除重复,只留一条

1
delete from video where id not in (select t.no from (select max(id)as no from video group by no ) t;

查询类

查询是否存在记录

1
2
3
4
-- 高性能查询-推荐
select 1 from user limit 1;
-- 普通性能查询
select count(*) from user;

新增类

初始化测试数据

1
2
3
4
5
6
7
8
9
10
11
DROP PROCEDURE IF EXISTS proc_init_data;
CREATE PROCEDURE proc_init_data()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=10000000 DO
INSERT INTO `user` VALUES(i,i);
SET i = i+1;
END WHILE;
END;

CALL proc_init_data();

paste image
美化并增强Mac终端后的效果如图所示,对于输入正确的命令会变色,输入命令开头字符,自动提示输入过的命令。实现方式如下:

阅读全文 »

本人的Mac电脑安装的所有软件列表及安装方式,以备重装系统或者换电脑后快速重装所有软件。
软件分为开发用到的软件和生活中用到的软件。大部分软件是使用brew安装,在终端使用一行命令就可以安装上该软件。对于特殊软件(brew没有安装包、破解版等)需要手动下载安装包进行安装。

更新时间 更新内容
2020-08-05 添加有界面Reids客户端工具 another-redis-desktop-manager
2020-08-19 添加有界面WPS
阅读全文 »

启动停止删除

启动所有容器

1
sudo docker start $(sudo docker ps -a | awk '{ print $1}' | tail -n +2)

停止所有容器

1
sudo docker stop $(sudo docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有容器

1
sudo docker rm $(sudo docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有镜像

1
vdocker rmi $(sudo docker images | awk '{print $3}' |tail -n +2)

日志

查看某个容器的日志目录

1
sudo docker inspect [containerId] | grep log

清空某个容器的日志

错误。。待修改

1
sudo echo ' ' > /var/lib/docker/containers/[containerId]/*-json.log

实时打印容器日志

1
sudo docker logs [containerId] --tail=200 -f

–tail:最后200行开始

修改容器为自动启动

重新开机或者异常退出后会自动重启容器。

1
sudo docker update --restart=always [containerId]

查看容器的系统进程id

1
sudo docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q)

新增列

  • 语法
1
2
3
4
5
-- 给表新增列
ALTER TABLE [table_name] ADD [column] [type];

-- 给表的列添加注释
COMMENT ON COLUMN [table_name].[column] is [comment];
  • 实例
1
2
3
4
5
-- 给`STUDENT`表新增`NAME`列,类型是`VARCHAR2(40)`
ALTER TABLE STUDENT ADD NAME VARCHAR2(40);

-- 给`STUDENT`表的`NAME`列添加注释,注释内容是`姓名`
COMMENT ON COLUMN STUDENT.NAME is '姓名';
阅读全文 »