高效学习(四):如何学习和阅读代码
读文档还是读代码
杰夫·阿特伍德(Jeff Atwood)说过这么一句话:“Code Tells You How, Comments Tell You Why”。我把其扩展一下:
代 码 => What, How & Details
文档 / 书 => What, How & Why
可见,代码并不会告诉你 Why,看代码只能靠猜测或推导来估计 Why,是揣测,不准确,所以会有...
Continue reading >>杰夫·阿特伍德(Jeff Atwood)说过这么一句话:“Code Tells You How, Comments Tell You Why”。我把其扩展一下:
代 码 => What, How & Details
文档 / 书 => What, How & Why
可见,代码并不会告诉你 Why,看代码只能靠猜测或推导来估计 Why,是揣测,不准确,所以会有...
Continue reading >>最近有个客户系统需要接入自己内部的统一认证服务,采用的是saml2.0协议,系统自身的iam充当SP角色,客户内部统一认证充当Idp服务,最后由于客户SSO流程返回数据不是标准的SAML2.0协议,没有带回请求时RelayState带的参数数据,导致iam解析SAML2.0协议异常,整个交互流程通过wireshark抓包分析,不然又要被客户diao了~。
SAML(Security...
Continue reading >>之前写过一篇文章介绍JWT和使用refreshToken实现无感刷新的文章 → JWT实现refresh token与前端无感刷新。这篇文章主要是前后端实现的具体代码。
前端环境:Vue 2.7 + TypeScript 2.8.0 + Axios 0.27 + Vuex 3.6
后端环境:Python 3.11 + Sanic 23.3.0 + PyJWT 2.0.0
前...
Continue reading >>RPC(Remote Procedure Call),即远程过程调用。它允许像调用本地服务一样调用远程服务。而无需了解网络的细节(不需要直接处理Socket通讯或Http通讯)。
RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个请求响应模型。客户端发起请求,服务器返回响应。
RPC可以分为两部分:用户调用接口 + 具体网络协议。前者为开发者...
Continue reading >>WebSocket是一种计算机通信协议,提供了在单个传输控制协议(TCP)连接上进行双向通信的能力。它允许Web浏览器(或其他客户端应用程序)和Web服务器之间进行全双工交互,从而实现实时数据传输。WebSocket协议的握手过程是通过HTTP请求/响应来建立连接的,允许服务器在同一端口上处理HTTP连接...
Continue reading >>