框架
文章平均质量分 94
phantom_111
这个作者很懒,什么都没留下…
展开
-
《计算机程序构造与解释》读书笔记(3)
局部过程的名字不会与包容它们的过程之外的名字互相干扰,这是因为这些局部过程名都是在该过程运行时创建的框架里面的约束的,而不是在全局环境里约束的。局部过程只需将包含着它们的过程的形参作为自由变量,就可以访问该过程的实际参数。这是因为对于局部过程体的求值所在的环境是外围过程求值所在的环境的下属。原创 2022-12-20 12:31:54 · 981 阅读 · 0 评论 -
《C++ 沉思录》学习笔记——中篇
文章目录1. 题外话2. 容器相关(12-14)2.1 设计容器(12)2.1.1 问题:2.1.2 设计一个类似数组的类2.2 访问容器中的元素(13)2.2.1 模拟指针2.2.2 中间层 Array_data2.3 迭代器(14)2.3.1 什么是迭代器2.3.2 Pointer 类的迭代器如何实现3. 序列(15)4. 模板、泛型、迭代器(16-20)4.1 作为接口的模板(16)4.1...原创 2020-02-09 00:15:07 · 363 阅读 · 0 评论 -
gRPC 内容介绍
gRPC概念和基本思想概念: gRPC是Googel基于HTTP/2以及protobuf的。gRPC通常有四种模式,unary,client streaming, server streaming 以及bidirectional streaming,但无论哪一种模式对底层的HTTP/2来说都是stream,所以总结来看,grpc仍是一套request+response的模型。基本思想: 定义一个服务原创 2017-07-04 20:36:15 · 6942 阅读 · 2 评论 -
gRPC-transport包源码分析
gRPC是基于HTTP/2标准和proto协议开发的,gRPC的很多特性都依赖于HTTP/2标准提供。gRPC设计的四种模式是基于底层HTTP/2的流的概念。transport包是基于HTTP/2标准的实现,提供了流控等特性。流控transport提供基于connection和stream的两级流控。-------------------------------------gRPC流控默认值----原创 2017-08-04 16:37:52 · 3624 阅读 · 0 评论 -
Grpc使用实践总结
1.获取Grpc客户端的IPgolang客户端发给服务端的http请求,本质上就是一个Request的结构体(见net/http/request.go) 中除了包含header、body外还包含其他的附加信息,比如RemoteAddr(客户端的地址) 。这样http很容易就可以获取客户端的地址,详细解释如下:。 // RemoteAddr allows HTTP servers an...原创 2017-12-13 22:18:24 · 12820 阅读 · 2 评论 -
Go语言的GraphQL实践总结
GraphQL背景REST API的使用方式是,server定义一系列的接口,client调用自己需要的接口,获取目标数据进行整合。REST API开发中遇到的问题:扩展性 ,随着API的不断发展,REST API的接口会变得越来臃肿。无法按需获取 ,一个返回id, name, age, city, addr, email的接口,如果仅获取部分信息,如name, age,却必须返回接口...原创 2018-04-13 18:07:41 · 8460 阅读 · 0 评论 -
GraphQL的踩坑之路
为了更好的支持前端能够自由组合、展示收到的数据,笔者使用graphql-go 框架开发了负责的模块,但测试过程中发现,使用GraphQL会有n+1 query的问题。经过调研发现两种解决方案:使用graphql-gophers下的graphql-go,已经支持如下特性: minimal APIsupport for context.Contextsupport for the Open...原创 2018-05-10 19:28:19 · 7832 阅读 · 6 评论 -
小白的实时通信之路
1. 定义1.1 背景介绍通信: 客户端和服务端的一次交互过程。可以简述为如下步骤:客户端发出请求服务端接收,处理,返回结果客户端接收结果实时通信:所谓「实时通信」就是要求客户端能够收到服务端实时更新的结果,其实简单理解就是在通信这个词上加了「实时的」这个形容词,所以本质上通信的双方还是客户端和服务端。举个生活中实时通信的例子,约会中,为了实时获取到对方的位置,可能采用...原创 2018-12-22 17:52:52 · 404 阅读 · 0 评论 -
nginx 平滑重启 vs 平滑升级
1. nginx 架构在总结了 nginx 配置以后,发现 nginx 可以做到平滑重启和升级,即在重启和升级的过程中服务不间断。于是怀着好奇的心情,开始了探索 nginx 的平滑重启和平滑升级是如何实现的。先解释下笔者对这两个名词的概念:平滑重启:针对的是更新 nginx 的 *.conf 文件平滑升级: 针对的是 nginx 服务的二进制文件更新,比如版本升级或者引入三方的模块重新编译...原创 2019-07-16 22:03:10 · 856 阅读 · 0 评论