摘要:
在开发者便利度角度,我们很轻松地使用HttpClient对象发出HTTP请求,只需要关注应用层协议的BaseAddr、Url、ReqHeader、timeout。 实际在HttpClient在源码级别是由 HttpMessageHandler实例发出的请求。 1. 早期.NET HttpClient 阅读全文
摘要:
日常搬砖,总少不了需要获取分页数据和总行数。 一直以来的实践是编码两次sql请求,分别拉分页数据和totolCount。 最近我在思考: 常规实践为什么不是 在一次sql请求中中执行多次sql查询或多次更新,显而易见的优势: ① 能显著减低“客户端和服务器之间的网络往返次数”,提高吞吐量 ② 简化客 阅读全文
摘要:
如题:八股文会给出: DNS Resolution Establishing a Connection Sending an Http Request Receiving the HTTP Response Rendering the Web Page 但今天我斗胆插入第0.9步URL Parsin 阅读全文
摘要:
出来混总是要还的 最近在准备记录一个.NET Go核心能力的深度对比, 关于.NET/Go的异步实现总感觉没敲到点上。 async/await是.NET界老生常谈的话题,每至于此,状态机又是必聊的话题,但是状态机又是比较晦涩难懂的话题。 [一线码农大佬]在博客园2020年写的《await,async 阅读全文
摘要:
缓存也是一把梭项目的标配,从业多年,有事无事set/getCache来一梭子。 夜深人静的时候,头脑里冷不丁会出现一些问题,我竟一时无法自圆其说。 已经有cpu多级缓存、操作系统page cache,那为什么还需要定义应用缓存? 应用的多个副本缓存了同一份数据库数据, 怎么保证这些多副本的缓存一致性 阅读全文
摘要:
跟着官方脚手架grpc一把梭之后,中高级程序员一般都可以上手grpc开发; 想要得心应手的操作grpc, 需要深度探究grpc能力来源,下面总结grpc的前世今生、能力来源、最佳实践(golang)。 grpc protoc到底做了什么事情? 为什么已经有http? 还需要grpc? 八股文都说gr 阅读全文
摘要:
tcpdump原理 & 在tcp协议栈的位置 tcpdump用法 基于协议、主机、端口过滤 使用and or逻辑运算符做复杂的过滤操作 tcpdump flags 1. tcpdump原理 linux中非常有用的网络工具,运行在用户态。 数据包到达网卡,经过数据包过滤器bpf筛选后,拷贝至用户态的t 阅读全文
摘要:
记录工作中早该加深印象的一个小case: ajax请求不能显式拦截 302响应。 我们先来看一个常规的登录case: 浏览器请求资源,服务器发现该请求未携带相关凭据(cookie或者token) 服务器响应302,并在响应头Location写入重定向地址, 指示浏览器跳转到登录页 浏览器跳转到登录页 阅读全文
摘要:
单独拎出这个题目,是因为昨天看到一线码农大佬公众号的分享[Dictionary.Clear 和 new Dictionary() 有什么不同?](https://mp.weixin.qq.com/s/JUtr9TFRDfAvEeu6vJkI1w) ### 无心插画 ``` void Example1 阅读全文
摘要:
readonly修饰符在作祟 强化官方解释: 1. readonly是一个修饰字段的关键字:被它修饰的字段只有在初始化或者构造函数中才能够赋值. 2. readonly修饰的引用类型字段必须始终引用同一对象: readonly 修饰符可防止字段替换为引用类型的其他实例, 但是,readonly不会妨 阅读全文