音视频类应用开发这些年的一点感受

推出的音视频服务的产品,其可用性、易用性和用户体验如何,对于复杂网络场景下的处理如何,这是相当考验技术的一个行业,投入的资源和技术积累的程度,核心算法的设计、开发能力,都是尤其重要的,所以通过互联网开源项目堆出的产品,只能处在demo环节,离真正的产品化还有好远好远的距离;通信网络技术:TCP和UDP的选择;搞不定丢包就选TCP,比方POC语音对讲相对小数据量的应用,就适合选用TCP;比方实时性要
阅读全文

结合多种系统api来理解堆栈的概念

数据结构中栈具有后进先出的特点,我们提到堆和栈空间的时候,指的是数据在内存中的概念,对栈空间,基本的认知包括:1、栈空间通常用来存放临时变量、参数,寄存器等数据;2、栈空间不能被多个函数共享,只能使用堆内存进行不同函数间的数据共享;3、栈空间有限,所以编码规范中通常定义函数的形参建议不超过6个,多了建议使用数据结构;      临时变量也不能想创建多少就创建多少,特别
阅读全文

从KMIP编解码库libkmip的代码学到的编解码代码框架

所谓的编码,就是将数据结构的结构体对象编码为指定协议标准的二进制流,而所谓解码,则是将二进制流解析出对应的结构体对象;比方RTP Payload一直都长的一样,所以一个数据结构就能定义了;如果需要同一套协议,承载不同结构的payload的情况,KMIP的实现提供了一套通用的代码框架,值得参考和学习;
阅读全文

用工具脚本生成模板代码记录

这次项目的需求有大概20个命令,需要根据协议来实现不同payload的编码和解码函数,抽象出来每个命令有相似的代码结构,如果每行都用键盘敲打确实是低效,所以考虑用脚本先生成一个代码模板,然后逐个填空实现对应的方法,也算是一个小的尝试!以前的一个同事,闲暇之余就爱写小工具提升工作效率,完全自驱自发的行为,有同事觉得刚好有需求就分享出来,这种感觉还是很奇妙的,也是我蛮佩服的一类人!
阅读全文

一个基于Go语言实现的组团学习网站,代码已开源

测试站点:https://pub6.top/ 代码提交 github: https://github.com/twoconk/pub6.git 开放的代码对于理解gf框架,练习Go语法是足够的,总结的话,主要有几点:1. 第一个是数据库操作,关联表查询;2. 用户token认证;3. 应该是session context数据共享,但并没有深入去用;4. 前端layui数据共享,
阅读全文

[UWB之TDOA]lps-node-firmware代码中uwb_tdoa_anchor2.c代码解析

所谓的TDMA,就是根据时隙决定谁来发送什么类型的数据,或者决定由谁来使用该时隙,这里uwb_tdoa_anchor2的实现就是根据slot号决定由谁来进行tdoa测距的业务实现; 这里uwb模块就没有了anchor和tag的概念
阅读全文

一个基于翻转课堂想法的学习工具产品思路

计划是做一个基于翻转课堂实现的学习工具,让自主学习更有效率!互联网有很多的学习资源,如何提高自主学习的效率,用有限的时间快速的完成高质量的学习,窃以为以教为学,翻转课堂的学习方法是当前最有效解决这个问题的方法,所以考虑做一个基于翻转课堂实现的学习分享社区,以提高自主学习的效率和质量!主要围绕学习主题来展开,主题可以是一个编程语言,一本书,一个网络视频公开课,最小原型思维导图如下:做起来好像不难,但
阅读全文

技术方案讨论的基本素养

技术方案讨论的基本素养组织者:1、做好提前准备,包括背景、技术方案,会议主题,会议内容,会议材料,至少提前一天邮件发出。2、会前准备,这个内容可能就比较多了:如果会议的主题是培训,就需要提前做试讲,讲上一次、两次,或者更多次,通过试讲,能建立把控会场的信心;一定提前进入会场,做好准备环节;特别是远程会议的网络,投影仪或者远程的投放,这些细节往往是工程师不那么关注的,到了会场调电脑,找连接线,或者网
阅读全文

C程序反编译成汇编代码命令整理

最近使用三方的一个工程, 但是有些逻辑封装成了lib库,关键地方看不到是不是很难受, 所以顺带找了找反编译的方法,反编译出来的代码是汇编代码,比方ANTHOR_MEASURE的代码,但多少能猜的八九不离十吧,知道调用了哪些方法,参数是什么,也就够了,也不算是逆向工程,做了简单记录;
阅读全文

前端网页框架layui的使用小结

总结一点就是,有基础框架做任何事情都能顺利很多,感谢layui的共享!layui作为前端页面的基础框架,写几个小页面的几点零碎处理
阅读全文