第1期 成为专业的人 (一周阅读与记录)
看到阮一峰的科技爱好者周刊已经突破了150期,已经到了155期,到这155期已经进行了3年了,让我感到强大与不可思议,我也从中了解、学习到了很多。
阮一峰还有其他互联网中的许多人,让我相信互联网的精神就是分享。
于是我也想试试开始自己的周刊,记录我在这一周内的阅读与收获,先定个小目标吧,写下5期这样的分享,每期包括大概10项内容。
目前主要会偏向音视频、网络传输等方面,毕竟现在主要在做这方面。
成为专业的人
毕业以后到现在已经快一年了,看到卢俊写的写给新入职的毕业生们(一)、写给新入职的毕业生们(二),写给新入职的毕业生们(三)有许多感触,发现自己还是有不少欠缺的。这里记录一下我觉得都很重要的东西,这几篇文章也非常好,推荐大家看看。
让自己的工作更加专业
进入工作生活之后,所开发的产品会面对客户,因此需要对自己的工作负责,也必须表现得足够的专业。
- 提交代码之前请充分测试
- 关心性能和效率
- 写出“专业级”的代码
- 不要惧怕任何问题
。。。一旦项目中集成了太多第三方库或者其他人的代码,而且问题在他们那块的时候,我就会不自觉地退缩和抱怨,而老板从来都不会,他总是会跑过来跟我一起耐心地调试,一行行地阅读和分析那些“晦涩”的代码,直到找到问题所在为止。这一点我真的很佩服,老板是整个项目组最后一道屏障,一旦老板都退缩了都放弃了,项目也就黄了。。。
- 不放过任何一个Bug
原创和版权意识
在网上参考别人的代码时正常的,也的确可以帮助我们快速地实现一些功能,但是要时刻注意,网上的代码经常写得非常地不严谨,在使用它们之前,一定要充分地理解和消化,解决掉其中隐含的Bug,最好能够用自己的方式实现一遍。
为公司开发产品,一定要注意版权意识,在使用第三方开源代码或者库之前,请仔细阅读License
拼命提高你的技术
扩展视野
保持乐观的心态
严格要求自己,不要犯 “低级” 错误 / 解决问题不要抱有侥幸心理
虽然他们做的功能总体来说是很牛逼的,但是这一系列的 “低级” 错误,一次又一次地拉低了我对他们技术的认同度和信任度。
善于总结排查问题的工具和技能
永远要设定 deadline,完成比完美更重要
- 基础模块,其他工作需要依赖此模块
- 涉及到接口的定义或者修改的工作
- 当前必须支持的功能点
- 可以后期增加的功能点
- 可以后期优化的地方
“完成” 并不是说带着很多 Bug 的完成,而是说一个稳定但不一定功能齐全的版本,因此,千万不要用 “完成而不完美” 作为忽略交付质量的借口
不要不加思考的提问
文章
直播疑难杂症排查 系列
非常细致地从客户端(播放器)的角度开始,介绍、说明了形形色色的问题,如直播卡顿、马赛克、花屏、黑屏、杂音、音画不同步等问题。这些对我理解音视频基础有了很大帮助,帮助我串起来了之前学习到的零散的知识点。
这是腾讯提出的对超低延迟直播的思考与解决思路,如何设计这样场景的协议,依赖buffer抗抖动 vs 不抖动,类FEC vs 重传,NACK vs SACK等。这是我的一点总结低延迟直播思考 (笔记)
上一篇提到了超低延迟,这篇文章讲了很多直播中哪里引入了延迟:主要是网络传输中带来的延迟,以及为了抵抗网络波动等导致的卡顿问题、秒开等特性,多端缓存带来的缓冲buffer。
启用 HTTPS 的核心是一个叫做 证书 的东西
那么,证书是什么?里面含有什么内容?浏览器为什么会不信任 12306 的证书?为什么下载 12306 提供的根证书就可以解决这个问题?根证书又是什么?
理论知识我们已经全部具备了,接下来我们来完整走一遍流程,以 github.com 为例,校验一下它的证书是否有效。
教程
Take your first steps with Rust
微软出的rust教程,我还没有看完,不过感觉写的挺好的,目前在看的过程中基本没有疑难点。
如何编写高性能的Go代码
工具
分析hls拉流挺好用的
分析流的码流信息
Go的内置采样CPU profiler只能显示On-CPU时间。Go的trace profiler可以分析I/O,但是不能与CPU profiler结合使用。因此fgprof被设计用于具有I/O和CPU混合负载的应用程序,即可以分析On-CPU也可以分析Off_CPU时间消耗在了哪里。