摘要:
Golang知识点总结 各种类型复制的时候的花费 本节标题也可以叫做“各种类型的值的大小” (the sizes of values of all kinds of types),底层可被不同的值共享的数据的大小未被计算。 下面的表格中一个 word在32bit操作系统中代表4个字节,在64bit操 阅读全文
摘要:
微服务的反模式和陷阱 本文转自 数据驱动的迁移反模式 Data-Driven Migration AntiPattern 微服务会创建大量小的、分布式的、单一用途的服务,每个服务拥有自己的数据。这种服务和数据耦合支持一个有界的上下文和一个无共享数据的架构,其中,每个服务及其对应的数据是独立一块,完全 阅读全文
摘要:
Go文件操作大全 介绍 万物皆文件 UNIX 的一个基础设计就是"万物皆文件"(everything is a file)。我们不必知道一个文件到底映射成什么,操作系统的设备驱动抽象成文件。操作系统为设备提供了文件格式的接口。 Go语言中的reader和writer接口也类似。我们只需简单的读写字节 阅读全文
摘要:
Go编译时变量注入 需求 golang程序在build时自动生成版本信息,使用 ./helloworld –version可以查看版本和build时间 实现原理 使用链接选项-X设置一个二进制文件中可以访问的变量 package main import "fmt" var Version = "No 阅读全文
摘要:
本文转自鸟窝 获取 goroutineID package main import ( "fmt" "runtime" "strconv" "strings" "sync" ) func GoID() int { var buf [64]byte n := runtime.Stack(buf[:], 阅读全文
摘要:
Go的交叉编译 转自鸟窝 Go 1.5以前,交叉编译程序还是有一点麻烦的,你需要massive scripts t来编译和宿主机器不同的程序。 正如 comes with support for all architectures built in文章中介绍的, Go 1.5可就简单的多了,你只需设 阅读全文
摘要:
转自 这篇文章主要介绍一下 Wireshark 这个工具是如何抓包的,学习和使用抓包工具对于学习各种网络协议都很有帮助。 1.如何抓取报文 (1) 打开 Wireshark 抓包工具之后,点击 捕获->选项: (2)在新打开的 捕获选项 可以看到如下界面: (3)在 捕获选项 界面点击 Output 阅读全文