如何编写Go语言代码
原文:https://golang.org/doc/code.html
本文演示了一个包含模块(module)的简单Go包的开发,并介绍了Go的一些工具,这是获取(fetch)、构建(build)和安装(install) Go模块,包和命令的标准方式。
第一个程序选择一个模块路径(我们将会使用example.com/user/hello),然后创建一个声明模块的go.mod文件。
12345678$ mkdir hello # Alternatively, clone it if it already exists in version control.$ cd hello$ go mod init example.com/user/hellogo: creating new go.mod: module example.com/user/hello$ cat go.modmodule example.com/user/hellogo 1.14
Go 源文件的第一句语句必须是包名。可执行命令则必须使用package main。
1234567package m ...
Shell学习:输出帮助
输出帮助日常执行脚本的时候,时间久了不知道脚本的作用和实行了哪些功能,需要重新看脚本源码。因此,需要对脚本做一下输出帮助。
执行script.sh -h来显示脚本使用帮助。
格式参考:
12345678910111213141516171819###### my-script — does one thing well###### Usage:### my-script <input> <output>###### Options:### <input> Input file to read.### <output> Output file to write. Use '-' for stdout.### -h Show this message.help() { sed -rn 's/^### ?//;T;p' "$0"}if [[ $# == 0 ]] || [[ "$1" == "- ...
MySQL:8.0版本安装
安装MySQL 8.0版本系统环境:
1CentOS Linux release 8.1.1911 (Core)
添加源12rpm -Uvh https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpmdnf clean all
安装1dnf install mysql mysql-server mysql-devel
启动并设置开机自启12systemctl enable mysqldsystemctl start mysqld
修改root密码12345678910111213141516171819[root@centos8 ~]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.17 Source distributionCopyright (c) 2000, 2019, O ...
etcd:基础知识
参考:
https://segmentfault.com/a/1190000023047434
《Docker技术入门与实践》
etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值 (key-value) 数据库。etcd 内部采用raft共识算法作为一致性算法,etcd 基于 Go 语言实现。
raft共识算法是一套通过选举主节点来实现分布式系统一致性的算法。
概述特点:
简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单
安全:支持 SSL 证书验证
快速:根据官方提供的 benchmark 数据,单实例支持每秒 2k + 读操作
可靠:采用 raft 算法,实现分布式系统数据的可用性和一致性
术语
术语
说明
Raft
etcd 所采用的保证分布式系统强一致性的算法。
Node
一个 Raft 状态机实例。
Member
一个 etcd 实例。它管理着一个 Node,并且可以为客户端请求提供服务。
Cluster
由多个 Member 构成可以协同工作的 etcd 集群 ...
api管理平台YApi
概述YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性
基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
类似 postman 的接口调试
自动化测试, 支持对 Response 断言
MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
支持 postman、har、swagger 数据导入
免费开源,内网部署,信息再也不怕泄露了
环境准备环境要求:
nodejs(7.6+)
mongodb(2.6+)
git
安装git和nodejs12345yum -y install epel-releaseyum -y install nodejs git openssl-devel npm confi ...
Zabbix:解决5.0版本中文乱码问题
Zabbix web界面不能选择中文,提示:
1You are not able to choose some of the languages, because locales for them are not installed on the web server.
解决:
安装zh_CN语言包
1dnf install langpacks-zh_CN.noarch
安装glibc-common实现对语言包的识别
1dnf install glibc-common
如果已安装过,需要重新安装
1dnf reinstall glibc-common
测试安装是否成功,如果看到zh_CN语言已安装,则表示成功
1locale -a | grep zh_CN
安装完成后,回到web页面刷新,可以看到中文语言已可以选中
但是切换到中文后,图表界面出现乱码:
需要手动上传本地Windows的字体(如微软雅黑)到Zabbix服务器的/usr/share/zabbix/assets/fonts/
123cd /usr/share/zabbix/assets/fontsmv gra ...
Zabbix:5.0版本安装
概述Zabbix 5.0已经正式发布,相比4.0,它在可用性,安全性和完整性方面都有一系列重要改进。
支持的平台除了现有的官方软件包和appliances外,Zabbix 5.0现在还支持以下平台:
SUSE Linux Enterprise Server 15
Debian 10
Ubuntu 20.04
Raspbian 10
Mac OS/X
RHEL 8
CentOS 8
MSI for Windows Agent
安全相关SAML用于在安全身份提供者处提供单点身份验证,这意味着用户登录认证需要满足防火墙的安全策略,然后SAML用于向Zabbix和其他应用程序声明身份。SAML方式的支持使Zabbix具备开箱即用的与各种本地和云身份提供商(如Microsoft ADFS、OpenAM、Secureath、Okta、Auth0等)集成的功能。
Zabbix 5.0为更安全的监控进行了重大改进:
支持Webhook的HTTP代理,使从Zabbix server到外部告警和ITSM系统的连接更加安全和可控
agent端的监控指标支持黑名单和白名单
所有Zabbix组 ...
Windows Terminal安装并美化
介绍Windows Teminal是一款新式、快速、高效、强大的终端应用程序,适用于命令行工具、命令提示符、PowerShell、WSL(Linux子系统)等等的Shell用户,主要功能包括多选项卡、窗格、Unicode/UTF-8字符支持、GPU 加速文本渲染引擎,以及自定义主题、样式和配置等等。
Github地址:https://github.com/microsoft/terminal
官网下载地址:https://www.microsoft.com/zh-cn/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
安装Windows Terminal打开Microsoft Store,搜索Windows Teminal并安装。
启动:
安装最新版本PowerShellWidows 10 默认是 Windows PowerShell 是 5.X 版本,在 Win10 V1903 以上版本后,打开 PowerShell 时,会提示 “尝试新的跨平台 PowerShell https://aka.ms/p ...
Nginx:优化
原文:https://www.nginx.com/blog/help-the-world-by-healing-your-nginx-configuration/
In his famous speech at the University of Texas in 2014, Admiral William H. McRaven said that if you want to change the world, start off by making your bed. Sometimes small things can have a big impact – whether it’s making your bed in the morning or making few changes to your website’s HTTP server configuration.
Does that seem like an overstatement? The first months of 2020 have flushed down the drain all defini ...