Linux tmux 安装及配置

为什么要使用tmux? 对我个人而言,tmux 对我最大的吸引力就是 多窗口,以及会话的保持与恢复,我可以很方便的切换窗口,以及快速恢复工作环境 安装 我使用的是源码安装, 下载源码 下载链接 解压 进入到解压目录,执

修改时区

Linux修改时区的正确方法 CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localtime lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai 如果采用直

ssh慢

在目标机器中修改/etc/ssh/sshd_conf文件 将UseDNS 的缺省值由yes修改为no,并重启ssh

linux批量重命名

通过rename命令批量重命名文件 基本语法 示例 改变文件扩展名 大写改成小写 更改文件名模式 通过rename命令批量重命名文件 基本语法 rename [-n -v -f] <pcre> <files> ‘pcre’是Perl兼容正则表达式,它表示的是

git 设置和取消代理

设置ss git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080' 设置代理 git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0.0.1:1080 取消代理 git config --global --unset http.proxy git config --global --unset https.proxy

变量

var 方式 var name type = expiression var name string = "zhangsan" var name = "zhangsan" var name string // 默认值是 "" 变量列表声明 var 方式通常用户和初始化类型不一致的局部变量,或则初始化值不重要的情况 短变量声明 多变量声明 i,j := 0,1 重点 := 代表声明 = 标识赋值 交换值 i,j = j,i 第二次

数组与切片

数组 初始化 指定长度 a := [2]int{1,2} // 指定长度和字面量 不指定长度 a := [...]int{1,2} //不指定长度,有后面的列表来确定其长度 指定总长度,通过索引初始化, 没有初始化的位置使用默认值 a := [3]int{1:1, 2:3} 不指定总长度,通过索引初始化, 最后一个索

iota 用法

用在常量声明中,初始值为0,一组常量同时声明时,其值逐行增加 类似枚举 const ( c0 = iota //c0 == 0 c1 = iota //c1 == 1 c2 = iota //c2 == 2 ) 简写模式 const ( c0 = iota // c0 == 0 c1 // c1 == 1 c2 // c2 == 2 ) 分开的const 分开的const语句, iota 的

交叉编译

1.Mac下编译Linux, Windows Linux CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build filename.go Windows CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go 如: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o helloworld-windows helloworld.go 2.Linux下编译Mac, Windows Mac CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build filename.go Windows CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go 3.Windows下编译Mac, Linux Mac SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build filename.go Linux SET CGO_ENABLED=0 SET GOOS=linux

扩展git功能的一种方式

有时需要根据自己的工作场合去扩展 git 命令,比如 推送到仓库后自动打开浏览器跳转到发起合并求页面 分支命名比较长其相似度比较大时,自动补全不那么有效率,给每个分支编号,输入指定编号即可切换对应的分支 我最推荐的

基本类型以及范围

基本类型以及范围 选择优化的数据类型 MySQL 支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管 存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。 更小的通常更好。 一般情况下,应该尽

去除重复行

先sort排序,再去重 :sort //直接排序 :g/^\(.*\)$\n\1$/d //去除重复行 :g/\%(^\1$\n\)\@<=\(.*\)$/d //功能同上,也是去除重复行 :g/\%(^\1\>.*$\n\)\@<=\(\k\+\).*$/d //功能同上,也是去除重复行 使用awk awk '!a[$0]++' file 解析: awk流程是逐行处理的,默认从文件的第一行一直处理到文件最后一行 还

whenever使用方式

根据项目的进展,我们需要实现后台进行定时读取信息的功能,而最关键的实现部分是周期性功能,根据调研,决定使用whenever来实现这一功能。

github:https://github.com/javan/whenever

开发前需要明确的问题

  • whenever是怎样一种周期性机制?
  • whenever能为我们提供什么功能?
  • whenever为周期性任务提供了哪些控制方式?

问题解决

whenever周期性机制