后端
Molecule
· ☕ 2 min read
介绍 Github Doc 安装 要求 Python >= 3.6 Ansible>=2.8 安装步骤 CentOS Ubuntu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 > yum install -y gcc python3-pip python3-devel openssl-devel libselinux-python > mkdir ~/.pip > cat > ~/.pip/pip.conf << EOF [global] trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/ EOF > mkdir ~/.pip > cat > ~/.pip/pip.conf << EOF [global] trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/ EOF > pip3 install molecule ansible docker-py 1 2 3 4 5 6 7 8 9 > apt-get update > apt-get install -y python3-pip libssl-dev > mkdir ~/.

Go语言
· ☕ 27 min read
变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 package main // 演示:声明变量 import ( "fmt" ) // 声明变量-标准声明 var name string var age int var isOk bool // 批量声明变量 var ( a string b int c bool d float32 ) func main() { // 变量赋值 name = "王丽兵" age = 36 isOk = true fmt.

hugo
· ☕ 1 min read
介绍 官网 Docs 常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 ### 安装 > brew install hugo ### 新建站点 > brew new site blog > cd blog ### 新建博文 > hugo new posts/hello.md ### 查看生成效果,实时预览 > hugo server ### 更改端口 > hugo server --port=4000 ### 发布到public目录中 > hugo

Gin源码阅读笔记
· ☕ 3 min read
介绍 官网 Github Docs 目录结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ├── AUTHORS.

when-changed
· ☕ 1 min read
介绍 Github 安装 1 $ pip3 install https://github.com/joh/when-changed/archive/master.zip 使用 1 2 3 4 5 6 7 # 语法 when-changed [OPTION] FILE COMMAND... when-changed [OPTION] FILE [FILE ...] -c COMMAND # 示例 $ when-changed -r -v . python main.py $ when-changed -r -v -1 . ./run.sh

Vim
· ☕ 9 min read
介绍 技术 特性 适用场景 说明 Vim - 官网 - VimAwesome - vimcolors - VimGolf - https://github.com/kaochenlong/cch 安装 MacOS CentOS Ubuntu 1 > brew install vim 1 > yum -y install vim 1 > apt-get install vim 'use strict'; var containerId = JSON.

nsq
· ☕ 2 min read
介绍 技术 特性 适用场景 说明 NSQ - 基于Go语言编写 - 分布式和分散的拓扑,没有单点故障,支持容错和高可用性,并提供可靠的消息交付保证 - 支持横向扩展,没有任何集中式代理 - 易于配置和部署,并且内置了管理界面 消息队列 - 官网 - Doc - quick_start - Github 运维 安装 MacOS CentOS Docker Docker-Compose 1 > brew install nsq 1 > wget https://s3.amazonaws.com/bitly-downloads/nsq/nsq-1.2.0.linux-amd64.go1.12.9.tar.gz 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ### Run nsqlookupdAnchor link for: run nsqlookupd > docker pull nsqio/nsq > docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd # Run nsqd > docker pull nsqio/nsq > docker run --name nsqd -p 4150:4150 -p 4151:4151 \ nsqio/nsq /nsqd \ --broadcast-address=<host> \ --lookupd-tcp-address=<host>:<port> # Using TLS > docker run -p 4150:4150 -p 4151:4151 -p 4152:4152 -v /home/docker/certs:/etc/ssl/certs \ nsqio/nsq /nsqd \ --tls-root-ca-file=/etc/ssl/certs/certs.

