2021-08-29
说在前面
MQTT 简介
Hello World
Ref
说在前面最近两个月,我几乎是停更了,虽然之前提到过不会及时更新了,但是拖了那么久还是第一次。我当然可以用忙来解释,毕竟我周末用来刷 B 站的时间也少了好多。所以就陷入了另一个窘迫的地步:现在有素材可以写,但是这些可以拿来写的素材却是我忙起来之后才能得到,导致没有足够的精力时间去整理这些...
Read More
2021-07-11
今天来跟大家分享一个有趣的事情,在开始之前,想问问大家如何在 Git 中,如何在 Git 项目中,让一个文件消失?或者说,对 Git 来说不可见?
似乎很简单对不对?用 .gitignore 文件不就可以了。对,你说的没错,只是除了这个方法呢?
演示接下来如果你如果想尝试这个方法,请别在你的真实项目中操作,搞坏了我可没法负责。
123mkdir test...
Read More
2021-06-27
通常,我们只会在两种情况下,会去分析一个程序的表现:
你遇到了问题;
你闲的没事干;
好了,开个玩笑,其实研究程序的性能对于每一个工程师来说,都很重要,我甚至可以这么说:这是一个工程师的必备技能。
下面来说说,我们如何去研究 Golang 程序的性能问题。
介绍之前我也在 穷人的程序性能分析器 介绍过 C++ 的性能分析,以及很久之前也介绍过 Nod...
Read More
2021-05-26
这本书在我看来,就是在教你如何创业。因为,创业成功的难度不亚于一次火箭发射,虽然还会有更难的探月、探火星、载人,只是,这个过程中的方法论都是一致的,都是由普通的人类在用科学的方法,将不可能变为可能。
事实上,在技术行业,似乎做出一件伟大的产品似乎也是不可能的,比如你能在现在想象我们国家能在十年后造出可以跟 ASML 高端光刻机吗?
同样,可能你也无法在多...
Read More
2021-05-01
Linux 中,有好些个工具是跟时间相关的,最近工作遇到了它们,于是打算写几篇与 Linux 时间相关的文章。
今天先说说 hwclock 这个工具,估计也就玩物联网的朋友会用到了,因为这个工具往往只是用来保持硬件设备的时间的,但是前大多数设备往往都是联网的,也就是用的 NTP。
另外,Ubuntu 15.04 之后就用 systemd 来管理时间了,它...
Read More
2021-03-28
对于网飞的文化,我向来推崇备至,在之前的多篇文章里面,也提到过很多次:
从把 SLA 加进 KPI 考核说起
谈谈服务稳定性
如何理性地失败:黑匣子思维
这次见到这本网飞 CEO 里德 · 哈斯廷斯写的书出来后,也是第一时间排上了阅读计划。这几天看完之后,有种难以名状的感受:就像自己被自己打了脸。
以下涉及剧透,慎读。
自由与责任工作法整本书的逻辑很...
Read More
2021-03-22
最近的几场外部对接,由于我们的业务涉及到对外合作,因此避免不了跟外部工程师的对接,然而对接的时候,就是出现各种幺蛾子的时候了。但是,这个过程中,让我发现了一个很有意思的事情:在群里吵起来的两个工程师,私下聊天的时候却是和和气气的。
我们从典型的外部对接开始说起。
典型的外部对接大致的流程是这样的:销售跟商务接触合作方,双方互相了解需求,如果合适的话,就开...
Read More
2021-02-12
今天这篇文章算是对 【CMake 系列】(五)安装、打包与导出 的一个补充。其实我本打算跟上篇文章放在一起,毕竟都属于动态链接库相关的知识,但是这样一来就不容易被出现问题的同学们检索到了(才不是为了再水一篇文章 doge)。
问题的由来是因为这个问题困扰了我不少时间,在好几个项目里面都遇到了这个问题。
那就是链接动态库的时候,编译出来的可执行文件会带有编...
Read More
2021-02-12
所谓的 RPATH,就是硬编码在可执行文件或者动态库中的一个或多个路径,被动态链接加载器用来搜索依赖库。1
这个值是存在可执行文件或者动态库的 ELF 结构中的 .dynamic 小节中,它可以用 readelf 或者 objdump 查看。
具体就是 readelf -d a.out | grep RPATH 或者 objdump -x a.out |...
Read More
2021-02-03
在很久之前,我在 划一划 HTTPS 以及 SSL/TLS 的重要知识点 提到过客户端 HTTPS 证书,之后就没后续了,不过目前还是遇到了接口问题,不得不用上了。
简介接下来会给大家说清几个概念:HTTPS 单向认证、HTTPS 双向认证、中间人攻击。
HTTPS 单向认证与双向认证在这两种认证场景中,主要的区别在于服务器是不是需要客户端提供...
Read More
2021-01-10
标题是直接翻译自 Poor man’s profiler,也可以叫做最简陋的程序性能分析方法。
这种程序性能分析分析方式还是非常有意思的,第一次见到它时在 Stack Overflow 的一个问答里面,本以为最高票答案的方式会介绍一个非常牛逼的工具,哪知道他介绍的却是一种朴实无华的 Profiler 方式。
我本来也直接跳过了这个回答,觉得太不靠谱了,但...
Read More
2021-01-01
今年总的来说,是比较颓的一年,首先是疫情带来的影响,无论是成长还是机遇;其次是自己今年放弃了几个好习惯,比如坚持每两周一篇的博客,每周两次的锻炼以及坚持阅读。
对于新冠疫情,到目前还是没有结束,虽然已经有疫苗上市了,看情况还是得持续一段时间。不过也有好事,各种公共场合大家都很自觉地戴着口罩,于是除了新冠病毒,今年各种呼吸道传染病减少了很多。虽说没有染上新...
Read More
2020-12-20
在上次的 RTSP 协议详解 中,把 RTSP 协议本身简单介绍了,这次就来说说如何实现一个简单的 RTSP 服务器。
Live555Live555 是我们经常用的 C++ 媒体库,它支持非常多的媒体服务协议,实现了对多种音视频编码格式的音视频数据的数据流化、接收和处理等支持。
它也是现在为数不多的可用库之一,它的代码比较繁琐,但是胜在简单,多数人拿到之...
Read More
2020-11-21
如果你遇到了这样的问题:
刚往你的 Linux 机器中,写入了个文件,然后直接断电重启,发现文件只剩下了空壳,即产生了一个没有内容,大小为 0 的文件。
那么,你遇到了磁盘缓存问题,或者更确切的说法是掉电导致的磁盘缓存丢失问题。
什么是磁盘缓存我们在小学二年级学过(是的,我也是天天给毕导视频点赞的),在 Linux 系统(实际上是任何操作系统)中,磁盘读...
Read More
2020-10-26
当我们谈到 RTSP 的时候,其实不仅仅是 RTSP 协议本身,我们其实不可避免会谈到以下几个协议:
RTP (Real-time Transport Protocol):真正用来传输音频视频的协议,一般是建立在 UDP 协议的基础上,特别需要注意的是,它使用偶数端口1 ;
RTCP (Real-time Control Protocol):RTP 的姊妹协议,通过周期性发送统计信息,提供服务质量(QoS)的反馈,它使用的端口是奇数,而且就是 RTP 端口 +12 ;
SDP (Session Description Protocol):是应用层的一个协议,也可以说事一个格式,跟 HTML、JSON 之类的算是同一类(在今天的文章里就简单带过了)3 ;
Read More
Previous 1 2 3 4 … 13 Next