江哥架构师笔记

路漫漫其修远兮
吾将上下而求索

按时间排序目录 第5页

go学习:判断某个struct是否实现interface

一般检查某个struct是否实现interface的时候用的,因为golang里的接口实现不是侵入式,所以这样可以在编译的时候知道是否实现了自己想要的接口 package main type Reader in...

微信公众号生产短链接

众所周知,微信公众号文章链接非常的长,长到什么程度呢,反正一条微博是盛不下的了,得两条微博。同时,我们也看到了有些微信公众号文章是比较短的,这是什么情况呢? 比如这个网址: https://mp.weixin.qq.com/s?src=11...

go学习:io 包的使用方法

前言 在 Go 中,输入和输出操作是使用原语实现的,这些原语将数据模拟成可读的或可写的字节流。为此,Go 的 io 包提供了 io.Reader 和 io.Writer 接口,分别...

go学习:ssh远程执行命令

用到的库:golang.org/x/crypto/ssh(隔墙有代理https://goproxy.cn) 1. 发送指令执行 session.Run() package main import (  &nbs...

网络学习:tcp慢启动

前言 TCP的慢启动过程在不少场景下会严重影响性能,这也是TCP性能饱受病垢的原因之一。我们在本文中将尽量详细的描述慢启动过程和其在不同场景下的性能影响。 什么是慢启动? 很抱歉,本文不打算从理论上描述什么是慢启动,以及为什么要慢启动?相信...

go学习:sync.pool使用

大纲 使用姿势 初始化 Pool 实例 New 申请对象 Get 释放对象 Put 思考 为什么用 Pool,而不是在运行的时候直接实例化对象呢? sync.Pool 是并发安全的吗? 为什么 sync.Pool 不适合用于像 s...

go学习:go module私有仓库拉取

由于golang的开发,多多少少会引入一些被*的依赖,因此在使用go module管理时,我们都喜欢设置代理,这样不仅能够访问到被*的依赖库,还能加快依赖的下载速度。目前国内的不错的go-module代理地址:https://goproxy...

etcd学习:选举,日志,一致性

深入浅出etcd系列part 1 – 解析etcd的架构和代码框架  https://mp.weixin.qq.com/s/C2WKrfcJ1sVQuSxlpi6uNQ 《深入浅出etcd》part 2 – 解析etcd的心跳和选...

go学习:grpc-helloworld

RPC是什么 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用...