自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灰猫

hello world !!!

  • 博客(194)
  • 收藏
  • 关注

原创 Docker 安装与使用 2019

官网:www.docker-cn.com简介:Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的核心概念:docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之...

2019-06-27 16:00:21 1201

原创 go build

1、build#cd 对应需要编译的目录#无参数编译go build#-o 设置编译后文件名字go build -o run01#可指定编译内容go build -o run01 main.go read.go#-v 编译时显示包名#-x 打印编译时会用到的所有命令go build -v -x -o run01 main.go read.go2、打包不同操作平台GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows

2021-12-09 09:50:02 358

原创 go 系统关闭时监听

package mainimport ( "fmt" "os" "os/signal" "syscall" "time")func main() { ch := make(chan os.Signal, 1) signal.Notify(ch, syscall.SIGKILL, syscall.SIGINT) go func() { time.Sleep(20 * time.Second) GracefullExit(ch) }() for { s := &l.

2021-07-28 18:27:53 635

原创 go 时间工具

package frameimport ( "strconv" "time")const SecondPerWeek = int64(24 * 60 * 60 * 7)const SecondPerDay = int64(24 * 60 * 60)const SecondPerHour = int64(60 * 60)const SecondPerMinute = int64(60)const SecondPerYear = int64(365 * 24 * 60 * 60)ty.

2021-07-28 17:44:52 264

原创 linux 遇到问题整理

1.test.sh是在windows下进行编辑然后上传到linux下的,windows下与linux下的编码不一致。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本vi test.sh# 查看文档类型如果是dos,需要修改: set ff# 修改成unix格式:set ff=unix...

2020-11-18 19:00:53 133

原创 golang 排序、随机数工具、二分查找

1、sortpackage mainimport ( "fmt" "sort")type Person struct { Name string Age int}func (p Person) String() string { return fmt.Sprintf("%s: %d", p.Name, p.Age)}// ByAge implements sort.Interface for []Person based on// the Age field.ty

2020-10-17 15:46:30 175

原创 golang 定时器使用

package mainimport ( "fmt" "log" "time" "github.com/jasonlvhit/gocron" "github.com/robfig/cron")func task() { fmt.Println("I am runnning task.", time.Now())}func superWang() { fmt.Println("I am runnning superWang.", time.Now())}//每隔4秒执行一.

2020-10-17 15:43:37 316

原创 golang mail、shell、cookie、uuid

mailpackage mainimport ( "fmt" "net/smtp" "strings")func sendMain(subject string, body string, to string) { //这里需要申请授权码 auth := smtp.PlainAuth("", "[email protected]", "waeeg", "smtp.qq.com") tos := []string{to} nickname := "管理员" user := "5914@q

2020-10-13 19:26:41 240

原创 golang base64、sha256

base64package mainimport ( "encoding/base64" "fmt")/*通用编码表,编码解码*/func system() { s := "heal the world, make it a better place" fmt.Println("原始数据", s) //编码 s64_std := base64.StdEncoding.EncodeToString([]byte(s)) fmt.Println("编码", s64_std)

2020-10-13 17:49:33 447

原创 golang rpc

http_clientpackage mainimport ( "fmt" "log" "net/rpc")type Args struct { A, B int}type Quotient struct { Quo, Rem int}func main() { client, err := rpc.DialHTTP("tcp", "localhost:1234") if err != nil { log.Fatal("dialing:", err) } /

2020-10-13 17:41:55 115

原创 golang config(yaml)

package mainimport ( "fmt" "io/ioutil" "log" "gopkg.in/yaml.v2")type conf struct { Enabled bool `yaml:"enabled"` Port int32 `yaml:"port"` ServerName string `yaml:"server_name"` Timeout int64 `yaml:"timeout"`}func (c *conf) getC.

2020-10-13 17:38:58 782

原创 golang protobuf

1.安装protoc安装完后把bin下放入环境变量中 https://github.com/protocolbuffers/protobuf/releases protoc --version (查看当前版本) 2.安装protoc-gen-go go get -u github.com/golang/protobuf/protoc-gen-go (cmd输入) $GOPATH/bin (会自动存入这个目录,把这个目录也加入环境变量) 3.创建proto文件...

2020-10-12 16:51:26 143

原创 golang 安装笔记(windos)

1.环境变量国内包下载网站(下载sdk) https://studygolang.com/ 安装完后,会自动把go/bin加入环境变量中。 添加GO111MODULE =on (开启gomod使用,导入包用的) GOPATH =C:\object\goproject (本地包,项目地址) GOPROXY =https://mirrors.aliyun.com/goproxy (远程下载镜像)2.idea配置这里不要配置,不然和下面 go modules冲突3...

2020-10-12 10:29:37 182

转载 go 环境变量(别人的,只是方便自己翻阅)

本人安装Window系统下的Go语言的相关信息如下:Go语言版本:go1.14.6安装包:go1.14.6.windows-amd64.msi安装路径:D:Program FilesGoWin10系统下配置Go语言环境变量 打开Win10下的环境变量设置界面 右键我的电脑->属性->高级系统设置->环境变量。它有用户变量和系统变量。两者的区别是用户变量下配置只对当前用户有效,系统变量下配置对所有用户有效。本人建议在用户变量下配置。配置GOROOT选择&.

2020-10-10 19:09:53 356

原创 golang error、flag 15

errorvar write = errors.New("分母不能为0")/*通用处理方式*/func run(a int)(int,error) { if a == 0 { return 0,write } return 66 / a, nil}func main() { v, error := run(0) if error != nil { fmt.Println(v,error) return } fmt.Println(v)}flag

2020-10-09 17:43:55 144

原创 golang 日志(log) 14

var ( Trace *log.Logger Info *log.Logger Warning *log.Logger Error *log.Logger)func Init( traceHandle io.Writer, infoHandle io.Writer, warningHandle io.Writer, errorHandle io.Writer) { Trace = log.New(traceHandle,//日志存储 "TRACE: ",//前.

2020-10-09 17:42:01 279

原创 golang 线程安全(expvar、Cond、Map、Once、Pool) 13

1.expvar(公共变量,原子操作)var ( test = expvar.NewMap("Test") testInt = expvar.NewInt("TestInt"))func init() { test.Add("go", 10) test.Add("go1", 10)}/*http://localhost:8080/debug/vars可查看全局信息*/func main() { update() sock, err := net.Listen("tcp"

2020-10-09 10:51:35 504 1

原创 golang channel 12

1.启动设置运行线程数func main() { //获取服务器线程数 num := runtime.NumCPU() //设置运行线程数 runtime.GOMAXPROCS(num -1) fmt.Println("cpu",num -1)}2.go/*go test("并发") 理解为开的一个协程,主线程执行完毕时,协程也会跟着停止*/func main() { go test("并发") //不会输出(主线程执行完毕时,协程也会跟着停止) test("普通")

2020-09-24 19:53:35 4547

原创 golang defer、panic、recover、error 11

defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try…catch…的角色1.defer/*deferdefer后边会接一个函数,但该函数不会立刻被执行,而是等到包含它的程序返回时defer函数才会被执行。通常用于资源释放、打印日志、异常捕获等*/func deferR()error { f, err := os.Open("filename") if err != nil { return err } /** * 还有些使用的类.

2020-09-24 19:45:04 251

原创 golang file 10

1.终端读写/*终端读写 (就是控制台操作)os.Stdin:标准输入os.Stdout: 标准输出os.Stderr:标准错误输出*/func DayRun() { buffer := bufio.NewReader(os.Stdin) s, err := buffer.ReadString('\n') if err == nil{ fmt.Println("s",s) }else { fmt.Println("err",err) }}2.文件读写Open

2020-09-24 19:33:45 256

原创 golang 接口interface 09

1.接口会自动和拥有相同方法的结构体关联/*只要一个变量,含有接口类型中的所有方法,那么这个变量就实现这个接口。如果一个变量含有了多个interface类型的方法,那么这个变量就实现了多个接口。*/type MyInterface interface{ GetName() string GetAge() int}type StringInterface interface{ SumAgeSa() int}type CommonInterface interface{ My.

2020-09-24 19:22:18 167

原创 golang 结构体struct 08

1.简单结构体/*普通结构体*/type Student struct { Name string Age int Score int}/*双向链表*/type List struct { Name string Next* List Prev* List}/*二叉树*/type Tree struct { Name string left* Tree right* Tree}2.创建/*make 用来创建map、slice、channel

2020-09-24 19:17:06 337

原创 golang 锁 07

/*互斥锁, var mu sync.Mutex 读和写频率一样的场景 */var hLock sync.Mutexfunc Lockh(){ //runTest1() runTest2()}func runTest1(){ ch := make(chan int) for i := 0; i < 10; i++ { go test(ch, i) } for i := 0; i < 10; i++ { <-ch }}func test(ch .

2020-09-19 18:00:48 60

原创 golang 数组、切片、map 06

1. close:主要用来关闭channel2. len:用来求长度,比如string、array、slice、map、channel3. new:用来分配内存,主要用来分配值类型,比如int、struct。返回的是指针4. make:用来分配内存,主要用来分配引用类型,比如chan、map、slice5. append:用来追加元素到数组、slice中6. panic和recover:用来做错误处理go get安装第三方包//数组func Array01() { lenN :=.

2020-09-19 17:59:13 373

原创 golang 函数 05

package base016import "fmt"func FunRun(){ sum,avg := calc(3,5) fmt.Println("FunRun", sum,avg) fmt.Println("FunRun", addMore(6,1,2,3,4)) a()}func a() { defer func() { fmt.Println("defer","1") }() defer func() { fmt.Println("defer","2") .

2020-09-19 10:16:21 86

原创 golang 字符串 04

package base016import ( "fmt" "strconv" "strings")func ChangeType(){ a := 5.0 // 转换为int类型 b := int(a) //int 转换成string str := strconv.Itoa(b) + "666" //bool 转换成string str1 := strconv.FormatBool(false) //字符串转换成 int ints, _ := strconv.Atoi(".

2020-09-19 10:14:26 147

原创 golang 时间循环、流程控制条件

package base016import ( "fmt" "math/rand" "strconv" "time")func BaseTime() { now := time.Now() fmt.Println("时间戳(秒):", now.Unix()) fmt.Println("时间戳(纳秒):", now.UnixNano()) fmt.Println("时间戳(毫秒):", now.UnixNano()/1e6) fmt.Println("时间戳(纳秒转毫秒):",.

2020-09-19 10:11:10 1439

原创 golang 基本类型02

1.常量const ( ca = iota //一个初始数字的函数,ca自动赋值0,cb=1,cc=2 cb cc)func value() { /* 常量 const修饰,初始化就必须赋值,只能读不能修改 const 只能修饰boolean,number和string 用法 const identifer[type] = value //type可以不写 */ const name = "helloworld" const Pi = 3.1415926 cons

2020-09-07 08:04:53 157

原创 golang 基础01

1.下载 go SDK 1.14 并安装2.添加一个环境变量

2020-09-06 23:35:12 330

原创 lua time03(个人笔记)

--[[函数是第一类值与数值和字符串等具有相等权限(可以到处传递)]]-- 表排序(有点像java lamada表达式)network = { {name = "grade1",IP = "192.168.1.1"}, {name = "grade2",IP = "192.168.1.2"}, {name = "grade3",IP = "192.168.1.3"},}table.sort(network,function(a,b) return (a.name > b.na.

2020-09-01 09:19:31 69

原创 lua table02(个人笔记)

-- 表a = {} -- 可以混用存储x = "name" a[1] = 6 a[2] = 7 a[3] = 8 a[4] = 9 -- 数组 同前面(days = {"sunday","monday",tuseday})a[x] = "tap4fun" a["age"] = 66 -- map 同前面(days = {x = 10,y = 9,"three" = 8})a.x -- 获取方法1a[x] -- 获取方法2-- 遍历表t = {10,p.

2020-09-01 09:18:25 113

原创 lua base01(个人笔记)

ss

2020-09-01 09:17:27 157

原创 linux git 常用命令

1.安装git# 安装yum install git# 配置用户名和邮箱git config --global user.name "graycat"git config --global user.email "[email protected]"# 创建本地版本库mkdir gitsavecd gitsavegit init2.克隆远程项目# 克隆git clone https://git.oschina.net/Tocy/SampleCode.git# 查看当前克隆地址.

2020-08-28 10:18:45 356

原创 RestTemplate 简单使用(笔记)

get public static void get(){ RestTemplate restTemplate = new RestTemplate(); //不带参数get Notice notice = restTemplate.getForObject("http://localhost:8088/rest/notice",Notice.class); System.out.println(notice.toString()

2020-08-12 17:25:18 241

原创 查看redis 内存使用情况

# 切换对应数据库select 2# 查看数据信息info# Memoryused_memory:1552032 #数据占用了多少内存(字节)used_memory_human:1.48M #数据占用了多少内存(带单位的,可读性好)used_memory_rss:11149312 #redis占用了多少内存used_memory_rss_human:10.63Mused_memory_peak:1591904 #占用内存的峰值(字节)used_memory_peak_huma.

2020-08-03 16:42:03 1396

原创 springBoot + Aspect 通过注解实现代理

1.pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>2.注解package com.gray.demo.core.proxy2;import

2020-07-31 14:06:15 544

原创 spring boot 连接mongodb,多数据源

1.pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>2.ymlserver: port: 8088spring: da

2020-07-17 16:33:39 484

转载 Springboot 打jar包分离lib

pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven

2020-07-06 13:50:07 496

原创 prometheus+Grafana监控(docker个人笔记)

下载镜像# prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。docker pull prom/prometheus# Grafana全面瓦解 美观、强大的可视化监控指标展示工具docker pull grafana/grafana# linux 信息导出docker pull prom/node-exporter# redis 信息导出docker pull oliver006/redis_exporterlinuxl启动no

2020-05-29 18:46:19 727

原创 mysql-简单命令-数据类型(笔记)

库操作# 登陆数据库mysql -u root -p# 创建数据库create DATABASE user_data;# 选择数据库use user_data;# 删除数据库drop database user_data;数据类型 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 byte (-128,127) (0,255) 小整数值 SMALLINT 2 bytes (-

2020-05-28 11:35:20 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除