0%

本篇文章是对林沛满老师的两部书籍《Wireshark 网络分析就这么简单》和《Wireshark 网络分析的艺术》的读书笔记。这两本书详实地记录了作者使用 Wireshark 来分析各类网络疑难杂症的经历。通过这些案例,作者介绍了许多使用 Wireshark 的小技巧,同时也向我们传授了其网络排障的一些宝贵经验。阅读这两本书时,让我回想起当时面试百度时面试官的一个问题:”客户端访问服务器慢,怎么排查?”。如果之前我阅读过这两本书,我想我可以回答地更详尽一些。

Wireshark 是解决网络问题的瑞士军刀,通过 Wireshark,我们可以清楚地看见网络中的每一个数据包(此刻请自行脑补你站在世界地图面前,清楚看见当前 Internet 上每一个数据包的流动)。

阅读全文 »

gRPC(google RPC)使用 Protocol Buffers 作为它的接口定义语言(Interface Definition Language,IDL)以及它的底层消息交换格式。通过 gRPC,client 应用程序可以直接调用位于不同机器上的 server 应用程序的接口,就好像 client 应用程序和 server 应用程序在同一个进程中一样。这篇文章介绍如何在 Python 中使用 gRPC。

阅读全文 »

Go 语言最大的特色就是其对并发编程的支持。这篇文章重点介绍 Go 语言的并发机制 go routine,以及如何通过 go channel 实现各个 go routine 之间的通信。

阅读全文 »

方法是与对象实例绑定的特殊函数,方法是面对对象编程的基本概念,用于维护和展示对象的自身状态。对象是内敛的,每个实例都有各自不同的独立特征,以属性和方法来暴露对外通信接口,而普通函数则专注于算法流程,通过接收参数来完成特定逻辑运算,并返回最终结果。也就是说,方法是有关联状态的,而函数则没有。

阅读全文 »

函数是结构化编程的最小模块单元,它将复杂算法过程分解为若干较小任务,隐藏相关细节,使得程序结构更加清晰,易于维护。函数被设计成相对独立、通过接收输入参数完成一段算法,输出或存储相关结果。因此函数也是代码复用和测试的基本单元。

阅读全文 »