服务器有一个发送验证码到指定邮箱的功能。测试的时候,往往会随意填写一个邮箱来测试注册功能,往往需要从日志或者数据库去获取最近发送的验证码,今天就想着来做一个接口,仅供测试机使用,可以列出最近发送的 5 条验证码和对应的邮箱。
1. 长度固定,不能太长了,就最近的几条就可以,所以需要固定的队列。
2. 在添加的时候,自动删除最早添加的记录。
3. 输出的时候,倒序输出
解决 Spring boot Docker Mave 插件自动 push 失败
今天在 Spring Boot 中配置,使用 Maven 命令: mvn -X install -P product dockerfile:build,在自动打包的时候,就 push 镜像到 docker hub,但是一直报错:
Docker 入门
1. 什么是 Docker ?
- Go 语言实现
- 基于 Linux 内核 CGroup, namespace, UFS 等技术:
- CGroup : Control Groups 的缩写,控制 CPU,内存,IO等资源限制。
- namespace : 资源隔离,通过namespace,让一个进程是一个独立的盒子,拥有自己的 PID,网络,hostname等等,不能访问别的 namespace 的资源。
- UFS: 镜像和容器的管理,Docker 目前支持的联合文件系统包括 OverlayFS, AUFS, Btrfs, VFS, ZFS 和 Device Mapper,默认使用 overlay2
- 操作系统层面的虚拟化技术。
- 与传统的虚拟化技术对比:
- Open VZ 类似,但是虚拟出来的是 VPS,利用底层的内核,虚拟出一整套的操作系统。
Hexo Next 主题添加 Valine 评论系统
1. 评论系统选择
网上有很多关于评论系统的选择的介绍,国内国外的,参考下:
知乎 : Hexo(NexT 主题)评论系统哪个好?
- hypercomments : 老毛子开发,现在收费了,果断弃坑了。
- LiveRe : 很多人推荐,但是是棒子做的,注册的时候韩文,填写邮箱验证码死活不通过,放弃。
- Disqus : 国内没法用
gitment,作者弃坑了,果断弃坑,别的可以自己参考,最终选了 Valine.
gdrive 定时备份指定文件夹到 Google Drive
1. 安装 gdrive
1 | wget -O /usr/bin/gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download" |
2. 授权
1 | gdrive about |
- 回车后,会返回一个 url 地址,复制地址到浏览器打开,用谷歌账号授权后会有一个返回码,拷贝到命令行,然后回车即可。
Java 内存占用分析
1. 查看当前系统 jvm 内存分配 : jmap -heap [PID]
1 | [root@server]# jmap -heap 18932 |
- 出现异常的原因是没有安装jdk debuginfo, 需要安装 java-1.8.0-openjdk-debuginfo.xxxx,注意版本号
Cloudflare 配置 https 连接错误
cloudflare 自带的免费 SSL证书,只能使用在 一级域名 .abc.com,是不支持 *..abc.com 的域名的,如果需要支持 二级域名的 https,需要花钱购买。
已经不是第一次配错了,切记,切记,切记!!!!
Docker 的(Linux/Mac OS)网络配置问题
1. Docker 网络插件(Docker’s networking subsystem is pluggable)
1.1. bridge
- Docker 默认设置的网络模式。
- Linux :
- Docker 宿主机创建一个 docker0网卡, 随机分配一个本地未占用的私有网段,e.g: 172.17.0.1/16;
- Docker 容器会增加一个 eth0 的网卡,随机分配同一网段: e.g 172.17.0.0/16 中的一个 ip.
- 当 Docker 创建一个容器时,同时会创建了一对 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 docker0 网桥,名称以 veth 开头(例如 vethAQI2QT)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。
Linux 添加 swap
1. Linux 增加 swap
- 查看当前 swap 大小,可以用 top,或者 free -m(MB单位)
- 查看磁盘空间: df -ah
- 如果需要查看磁盘的分区情况: fdisk -l