首页
学习
活动
专区
工具
TVP
发布

程序人生

专栏作者
265
文章
283028
阅读量
68
订阅数
以 QUIC 为例,聊聊如何学习网络协议
上周发了篇关于 s2n-quic 的文章,有读者问我如何学习像 QUIC 这样的网络协议。对于大部分互联网从业者来说,虽然大家每天都在跟网络打交道,但很少有人会(需要)关心 HTTP 之下的网络协议的细节,大部分时候,了解个大概,知道如何使用就可以了。如果你对 QUIC 一点概念都没有,那么,下面这个图能帮助你很好地了解 QUIC 在 HTTP/3 生态中的地位:
tyrchen
2022-03-29
1.9K0
优雅地组合:谈谈 axum
Axum 是 tokio 官方出品的一个非常优秀的 web 开发框架,一经推出,就博得了我的好感,让我迅速成为它的粉丝。相比之前我使用过的 Rust web 框架,如 rocket,actix-web,axum 对我最大的吸引力就是它优雅的架构:它没有选择从零开始另起炉灶,而是以同样非常优秀的 tower 库的 Service trait 为基石,构建其功能。
tyrchen
2022-03-29
8K1
做个简单的 reverse proxy
在 Tubi,我们会对客户端软件做 End-to-end testing(以下简称 E2ET)。E2ET 如果只测试 UI 和 UI 相关的逻辑,有足够多的开源工具和商业工具,不过,如果要同时要验证网络层的输入输出是否符合预期,比如在展示某个 UI 的同时,发送了相应的 analytics event,这就需要很多额外的工作。之前我们在客户端做网络层的 interceptor,虽然能工作,但它有一些局限:1) 测试脚本需要能访问到客户端拦截并记录下来的网络请求和响应,这意味着记录的内容需要上传至某个特定的,可以公开访问的位置,比如 s3。2) 所有的客户端都需要做类似的 interceptor 的工作。所以考虑再三,我们决定尝试做个独立的 proxy server,让客户端通过访问这个 proxy server,来访问实际的 API。这样,我们可以在这个 proxy server 里做很多事情,比如 traffic log,比如通过一系列规则来做 traffic rewrite,可以对 API 访问做缓存,甚至可以把某些请求写入 sinkhole。
tyrchen
2022-01-04
1.1K0
写作工具的取经之路
写公众号写了一年,穿插着写了一本书,在工具的使用上,也渐渐有了些心得,不敢独专,跟大家分享一下。 最早我使用的是reST [1] ,使用sphinx [2] 来撰写文章。使用reST/sphinx最大的好处是格式简单,扩展性强,便于生成PDF和多种文档结构。 然而我的博客在用octopress等工具生成的 [3] ,使用的是markdown。做类似的事,却用两种格式,这让人十分抓狂。再三考虑后,我决定也使用markdown来写公众号。 使用markdown恼人的是格式太简单,有时候需要一些变化,便只好直接上
tyrchen
2018-03-28
9020
[技术产品] 用node-webkit做桌面应用
node-webkit是两周前我才刚刚认识的桌面开发利器。那天程序君写了篇关于github atom的文章,中间有段文字做了大胆的猜测:「这就是Atom最大的亮点!web native。在此之下,less style,coffeescript plugin,nodejs integration都水到渠成。看上去atom的源代码来自chrome —— 我觉得atom很可能是一款以某种方式运行本地web app的浏览器。chrome的源代码base在webkit上(貌似是bsd),所以atom可以任意修改。很可
tyrchen
2018-03-28
1.3K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档