配置高效的zsh

Zsh是一个非常强大的shell, 拥有更好的自动补全和更加丰富的功能。zsh还有非常多的插件,可以帮助我们更加高效的使用命令行。在这个文章里面,我会介绍如果安装与配置一个高效的zsh环境。

安装zsh

各个平台的安装,参考Installing ZSH, 版本一定要5.1.1以上,如果版本低了,有些功能会不正常的。在centos7一些老的系统上面可能要自己编译安装zsh版本。

golang http的代码收集

golang http server

  1. golang http server

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    package main
    
    import (
        "fmt"
        "io/ioutil"
        "net/http"
    )
    
    func hello(w http.ResponseWriter, req *http.Request) {
        body, err := ioutil.ReadAll(req.Body)
        if err != nil {
                panic(err)
        }
        fmt.Println(string(body))
    
        fmt.Fprintf(w, "hello\n"+string(body))
    }
    
    func main() {
        http.HandleFunc("/hello", hello)
        http.ListenAndServe(":8090", nil)
    }

Tmux配置

编译安装

安装依赖

1
2
apt-get install libevent-dev
apt-get install libcurses-ocaml-dev

下载源码编译安装

1
2
3
4
5
6
$ wget  https://github.com/tmux/tmux/releases/download/2.9a/tmux-2.9a.tar.gz
$ tar -xvf tmux-2.9a.tar.gz
$ cd tmux-2.9a
$ ./configure
$ make
$ make install

Hammerspoon实战

hammerspoon简介

这是一个OS X平台上的非常强大的自动化工具。Hammerspoon的核心是操作系统和lua脚本的桥梁引擎。用户可以通过Hammerspoon的提供一批接口, 实现很多强大的功能。

Hammerspoon能做什么

你可以通过写lua脚本来与OS X的系统api进行交互,这些系统接口包括:应用,桌面,鼠标,文件系统,电池,屏幕,wifi等。

golang排序实践

对int, float64, string列表进行排序

可以直接使用库函数, 进行升序排序, 目前有以下三个库函数sort.Ints,sort.Strings,sort.Float64s

1
2
3
a := []int{1, 5, 4, 3, 2}
sort.Ints(a)
fmt.Println(a)

golang edns实战

目前需要从不同的地方访问一个域名的CNAME, 比如从国内和海外两个不同的地方访问, 并查看这个CNAME是不是设置正确。