IEEE 754浮点数标准详解 2019-08-14 Linux 约 10482 字 预计阅读 21 分钟 前言 在计算机系统的发展过程中,业界曾经提出过许多种实数的表达方法,比较典型的有相对于浮点数(Floating Point Number)的定点数(Fix 阅读更多
go语言为什么没有min/max(int, int)函数 2019-08-13 Go实践 约 1135 字 预计阅读 3 分钟 为什么没有? 我们知道go语言math包里面定义了min/max函数,但是是float64类型的,而并没有整数类型的min/max。 go语言的 阅读更多
cookie-session机制与JWT机制对比 2019-08-06 架构 约 6778 字 预计阅读 14 分钟 前言 认证和授权,其实吧简单来说就是:认证就是让服务器知道你是谁,授权就是服务器让你知道你什么能干,什么不能干,认证授权俩种方式:Sessio 阅读更多
Go-Modules介绍 2019-07-25 Go实践 约 13061 字 预计阅读 27 分钟 go mod 命令 1 2 3 4 5 6 7 8 download download modules to local cache (下载依赖的module到本地cache)) edit edit go.mod from tools or scripts (编辑go.mod文件) graph print module requirement graph (打印模块依 阅读更多
OLTP与OLAP的区别 2019-07-19 架构 约 3128 字 预计阅读 7 分钟 介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Proc 阅读更多
mongo-go-driver使用总结 2019-07-16 Go三方库 约 9017 字 预计阅读 18 分钟 创建main 创建文件main.go并导入bson,mongo和mongo/options包: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package main 阅读更多
types from different packages 问题浅析 2019-07-16 Go实践 约 97 字 预计阅读 1 分钟 先看一段代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main var X interface{} type T struct{} func F() { type T struct{} X = T{} } func G() { type T struct{} _ = X.(T) } func main() { F() G() } 我们总是可以说“来 阅读更多
Go的调度器源码剖析 2019-07-12 Go源码 约 82604 字 预计阅读 165 分钟 协程 进程时代 最初的计算机上面没有操作系统,更别提进程、线程和协程了。 后来,现代化的计算机有了操作系统,每个程序都是一个进程,但是操作系统在一 阅读更多
为什么不要在单个sql.Tx中使用协程 2019-07-04 Go实践 约 2274 字 预计阅读 5 分钟 问题来源 简单来说就是企图在一个事务中开启多个协程执行并发查询,会出现busy buffer的问题 接下来这篇文章将尝试深入探讨产生 busy buffer 的根本原因 阅读更多
配置sql.DB获得更好的性能 2019-07-04 Go实践 约 3239 字 预计阅读 7 分钟 事实上你可以使用SetMaxOpenConns()、SetMaxIdleConns()和SetConnmaxLifetime()方法。来配置 阅读更多
MySQL各种超时参数的含义 2019-07-03 Mysql 约 13156 字 预计阅读 27 分钟 简介 今日在查看锁超时的设置时,看到show variables like ‘%timeout%’;语句输出结果中的十几种超时参数时突然想整理一下 阅读更多
Go如何生成UUID 2019-06-30 Go三方库 约 1616 字 预计阅读 4 分钟 UUID UUID的全称是universally unique identifier,全局唯一认证,它是一个128比特的数字,用来辨认计算机系统中的信息。术语GU 阅读更多
Mysql主键设计 2019-06-30 Mysql 约 5674 字 预计阅读 12 分钟 MySQL主键设计原则 MySQL主键应当是对用户没有意义的 所有涉及到业务的字段,无论它看上去是否唯一,都决不能用作主键。例如,用户表的Ema 阅读更多
TP50、TP90、TP99、TP999解释 2019-06-30 架构 约 311 字 预计阅读 1 分钟 TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数、中位数都是一类。 TP50、TP90和TP99等指标常用于系统性能监控场 阅读更多
分布式ID设计实现 2019-06-29 架构 约 16330 字 预计阅读 33 分钟 背景 在我们的业务需求中通常有需要一些唯一的ID,来记录我们某个数据的标识: 某个用户的ID 某个订单的单号 某个信息的ID 通常我们会调研各种各样的 阅读更多
etcdctl命令操作 2019-06-23 etcd 约 2718 字 预计阅读 6 分钟 etcdctl v2 v3 etcd2和etcd3是不兼容的,两者的api参数也不一样,详细请查看 etcdctl -h 。 可以使用api2 和 api3 写入 etcd3 数据,但是需要注意,使用不同的a 阅读更多
etcd部署与配置 2019-06-17 etcd 约 1038 字 预计阅读 3 分钟 集群配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 阅读更多
Go中mysql驱动的DSN解析 2019-06-11 Go实践 约 4815 字 预计阅读 10 分钟 DSN 数据源名称具有通用格式,例如PEAR DB使用它,但没有类型前缀(可选部分用方括号标记): 1 [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] DSN最完整的形式: 1 username:password@protocol(address)/dbname?param=value 除databasena 阅读更多
Go的sql事务如何使用 2019-06-06 Go实践 约 1136 字 预计阅读 3 分钟 defer防止panic 利用 Commit() 之后 Rollback() 不会真正执行的特性,可以在创建tx时使用defer防止panic出现没有释放tx 1 2 3 4 5 6 7 8 9 10 11 12 阅读更多
println与fmt.Println 2019-06-04 Go实践 约 403 字 预计阅读 1 分钟 简介 println是一种内置于语言中的函数。它位于规范的Bootstrapping部分。 当前实现提供了几个在引导期间有用的内置函数。记录这些 阅读更多