Docker Compose Container 之间相互通信

Docker Compose Container 之前相互通信 因 links 属性已被废弃,官方建议使用 networks 来将几个 container 划分至一个网络,从而实现 container 之间互通。 创建一个桥接网络 docker network create YOUR_NET_NAME 默认网络方式即为桥接 YOUR_NET_NAME为你自定义的网络名称 ...

十二月 6, 2019

Nginx Hardening Checklist

五月 22, 2019

macOS 10.14 设置4位以下密码

macOS 10.14 后,系统不能设置 4 位以下密码。 解决方法: 打开终端或 Iterm2: 1pwpolicy -clearaccountpolicies 然后修改密码,或直接命令行修改 1passwd

五月 12, 2019

GO emoji 正则表达式

1// emoji regexp 2// \{1F300}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{2600}-\x{2B55} 3emoji := `😂` 4if matched := regexp. 5 MustCompile(`^[a-zA-Z0-9_\p{Han}\{1F300}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{2600}-\x{2B55}]{1,20}$`). 6 Match([]byte(emoji)); true { 7 log.Println(matched) 8}

三月 28, 2019

SubString for go (works well with unicode)

1// SubString works well with unicode 2func SubString(str string, start int, length int) string { 3 r := []rune(str) 4 n := len(r) 5 if start >= n || length <= 0 { 6 return "" 7 } 8 9 if start < 0 { 10 start = 0 11 } 12 end := start + length 13 if end > n { 14 end = n 15 } 16 17 return string(r[start:end]) 18}

一月 25, 2019

Git 清空所有commit记录方法

Checkout git checkout --orphan latest_branch Add all the files git add -A Commit the changes git commit -am "commit message" Delete the branch git branch -D master Rename the current branch to master git branch -m master Finally, force update your repository git push -f origin master

一月 4, 2019

openresty 直接解析markdown文件

原理 通过 openresty 的 body_filter 对 markdown 文件进行“包装”,添加html的外衣; marked.js 前端解析 markdown 为html格式。 使用方法 克隆或下载源码; 将enable-markdown.conf, rewrite/markdown.conf 文件放至openresty的conf目录,一般默认为/usr/local/openresty/nginx/conf; ...

一月 4, 2019

linux 指定用户执行crontab

三种方法 1. 直接以用户登录 1su someone 2crontab -e PS: 对于没有 bash 登录权限的用户不可用 2. 以 root 用户登录,创建用户的 crontab 文件 1sudo crontab -e -u someone PS: crontab 文件为 someone 用户创建,不好管理 ...

八月 27, 2018

18位身份证正则

18 位身份证号码各位的含义: 1-2: 省、自治区、直辖市代码; 3-4: 地级市、盟、自治州代码; 5-6: 位县、县级市、区代码; 7-14: 出生年月日,比如 19670401 代表 1967年4月1日; 15-17: 为顺序号,其中 17 位(倒数第二位)男为单数,女为双数; 18: 为校验码,0-9 和 X。作为尾号的校验码,是由把前十七位数字带入统一的公式计算出来的,计算的结果是 0-10,如果某人的尾号是 0-9,都不会出现 X,但如果尾号是 10,那么就得用 X 来代替,因为如果用 10 做尾号,那么此人的身份证就变成了 19 位。X 是罗马数字的 10,用 X 来代替 10。 ...

六月 13, 2018

定时备份MySQL脚本

useage 1mysqldump.sh DB_NAME mysqldump.sh 1#!/bin/sh 2 3DUMP=/usr/bin/mysqldump 4BAK_DIR=/production/backup 5 6DB_HOST=localhost 7DB_PORT=3306 8if [ ! -n "$1" ]; then 9 DB_NAME=dbname 10else 11 DB_NAME="$1" 12fi 13DB_USER=root 14DB_PASS=root 15DB_CHARSET=utf8 16DAYS=7 17 18DATE=`date +%Y%m%d_%H` 19PREFIX="bak_${DB_NAME}" 20BAK_SQL="${PREFIX}_${DATE}.sql" 21BAK_TAR="${PREFIX}_${DATE}.tar.gz" 22 23cd $BAK_DIR 24 25# back db 26$DUMP --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password=$DB_PASS $DB_NAME --default-character-set=$DB_CHARSET --opt -Q -R --skip-lock-tables > $BAK_SQL 27# tar .sql to .tar.gz 28tar -czf $BAK_TAR $BAK_SQL 29 30# remove .sql file 31rm $BAK_SQL 32 33# remove backup files $DAYS ago 34find $BAK_DIR -name "${PREFIX}*" -type f -mtime +$DAYS -exec rm {} \;

十二月 20, 2017