主页

Linux网络发包与收包过程

Linux网络协议栈 Linux内核提供了抽象的网络通信协议栈,用户空间的应用通过系统调用的方式,使用内核协议栈能力,完成网络通信。 Linux内核提供的协议栈接口是socket,socket在Linux中归属于文件系统的一部分,因此网络通信可以被看做是对文件的读写,使得应用程序控制网络与控制文件一样方便。 Internet上有很多文章介绍Linux网络协议栈,这里的内容也是各种文章汇总,感谢总结与分享的人。

阅读更多

华为云微服务SDK与Kafka SDK无统一maven仓库导致的问题

从昨晚到今天,遇到一个奇怪的问题,服务运行报华为云kafka sdk里的类找不到,但是在本地是正常的。 Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: com.huawei.middleware.kafka.sasl.client.KafkaLoginModule at javax.security.auth.login.LoginContext.invoke(LoginContext.java:794) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) ...

阅读更多

华为云CCE导出secret的值为环境变量时多了一个换行符

昨天晚上到今天,在上线octopus微服务时候后,发现微信接口一直不通,原因是SHA校验失败。定位了很久,可能原因都排查了: openjdk 与 oracle jdk差异? string返回的bytes因不通的字符集导致差异? linux与windows系统未知差异? 在排除了上述2点之后,最后一点无法排除也不可能,最后通过打印日志发现多了一个换行符。

阅读更多

编码中的可测试原则

引子 在代码编码过程中,如果没有提前考虑测试的因素,那么写完代码之后,写单元测试代码,会事倍功半。 这里总结一些代码可测试性的原则,在写代码之前理解这些原则,会事半功倍。

阅读更多