赞了文章2022-01-30
Go1.18 将会推出一个新特性:Multi-Module Workspaces,用于支持 Module 多工作区,能解决以往的一系列问题。
赞了文章2020-08-30
“微服务的战争” 是一个关于微服务设计思考的系列题材 ? ,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,可以微信搜一搜【脑子进煎鱼了】或我的 博客 进行沟通和交流。
赞了文章2020-08-14
好未来是一家以智慧教育和开放平台为主体,以素质教育和课外辅导为载体,在全球范围内服务公办教育,助力民办教育,探索未来教育新模式的科技教育公司。
赞了文章2020-07-06
面试场景 面试官:Redis有哪些数据类型? 我:String,List,set,zset,hash 面试官:没了? 我:哦哦哦,还有HyperLogLog,bitMap,GeoHash,BloomFilter 面试官:就这?回家等通知吧。 前言 我敢肯定,第一个回答,100%的人都能说上来,但是第二个回答能回答上来...
发布了文章2020-06-09
在GO语言中goroutine的开启是很方便的只需要一个关键词go func() 就可以开启一个协程。但是在协程中我们可能会遇到一些致命的错误,如果这个时候我们没有对这个错误进行处理,那么整个程序就会崩溃。而在Go中为解决这个问题提供了一个recover函数来处理。
发布了文章2020-05-21
上一篇写了些简单的单元测试,这一篇来看看go中的基准测试。在go中基准测试也是开箱即用的。使用testing.B结构对象。 需要测试的代码 我们依然用上一篇的代码结构 {代码...} 创建一个基准测试 创建普通单元测试我们使用TestFunc来定义。创建基准测试我们需要使用Benc...
发布了文章2020-05-16
其实在很长一段时间,包括现在,我都很不喜欢写单元测试。因为维护单元测试的成本很高。只有接口做了一点变更,那么单元测试就必须做相同的变更,否则会导致测试不通过。
赞了文章2020-04-25
前言 本文作为入门级的DEMO,完全按照官网实例演示; 项目目录结构 Maven 依赖 {代码...} 前端页面 home.html {代码...} 前端页面 login.html {代码...} 前端页面 hello.html {代码...} 启动程序 Application.java {代码...} HomeController.java {代码...} Web安全...
赞了文章2020-03-13
前言 文本已收录至我的GitHub精选文章,欢迎Star:[链接] 在前一阵子,大哥问过我:”你知道MySQL的原子性是怎么保证的吗“。我懵逼了,MySQL怎么保证原子性?我不会啊。 谁都知道在事务里边原子性的意思:”一个事务包含多个操作,这些操作要么全部执行,要么全都不执...
赞了文章2020-03-03
context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。
发布了文章2020-02-20
比如一个订单导出的接口有20万条记录,如果使用simple rpc来实现的话。那么我们需要一次性接收到20万记录才能进行下一步的操作。但是如果我们使用streaming rpc那么我们就可以接收一条记录处理一条记录,直到所以的数据传输完毕。这样可以较少服务器的瞬时压力,也更...
发布了文章2020-02-11
微服务想必大家都不陌生了。刚接触到golang,那么在golang中怎么使用微服务呢。这里使用gRRC框架写了一个简单的例子。 环境要求 go>=1.13; set GO111MODULE=on 安装 protoc 安装 Protoc plugin-go 示例代码 iris-grpc-example 项目结构 {代码...} 通过目录可以看...
发布了文章2020-02-03
幂等:在编码中谈的幂等一般对应数学概念中的一元幂等:某一元运算为幂等的时,其作用在任一元素两次后会和其作用一次的结果相同f(f(x)) = f(x)。既对于同一个输入不管进行多少次函数运算都应该都应该得到相同的结果。
发布了文章2020-01-14
golang中有个神奇的函数init,该函数会在所有程序执行开始前被调用,每个包可以包含多个init函数,所有被编辑器识别到的init函数都会在main函数执行前被调用。通常被用来注册一个程序需要使用的依赖,如mysql注册,配置文件加载等。
发布了文章2020-01-11
上一篇介绍了atomic包以及互斥锁 mutex来解决并发竞争状态的问题。这一篇主要来介绍go中与goroutine经常搭档的好兄弟channel
发布了文章2020-01-07
如果两个或者多个goroutine在没有相互同步状态的情况下同时访问某个资源,并且同时对这个资源进行读写的时候,对于这个资源就处于相互竞争状态(race candition)。下面来看一个相互竞争的例子。
发布了文章2020-01-02
接口是用来定义行为的类型。这些被定义的行为不由接口直接实现,而是通过方法由用户定义的类型实现。如果用户定义的类型实现了某个接口类型声明的一组方法,那么这个用户定义的类型的值就可以赋给这个接口类型的值。这个赋值会把用户定义的类型的值存入接口类型的值
发布了文章2020-01-01
上面这个示例,我们首先定义一个person类型。然后定义了一个worker类型,继承了person。但是对于worker又希望有自己的age属性,与getAge方法。那么这个时候我们可以重写person的属性与方法。但是在使用的时候,如果我们想要使用person中已经被worker重写的方法或者属...
发布了文章2019-12-29
结构体struct可以用来描述一组数据值,这组值的本质即可以是原始的,也可以是非原始的。是用户自定义的类型,它代表若干字段的集合,可以用于描述一个实体对象,类似java,php中的class,是golang面向对象编程的基础类型。今天我们先来看看golang中的成员变量的实现。
发布了文章2019-10-19
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7