自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Virgo没有强迫症

催人老的不是岁月,是懒惰

原创 6、docker-compose编排Redis哨兵,实现高可用

概述 本文依赖:docker部署redis 其实这些容器依赖的镜像,是同一个,只定制一个镜像即可: 准备哨兵架构 三个哨兵节点。一个主节点。三个从节点。 下面会定义一个网段是192.168.1.0。 名称 IP 外部映射端口 内部端口 容器名称 sentinel_1 192.1...

2019-12-24 15:17:01 117 0

转载 如何能够让博客被百度等搜索到

假如不把你的博客提交到各大搜索引擎中,它们一般是不会收录你的博客的,你可以先尝试一下看看能不能在百度搜到你的博客吧: 假如你搜不到的话说明你的博客还没有被百度收录,那么怎么才能被百度、google等各大搜索引擎收录你的博客呢?申请免费加入搜索引擎啦!一般百度在48小时内就会邮件答复你,假如申请成功...

2019-12-19 16:31:50 37 0

原创 2.使用Docker部署Golang编译环境

查找Docker中Golang的版本 golang in docker 其中 rc 是release candidate的缩写。是发布正式版之前的 发布候选版,用于公测 beta 是测试版本 只编译不运行 先将代码放在指定目录,然后进入该目录。 app.go package main ...

2019-12-19 15:36:33 134 0

原创 1.CentOS 7安装Docker

Install Docker Engine - Community for CentOS 目前docker分CE和EE,其中CE是社区版本: Community Docker Engine。这里就是我们要安装的版本。 安装步骤 旧的Docker版本称为docker或docker-engine。如...

2019-12-19 11:38:05 42 0

原创 Golang对中文汉字进行拼音排序

