靠谱的SeLinux强制访问控制技术

SeLinux全称为安全增强式 Security-Enhanced Linux(SeLinux),是一个在内核的强制存取控制(MAC)安全性机制。SeLinux的整体架构和原理都比较简单,使用也不复杂,其复杂的地方在于规则非常复杂,每个进程都要有规则策略;SeLinux 遵从最小权限的理念,在开启SeLinux的情况下(enforcing 模式),所有访问默认是被拒绝的,而有一系列例外的策略来允许
阅读全文

亲密关系如何保持

早上醒得早,思考这些年的一些体会,比方最亲密的人之间,是否存在边界?他/她在说不的时候,你是否还在任性,肆意妄为,直到你感受到对方生气,甚至发怒,然后哑然无趣的收场,或者对方说你不懂他/她;反倒是在陌生人,同学,同事,或者闺蜜好友之间,我们总是收起那份恣意妄为的任性,识图不要打破对方的边界,保护自己和理解他人的空间,虽不到相敬如宾,但又没那么客套,这种关系能拿捏得恰如其分;在最亲密的人面前,其实我
阅读全文

JNI使用内存相关问题记录

最近给服务器提供协议编解码库,出现较多内存相关的问题,做个记录,顺便给有相同需求的同学提供参考!
阅读全文

JNI使用过程记录,Java调用C++函数,JNI层使用和实例化Java对象

近期提供给JAVA应用使用的编解码协议库,需求就是编码的字符串,需要解码为Java对象;回应消息的Java对象,需要编码为指定格式的字符串,把模板代码总结下,主要涉及几个点:1、在JNI层找到Java对象,及其属性变量的值,然后转换为JNI层的内存数据;2、在JNI层实例化Java对象,并设置这个Java对象的属性变量,并返回这个Java对象;示例代码如下:Java对象 public&n
阅读全文

UWB定位产品不可忽视的MAC层实现

从开源的代码以及DW1000提供的代码,均没有很好的MAC层控制实现,对于定位模块的产品化来说,这是缺少关键的一层,只实现了功能,绝不能算是产品;MAC:MAC协议全称Media Access Control(媒体访问控制子层),该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。DW1000的官方文档明确提出了DW1000的收发器模块并没有实现MAC层,但对MAC
阅读全文

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

推出的音视频服务的产品,其可用性、易用性和用户体验如何,对于复杂网络场景下的处理如何,这是相当考验技术的一个行业,投入的资源和技术积累的程度,核心算法的设计、开发能力,都是尤其重要的,所以通过互联网开源项目堆出的产品,只能处在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数据共享,
阅读全文