ag
· ☕ 1 min read
介绍 -Github 安装 MacOS CentOS Ubuntu 1 > brew install the_silver_searcher 1 2 > yum install epel-release > yum install the_silver_searcher 1 > apt-get install silversearcher-ag 'use strict'; var containerId = JSON.parse("\"ff2eee6b45cee8ef\""); var containerElem = document.getElementById(containerId); var tabLinks = null; var tabContents = null; var ids = []; if (containerElem) { tabLinks = containerElem.

yamlpath
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 yamlpath - 支持yaml、json 命令行对yaml文件读写 - Github 安装 1 $ pip3 install yamlpath 参考 shyaml:在命令行下处理 YAML

bashful
· ☕ 3 min read
介绍 技术 特性 适用场景 说明 bashful - 跨平台 - 串行或并行 - 日志记录 - yaml块配置任务 -命令失败时的详细错误报告 - 控制失败后是否停止执行 shell多任务 - Github 安装 MacOS CentOS Ubuntu Go 1 2 > brew tap wagoodman/bashful > brew install bashful 1 2 > wget https://github.com/wagoodman/bashful/releases/download/v0.0.10/bashful_0.0.10_linux_amd64.rpm > rpm -i bashful_0.0.10_linux_amd64.rpm 1 2 > wget https://github.

shyaml
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 shyaml shell中解析 YAML 文件 - Github 安装 MacOS Python 1 > brew install shyaml 1 > pip install shyaml 'use strict'; var containerId = JSON.parse("\"6093f6ccbe852d53\""); var containerElem = document.getElementById(containerId); var tabLinks = null; var tabContents = null; var ids = []; if (containerElem) { tabLinks = containerElem.

mdpdf
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 mdpdf - Github Quick Start 1 2 3 4 5 6 7 8 # install globally $ npm install mdpdf -g # Simple convert using GitHub Markdown CSS and some additional basic stylings $ mdpdf README.md # Convert with custom styling with a header of height 22mm $ mdpdf README.md --style styles.css --header header.

jasmin
· ☕ 5 min read
介绍 技术 特性 适用场景 说明 jasmin SMS gateway - 官网 - Getting started - Doc - Github 运维 安装 前提条件 RabbitMQ Redis python-dev(Ubuntu中的包名) libffi-dev(Ubuntu中的包名) libssl-dev(Ubuntu中的包名) python-twisted(Ubuntu中的包名) Python2.7(不能是Python3) 安装步骤 CentOS Ubuntu Docker 1 2 3 4 5 6 7 8 9 10 11 > yum -y install Python-devel libffi libffi-devel openssl-devel > yum -y install epel-release > yum install python-pip -y > pip install --upgrade pip > wget https://files.

Sentry
· ☕ 2 min read
介绍 技术 特性 适用场景 说明 Sentry 应用程序监视 - 官网 - Doc - Github 运维 安装 原生安装 先决条件 Redis RabbitMQ Python 安装步骤 1 2 3 4 5 6 7 8 9 # 安装Python $ # 安装 Sentry $ pip install sentry # 配置Sentry ## 初始化,会在 $HOME 下生成 .sentry 目录 $ sentry init Docker安装(推荐) 先决条件 Docker17.

JUnit
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 Junit 单元测试 - 官网 - JUnit 5 User Guide - Github - Junit 5官方文档中文版 JUnit5 注解 注解 说明 @Test 表示该方法是一个测试方法 @ParameterizedTest 表示该方法是一个参数化测试 @RepeatedTest @TestFactory 测试工厂进行动态测试 @TestTemplate @TestMethodOrder @TestInstance @DisplayName @DisplayNameGeneration @BeforeEach 在每个测试方法之前执行 @AfterEach 在每个测试方法之后执行 @BeforeAll 在当前类中的所有测试方法之前执行 @AfterAll 在当前类中的所有测试方法之后执行 @Nested 嵌套测试 @Tag 标记和过滤 @Disabled 用于禁用一个测试类或测试方法 @Timeout @ExtendWith 就是放在测试类名之前,用来确定这个类怎么运行的 @RegisterExtension @TempDir - 断言 断言 说明 assertEquals(a, b) 测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法) assertFalse(a) 测试a是否为false(假),a是一个Boolean数值。 assertTrue(a) 测试a是否为true(真),a是一个Boolean数值 assertNotNull(a) 测试a是否非空,a是一个对象或者null。 assertNull(a) 测试a是否为null,a是一个对象或者null。 assertNotSame(a, b) 测试a和b是否没有都引用同一个对象。 assertSame(a, b) 测试a和b是否都引用同一个对象。 fail(string) Fail让测试失败,并给出指定信息。 assertThat(expected, Matcher) 通过Matcher断言Hamcrest :greaterThan,greaterThanOrEqualTo,lessThan,anything,anyOf,containsString