钥匙串访问,证书助理,选第二个,证书助理,创建证书,名字为gdb-cert,勾选覆盖默认值,有效期可以改的长一点,一步步下去,注意一定要选择代码签名,安装一定要到系统里面。 我要晨读

已有420人晨读

cond的主要作用就是获取锁之后,wait()方法会等待一个通知,来进行下一步锁释放等操作,以此控制锁合适释放,释放频率,适用于在并发环境下goroutine的等待和通知。 我要晨读

已有437人晨读

存在这样一种场景,当我们进行微服务拆分后,一个请求将会经过多个服务处理之后再返回,这时,如果在请求的链路上某个服务出现故障时,排查故障将会比较困难. 我们可能需要将请求经过的服务,挨个查看日志进行分析,当服务有几十上百个实例时,这无疑是可怕的.因此为了解决这种问题,调用链追踪应运而生 我要晨读

已有839人晨读

共享内存系统:线程之间采用共享内存的方式通信,通过加锁来避免死锁或资源竞争。 消息传递系统:将线程间共享状态封装在消息中,通过发送消息来共享内存,而非通过共享内存来通信。 我要晨读

已有830人晨读

在 Go 的源码中包含大量汇编语句,最优秀的示例代码位于 math/big, runtime 和 crypto 这些库中,但是从这里入门的话实在太过于痛苦,这些示例都是着力于系统操作和性能的运行代码。 我要晨读

已有1007人晨读

关键字func和函数名之间的参数被称为receiver(接收者),将函数与接收者的类型绑在一起。如果一个函数有接收者,这个函数被称为method。不同的receiver,method可以同名 我要晨读

已有597人晨读

httprouter在业界广受好评,主要就是因为它的性能 httprouter项目地址:httprouter httprouter的原理:点这里点这里~ 而httprouter默认是不支持中间件等功能的 我要晨读

已有800人晨读

可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我们可能还需要下载依赖,运行测试,甚至像 easyjson,protobuf,thrift 这样的工具下载和代码生成,如果没有构建工具,这些工作就会非常麻烦 为了解决这个问题,之前写过一个 everything.sh 的脚本,把所有的操作都封装在这个脚本里面,只需要执行类似于 sh everything.sh dependency 的命令就可以完成对应的工作,大大 我要晨读

已有1235人晨读

gf框架提供了自建的非常强大的路由控制功能,支持流行的命名匹配规则及模糊匹配规则,并提供了优秀的优先级管理机制。以下是一个服务注册中使用路由控制的示例: 我要晨读

已有954人晨读

ghttp包提供了非常强大和简便的服务性能分析功能,内部完美集成了pprof性能分析工具,可以在任何时候通过EnablePprof方法启用性能分析特性,并可自定义性能分析工具页面路由地址,不传递路由地址时,默认URI地址为/debug/pprof。 我要晨读

已有521人晨读

刚从PHP转过来,对Go的特性还不是很了解,适用了一下gin,觉得虽然挺好的,但是一些语法没有Laravel那么方便 所以想再造个轮子看看... en .... 就酱 bingo是一个基于go语言的轻量级API框架,专注构建restfulAPI GitHub地址:silsuer/bingo 我要晨读

已有851人晨读

我有一个习惯,那就是随时记录下编程过程中遇到的问题(包括问题现场、问题起因以及对问题的分析),并喜欢阶段性的对一段时间内的编码过程的得与失进行回顾和总结。内容可以包括:对编程语法的新认知、遇坑填坑的经历、一些让自己豁然开朗的小tip/小实践等。记录和总结的多了,感觉有价值的,就成文发在博客上的;一些小的点,或是还没有想清楚的事情,或思路没法结构化统一的,就放在资料库里备用。“写Go代码时遇到的那些问题”这个系列也是基于这个思路做的。 我要晨读

已有523人晨读

这里采用的是在header里设置token进行鉴权,cookie也类似: 基本思路为前端在header里设置token,后端采用redis等进行存储,使用中间件进行鉴权,登录时设置token。 以下是登录生成token: 我要晨读

已有2442人晨读

在计算机领域,当单机性能达到瓶颈时,有两种方式可以解决性能问题,一是堆硬件,进一步提升配置,二是分布式,水平扩展。当然,两者都是一样的烧钱。 今天聊聊我所理解的分布式系统的架构思路。 我要晨读

已有950人晨读

让我们来看几个 go 函数调用的简单例子。通过研究 go 编译器为这些函数生成的汇编代码,我们来看看函数调用是如何工作的。这个课题对于一篇小小的文章来讲有点费劲,但是别担心,汇编语言是非常简单的,连 CPU 都能理解它。 我要晨读

已有709人晨读

自从 Go 1.10 发布的一个月以来,我多少使用了一下 strings.Builder,略有心得。你也许知道它,特别是你了解 bytes.Buffer 的话。所以我在此分享一下我的心得,并希望能对你有所帮助。 我要晨读

已有947人晨读

在之前的文章中,我们看了一些使用 go-micro 和 go 语言的生成的各种事件驱动的方法。 在本篇文章,我们将深入到客户端,探究一下如何创建一个能够与我们之前创建的平台交互的 Web 客户端。 我要晨读

已有524人晨读

我已经使用了几种不同的云供应解决方案,但对我而言,Hashicorps Terraform 感觉最容易使用并且得到最好的支持。近年来出现了一个术语:'基础设施作为代码'。为什么你想要你的基础设施作为代码?那么,基础设施很复杂,它描述了很多移动部件。跟踪基础架构的变更和版本控制变更也很重要。 我要晨读

已有625人晨读