Serverless概念笔记

Serverless直译是无服务器的意思,俗称“无服务器架构”;所谓“无服务器”,并不是说基于 Serverless架构的软件应用不需要服务器就可以运行,其指的是用户无须关心软件应用运行涉及的底层服务器的状态、资源(比如 CPU、内存、磁盘及网络)及数量,软件应用正常运行所需要的计算资源由底层的云计算平台动态提供。传统的软件开发流程中,软件开发人员需要考虑真正的服务器,因为应用是跑在这个服务器上的
阅读全文

一个UDP可读缓冲区不够导致丢包的现象

今天看到一篇写UDP 丢包场景的文章,其中提到如果UDP 缓冲区填满导致丢包的问题,写了个小程序验证了下,确实之前没有细究过,如何解决,以libevent测试程序为例,在接收到缓冲区有数据的事件后,首先通过如下的方法,或者libevent封装的方法,获取到系统缓冲区中可读数据的大小,然后申请到对应大小的buffer去调用recvfrom方法,否则会出现如上UDP可读缓冲区小余可读数据的情况,导致出现UDP数据读不全的问题!
阅读全文

搭建UDP加速访问网络

最近接触到关于UDP加速的开源项目,感觉蛮有使用价值,做了个简单的应用,分享给大家!
阅读全文

知识能学到,而技能只能习得

​知识和技能是有关联,有重叠,知识能学到,而技能只能习得,所以你最先开始识别你学习的是一种知识,还是一种技能,并采用不同的方法来应对;比方编程是在理解计算机程序知识的基础之上,在计算机上进行的一种体力劳动,那么编程有一半可以理解为知识,而另一半则理解为技能,所以培训的活动既要有学习知识的记忆,消化,也有技能学习的不断地刻意练习,实战,两种都要扎实,两种都不可偏废!
阅读全文

Jitsi服务器搭建过程问题记录

Jitsi是一个基于WebRTC的开源会议服务系统,主要提供高质量、安全、可扩展性强的视频会议能力;使用网上的安装过程,大都第一次能正常的安装,并打开一个人的会议,但未必能调通多人的会议功能,从github的Issure中,包括很多类似的问题“Jitsi-videobridge2 Failed to select initial bridge for participantRegion=null”,而且还很多,将修复的过程做了记录
阅读全文

docker安装zulip服务

zulip号称是特性强大的企业版即时聊天应用,开源并且有超过500家企业部署使用,出于好奇,所以安装了一个版本体验体验,国内鲜有安装过程记录,有一个通过docker-compose安装的脚本,但zulip的容器启动总是报错,所以单独安装了一遍,记录安装过程中的错误。
阅读全文

推荐短片《绝夜逢生》

假如世界末日来了,你的亲人,朋友,都未能躲过这场浩劫,而你,刚好意外地出现在诺亚方舟上,亲眼目睹灾难发生后的世界,在绝望不断地逃生,在自救和他救中,还原出人真正的本性!这就是这样子的一部片子《绝夜逢生》,第一季,一共6集,每一集就30多分钟,短小精悍,一口气就能看完的短剧,紧张,刺激,不拖泥带水,一气呵成,看完了,还想着看续集的那种意犹未尽之感!
阅读全文

关于I/O模型,和select、poll、epoll的区别

I/O模型主要包括:阻塞IO、非阻塞IO、I/O 多路复用、异步I/O和信号I/O;阻塞和非阻塞能应用于所有文件描述符。所谓阻塞方式的意思是指,当试图对该文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止;而对于非阻塞状态,如果没有东西可读,或者不可写,读写函数马上返回,而不会等待,O_NONBLOCK 的标志打开文件/Socket/FIFO句柄,如果连续做 read 操作而没有数据可读,此时程序不会阻塞起来等待数据准备就绪返回,read 函数会返回
阅读全文

WebRTC技术概览

这是两年前刚接触WebRTC时整理的PPT,分享出来!从WebRTC技术概览、WebRTC客户端技术、WebRTC服务端技术三个方面来梳理!
阅读全文

记一次中英文标点符号使用错误

刚入职H公司一个月,开始修改的问题主要是文档日志类,这些文档包括对外输出的用户手册和产品使用说明;其中有逻辑严谨,并经过测试验证的流程描述,也有故障恢复步骤说明,并要求对应的英文文档,体会最深的是对Word使用的熟练程度,不亚于毕业论文文档格式要求,所以尽管过去8年之久,依然记忆犹新;LM抽查问题修改单,其中就有我修改的一个,这是一个文档修改的需求单,通过问题单的形式修改提交,处于已经回归完成阶段
阅读全文