- 博客(13)
- 收藏
- 关注
原创 golang - net/http - request 参数详解
对于参数一直不是很清楚,这次比较仔细的记一下。Method #方法(POST、GET、PUT、DELETE、HEAD、PATCH、OPTIONS) POSTURL #API名 /tttProto #协议类型 HTTP/1.1ProtoMajor #Proto的大版本号 1ProtoMinor #Proto的小版...
2019-01-07 19:19:46
3298
原创 记录一下golang http-server的处理流程。
源码位于go标准库的net/http/server.go中。1:从入口点http.ListenAndServe跟代码func (srv *Server) ListenAndServe() error { addr := srv.Addr //获取地址 ... ln, err := net.Listen("tcp", addr) //创建tcp...
2019-01-04 15:19:48
749
原创 Go - Kit 笔记 - 02 - Transport-http
Transport – 传输层位于github.com/go-kit/kit/transport/,go-kit目前支持grpc、http、httprp、nats、netrpc、thrift,传输层的作用是封装端点。使端点可以被不同的传输协议调用。Server结构Server结构的作用是把端点封装成http.Handler,http.Handler位于net/http/server.go中,...
2018-11-02 17:00:00
2380
原创 Go - Kit 笔记 - 01 - Endpoint
Endpoint – 端点位于github.com/go-kit/kit/endpoint/包,里面有一个endpoint.go文件,定义了Endpoint的相关接口。//端点 -- go-kit的基本模块,实则是一个(函数类型)。//定义好函数后,把函数注册到http或grpc上,就可以实现业务函数的回调。type Endpoint func(ctx context.Context, r...
2018-11-02 15:27:53
1664
原创 go - http.HandleFunc 的实现
简单记录以下,重点是以下这段代码:这段代码 通过 HandlerFunc实现了普通函数转Handler接口。type Handler interface { Do(k, v interface{})}type HandlerFunc func(k, v interface{})func (f HandlerFunc) Do(k, v interface{}) { f(k, v)...
2018-10-29 18:01:57
2036
原创 go语言数组和切片的深度对比
首先说下,数组和切片由于语法十分相似,在使用中容易混淆,要认真区分。实际上数组和切片是两种完全不同的类型。var a [3]string //数组var b []string //切片从语法上来看,数组遵循传统的三要素 – 名称、类型、长度。 而切片只有名称、类型,这意味着切片是不定长的。从内存的角度来看,数据是一整块连续的、固定长度、固定位置的内存。 而切片则...
2018-08-30 18:05:33
1576
3
原创 Rabbitmq详解(基于go语言)
参考文档RMQ的安装和端口基础概念交换器类型默认交换器创建交换器创建队列队列绑定交换器绑定发送消息参考文档RMQ官网提供的教程:https://www.rabbitmq.com/getstarted.html go-amqp库函数手册:https://godoc.org/github.com/streadway/amqpRMQ的安装和端口手动...
2018-07-24 17:25:58
24691
1
原创 doxygen使用~~用这个注释自动生成文档,炒鸡方便
doxygen 使用 + C/C++注释规范1、安装yum -y install doxygen #基本安装yum -y install doxygen-doxywizard #图形界面安装2、生成配置文件doxygen -g [配置文件名] #默认文件名为Doxyfile3、配置文件好多选项呀,1500行,懒得看 –,这个是一个巨大的工作量。 大部分默认,需要改的是输入/输出文件的位置、
2017-10-20 10:15:46
671
原创 用telnet连接HTTP server
原理:telnet是一个简单的TCP连接器,TCP建立连接后会向server端发送你输入的数据。而HTTP是基于TCP协议的,所以完全可以用telnet连接HTTP服务器,由于HTTP报文以明文字符串编码格式相对简单,所以可以很容易的写出请求报文,已达到下载静态页面的目的。^^[c:\~]$ telnet www.baidu.com 80Host 'www.baidu.com' resolved
2017-10-13 15:07:14
695
原创 通用I/O
Linux文件类型 普通文件(-) 目录(d) 字符设备(c) 块设备(b) 套接字(s) 管道(p) 符号链接(l) 在Linux中,几乎所有概念都可以抽象成一个文件 一共七种文件类型,均可以使用通用I/O进行操作。文件描述符 用于指代一个打开的文件,是一个正整数。标准文件描述符 文件描述符 用途 POSIX名称 0 标准输入
2017-10-09 11:11:36
824
原创 共享库的高级特性
库的动态加载 一般用于实现插件功能,可通过调用函数来加载、卸载共享库。可以查找共享库中函数名、变量名所对应的指针。# include <dlfcn.h>void *dlopen(const char *libfilename, int flags); //打开共享库int dlclose(void *handle); //关闭共享库co
2017-09-30 09:21:29
312
原创 静态库和共享库
静态库 把多个.o文件打包成静态库,以libXXX.a的格式命名,程序链接时,会把静态库集成在可执行文件中,程序运行时,会直接加载到内存中。生成静态库静态库中添加或替换.o文件 ar r libXXX.a x1.o x2.o x3.o 如果.o文件不存在,就添加文件,如果.o文件已存在,就替换文件。静态库中删除.o文件 ar d libXXX.a x1.o查看静态库 ar tv
2017-09-28 16:45:42
224
原创 GCC常用选项
GCC 常用选项 -v:查看版本号 -I:指定头文件所在目录(大写的i) -c:只编译成.o文件,不进行链接 -g:包含调试信息,方便使用gdb进行调试 -On:n=0~3,编译优化,n越大优化层次越深 -Wall:提示更多告警信息 -D:编译时定义宏 -E:生成预处理.i文件 -S:生成汇编.s文件 -L:指定库路径 -l:指定库名(
2017-09-28 10:54:39
304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人