sort.Strings排序默认是按照Unicode码点的顺序的。 如果需要按照拼音排序, 可以通过GBK转换实现, 自定义一个排序接口, 这里的排序优先级数字>字母>汉字 代码如下: package main import ( "bytes" ...

2019-08-20 17:24:50 1100 1

原创 需求文档、需求分析报告、需求规格说明书分析

前言 在产品研发过程中,《需求文档》与《需求分析报告》以及《需求规格说明书》是产品研发的辅助文档,必不可少。遗憾的是不但外行人傻傻分不清,有时候相关从业者乃至被神化了的产品经理也是分不清楚。是什么导致了分歧与疑惑呢?三种文档名称都包含了需求,对需求的定义到什么程度?接下来,为你揭开需求的前世今生缥...

2019-04-29 11:01:03 4061 1

原创 分享一个日志系统 zap

https://github.com/uber-go/zap package main import ( "encoding/json" "log" "go.uber.org/zap" "go.uber.org/za...

2018-12-24 16:38:55 108 0

转载 MySql下实现先排序后分组 5.7出现的问题

https://blog.csdn.net/wangxi_xixi/article/details/82981533 https://blog.csdn.net/lglaljj123/article/details/79864188

2020-05-18 11:58:46 66 0

原创 面试必问:Golang高阶-Golang协程实现原理

https://www.cnblogs.com/nima/p/11751393.html

2020-03-25 18:08:25 111 0

原创 MySQL基础知识

1.基础知识 decimal能存储比bigint更大的整数;float和double只能做近似计算 经常变更的短字符串用char更好更高效。 text和blob查询会使用临时表,导致严重的性能开销。 单独查询或者单独垂直分表 timestamp y-m-d h:i:s 比datetime空间效率更...

2020-03-24 16:27:45 67 0

转载 mysql中的回表查询与索引覆盖

了解一下MySQL中的回表查询与索引覆盖。 回表查询 要说回表查询,先要从InnoDB的索引实现说起。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。 InnoDB的聚集索引 InnoDB聚集索引的叶子节点存储行记录,因...

2020-03-24 15:31:35 61 0

原创 Go语言的并发简单总结

Goexit结束当前goroutine,会调用defer, 不会产生panic 1.6.扇入扇出 fan in\fan out 1.7 通知退出机制 通知退出机制是学习使用context库的基础 Lable: for{ select { case ch<-rand.Int(): case &...

2020-03-20 14:26:31 44 0

原创 我的Chrome标签

https://studygolang.com/pkgdoc https://github.com/lpxxn/gomicrorpc https://learnku.com/go/t/36973 https://cloud.tencent.com/developer/section/1140383...

2020-03-20 13:46:13 54 0

原创 Go语言基础漫谈

引导程序整体结构的 8 个关键字 package 定义包名 import 导入包名 const 常量声明 var 变量声明 func 函数定义 defer 延迟执行 go 并发语法糖 return 函数返回 声明复合数据结构的 4 个关键字 struct 定义结构类型 interface 定义接口...

2020-03-19 10:50:40 43 0

原创 Go语言的接口简介

接口 接口可以嵌入另一个接口类型的匿名字段。编译器会自动展开。 接口带的是方法声明,带方法名,方法名是接口类型的一部分。 接口的命名一般以 er 结尾。 单独声明接口变量没有意义,只有被初始化的具体类型才有意义、 接口的意义:我们内部的某类型需要返回回去,但是一部分方法和属性不想对外暴露。我们可以...

2020-03-19 10:49:30 38 0

转载 Go语言Interface作为struct field,谈谈结构体中的匿名接口

Go语言中通过组合(composite)实现类似继承(extends)和重写(override)的功能,大家可能平时用的比较多的是struct中匿名struct的写法,有没有见过struct中匿名接口(anonymous interface)的写法呢? Interface这个接口直接作为struc...

2020-03-19 10:33:38 84 0

原创 Go语言测试

*_test.go 单元测试函数 {PASS/FAIL 测试函数的名字必须以Test开头,可选的后缀名必须以大写字母开头 func TestSin(t testing.T) { / … */ } 参数t用来报告测试失败和附加的日志信息 go test如果没有参数指定包 则采用当前目录对应的包,同...

2020-03-16 11:28:47 75 0

原创 GORM常用方法

gorm { // 获取通用 sql.DB 并使用其方法 db.DB() // Ping db.DB().Ping() // SetMaxIdleCons 设置连接池中的最大闲置连接数。 db.DB().SetMaxIdleConns(10) // SetMaxOpenCons 设置数据库的...

2020-03-16 10:09:14 218 0

原创 Uber的Go语言指南

1.接口实质上在底层用两个字段表示: 一个指向某些特定类型信息的指针。您可以将其视为"type"。 数据指针。如果存储的数据是指针,则直接存储。如果存储的数据是一个值,则存储指向该值的指针。 如果希望接口方法修改基础数据,则必须使用指针传递。 2.使用值接收器的方法既可以通过值...

2020-03-16 10:08:07 64 0

原创 kafka

https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/ 下载地址,别下载src bin/zookeeper-server-start.sh -daemon config/zookeeper.properties bin/kafka-server-sta...

2020-03-13 15:09:31 50 0

转载 领域驱动设计(DDD)-基础思想

领域驱动设计(DDD)-基础思想 - Ebiubiu的文章 - 知乎 https://zhuanlan.zhihu.com/p/109114670

2020-03-05 15:07:30 76 0

转载 这可能不是你认识的Go语言

不要对Go并发函数的执行时机做任何假设 请看下列的列子: import ( "fmt" "runtime" "time" ) func main(){ names := []string{"lily", &qu...

2020-03-03 17:28:22 45 0

转载 Go语言知识点四十二章经

内存分配发生在运行时,编译后的机器码不使用变量名而是直接使用内存地址访问目标数据,所以编码阶段采用易于阅读的变量名 惯例建议以组的方式整理多行变量定义 var {x,y int } type{ xxx } 简短声明一般用于函数多返回值,以及if for switch等语句中定义局部变量 未使用的局...

2020-03-03 15:13:33 54 0

转载 Go语言最佳实践

这些最佳实践更像是 Go 语言社区内部发展过程中积累的一些工程经验和共识,遵循这些最佳实践能够帮助我们写出符合 Go 语言『味道』的代码,我们将在这一小节覆盖以下的几部分内容: 目录结构; 模块拆分; 显式调用; 面向接口; 这四部分内容是在社区中相对来说比较常见的约定,如果我们学习并遵循了这些约...

2020-02-28 15:31:55 72 0

转载 Go Modules 终极入门

概要 Go modules 是 Go 语言中正式官宣的项目依赖解决方案,Go modules(前身为vgo)于 Go1.11 正式发布,在 Go1.14 已经准备好,并且可以用在生产上(ready for production)了,Go 官方也鼓励所有用户从其他依赖项管理工具迁移到 Go modu...

2020-02-28 14:52:51 86 0

转载 undefined: grpc.SupportPackageIsVersion6 和 undefined: grpc.ClientConnInterface 解决办法

问题表现 编译protobuf的 .pb.go文件时报错,如 undefined: grpc.SupportPackageIsVersion6 或 undefined: grpc.ClientConnInterface 和这个贴子的表现一样,https://github.com/grpc...

2020-02-24 11:11:01 2249 0

原创 全球公认最健康的作息时间表!全是知识点

丑时养生:熟睡保肝 丑时 1:00~3:00 肝经 人体状况:左为肝,右为肺,肝在东边属于青龙,肺西边为白虎,这两个在中医里是最难治的病。丑时肝经最旺,是肝脏修复的最佳时段。“肝主藏血”,人的思维和行动要靠肝血的支持,废旧的血液需要淘汰,新鲜的血液要产生,这种代谢通常都是在肝经最旺的丑时完成。如果...

2020-02-18 18:05:10 319 0

原创 Go语言的并发

原子操作就是并发编程中“最小的且不可并行化”的操作。 1.一般情况下,原子操作都是通过“互斥”访问来保证的 sync.Mutex 用互斥锁来保护一个数值型的共享资源,麻烦且效率低下。 sync/atomic 包对原子操作提供了丰富的支持 sync/atomic 包对基本的数值类型及复杂对象的读写...

2020-02-14 10:33:10 55 0

原创 Go语言的函数、方法和接口

函数 在Go语言中,函数是第一类对象,我们可以将函数保持到变量中。具名函数是匿名函数的一种特例。 当匿名函数引用了外部 作用域中的变量时就成了闭包函数,闭包函数是函数式编程语言的核心。 defer 语句延迟执行了一个匿名函数。因为这个匿名函数捕获了外部函数的 局部变量 ,这种函数我们一般叫闭包。...

2020-02-13 15:47:50 45 0

原创 Go语言中数组、字符串、切片之间的关系

Go语言中,数组、字符串、切片是密切相关的数据结构。 简介 Go语言的赋值和函数传参,除了闭包是引用的方式对外部变量访问外,其他赋值和函数传参都是 值传递的方式。 它们底层原始数据有相同的内存结构。 数组是一种值类型,数组本身的赋值和函数传递都是以整体复制的方式处理的。 字符串底层数据对应的是字...

2020-02-13 15:17:53 51 0

原创 Go语言的100个常识

1 channel实现CSP模型 2 内存分配:tcmalloc 3 动态库buildmode功能??? 4 缺乏真正意义上的调试器吗??? 5 依赖包管理问题??? 6 编译器将未使用的局部变量定义当作错误 7 函数可以返回函数类型func test() func(int) { return ...

2020-01-20 10:35:20 65 0

原创 grpc报错

1.消息体太小 error: “grpc: received message larger than max (6115095 vs. 4194304)” message: “grpc: received message larger than max (6115095 vs. 4194304)”...

2020-01-20 10:34:51 113 0

原创 seaweedfs

{ FastDFS 它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。 Seaweedfs (https://github.com/chrislusf/seaweedfs) Seaweedfs 的设计原理是基于 Facebook 的一篇图片存储系统的论文 Fac...

2020-01-20 10:34:25 130 0

原创 seaweedfs使用说明

基本概念 master 存储映射关系,文件和fid的映射关系 weed master Node 系统抽象的结点,抽象为datacenter、rack、datanode datacenter 数据中心,包含多个rack,类似一个机房 rack :属于一个datacenter,类似机房中的一个机架 d...

2020-01-20 10:33:47 111 0

原创 gRPC服务发现&负载均衡

简介 构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。 根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案: 集中式LB(Proxy Model) 该方案主要问题: 单点问题,所有服务调用流量都经过LB,当服务数量和调用量大的时候,LB容易成为瓶颈,...

2020-01-17 11:27:54 215 0

原创 12-Go语言基础-通道(channel)

12-Go语言基础-通道(channel)

2020-01-16 11:04:44 87 0

原创 11-Go语言基础-接口(interface)

11-Go语言基础-接口(interface)

2020-01-16 11:04:09 54 0

原创 10-Go语言基础-函数(func)

10-Go语言基础-函数(func)

2020-01-16 11:02:52 90 0

原创 9-Go语言基础-结构体(struct)

9-Go语言基础-结构体(struct)

2020-01-16 11:02:01 67 0

原创 8-Go语言基础-字典(Map)

8-Go语言基础-字典(Map)

2020-01-16 11:01:11 71 0

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