- 博客(53)
- 收藏
- 关注
原创 将eBPF作为LINUX内核学习的工具
纯粹写一些LINUX内核学习的体会。近段时间,断断续续的温习一些LINUX内核的知识。一直苦于没有找到一个可以实践的着力点。不过,最近看到eBPF相关的资料,我觉得可以将它作为一个实践的项目来推进LINUX内核的学习。具体的方向主要包括两方面,将eBPF作为内核追踪的工具,另一方面是学习,分析XDP是如何PK DPDK的。另外,发现一个有趣的事实。最近我比较关注的技术,包括raft,etcd,tidb,eBPF,都是一些5到6年左右的开源技术。我想可能有2方面的原因,第一是对于一个路线正确的开源项目,5
2020-07-11 10:37:45
498
1
原创 当前我们游戏服务器的优化方案
#现状我们服务器的代码最早源于一套WOW的开源私服。本质上是单体架构。虽然拆分出了一个login进程,还有最近拆分出了一个dbmgr进程,游戏的主逻辑还是在一个单体的gameworld进程中。一般ARPG游戏,按数据属性对功能进行划分,可以大致分为全局的world和场景scene。和场景,特别是和战斗相关的逻辑,对实时性要求最高;但这部分数据仅局限于area of interest(aoi)里。场景数据一般应包括玩家的血量,魔法值,技能,场景状态等,对实时性要求最高。全局数据包括所有玩家账号相关的信息
2020-07-11 10:20:45
648
原创 2020年年中技术总结
很特殊的上半年,现在也还没完全恢复正常状态。上半年项目上不是很忙,个人主要是继续还技术债,还有在几个自己确定的技术方向上进行深入学习。下面主要也是聊这方面的内容。聊个题外话,上个星期收到通知,一不小心过了5月底的晋升评审。似乎没啥特别的,既是意料之中又有意料之外的东西,略过不表。目前,个人主要关注存储(主要是NewSQL方向),游戏开发和AI计算框架这三个方向。先说游戏。这段时间主要集中在后端技术的总结,前端引擎现在确实没有精力拓展。关于游戏后端技术的总结,主要是结合游戏类型,对后端架构的设计思想进
2020-07-05 11:32:48
295
1
原创 弱网优化相关资料
弱网优化是应用去到公网,特别是移动网络,必须考虑的一个问题。感谢即时通讯网的技术资料,从这篇文章及包含的链接进行阅读,可以了解大部分的技术细节。其实最重要还是对协议熟悉。...
2020-05-05 20:52:29
308
原创 云风coroutine笔记
github地址https://github.com/cloudwu/coroutine参考文章基于云风协程库的协程原理解读云风 coroutine 协程库源码分析我的解读这是一个短小精悍的开源项目。结合上面两篇参考文章,代码是很容易看懂的。云风的代码有个特点:简洁,思路清晰。以下是我个人的一些理解:所有协程都在一个栈空间上运行,也就是schedule里的stack栈空间的大...
2020-04-24 18:57:10
236
1
原创 libco笔记
github地址https://github.com/Tencent/libco参考文章https://www.cyhone.com/articles/analysis-of-libco/https://www.cyhone.com/articles/analysis-of-cloudwu-coroutine/
2020-04-19 15:55:22
153
原创 leveldb笔记
最近在看MYSQL的存储引擎细节,然后牵出了LEVELDB,有点相见恨晚的感觉。搜集了一些讲得很不错的文章。https://blog.csdn.net/qq_26499321/article/details/78063856https://www.cnblogs.com/haippy/archive/2011/12/04/2276064.htmlhttps://segmentfault.c...
2020-04-05 17:00:37
198
原创 值得推荐的技术博客:腾讯技术工程
日前在查资料的时候发现了一个质量挺高的技术博客:腾讯技术工程官方号对于我个人来说,虽然只涉猎了其中一小部分知识,但从能看懂的博客来说,大部分都非常详细,严谨,有深度。当然,有些看起来了像是为了指标而发的文章。...
2020-03-29 16:03:56
662
原创 snappy压缩demo
#include <iostream>#include <string>#include "snappy.h"using namespace std;int main(){ string input{"123456789asdfghhjsssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwww...
2020-03-05 17:28:10
544
原创 go微服务RESTful API自动文档生成
swagger被用于为RESTful API做自动文档生成。这一段时间主要用golang写微服务,因此探索了一下如何用swagger为gin和iris两个框架自动生成文档。除了自动生成文档,swagger生成的文档页面还可以用于接口测试,这个功能确实很棒。为gin自动生成文档参考这里:https://blog.csdn.net/aaaadong/article/details/9138488...
2020-03-02 14:14:46
1931
原创 nginx中怎么破除false sharing
最近在基于KONG做一些开发,因此有机会看下NGINX的实现,也顺便翻了一下这本书:《深入理解NGINX:模块开发与架构解析》。里面有一段说到用共享内存统计WORKER进程所处理的连接:注释好像没说到点子上。个人感觉用false sharing来解释似乎更合理。...
2020-02-26 22:23:00
96
原创 关于做读书笔记的方法
去年以来,看了不少书,以期还清技术债,同时也通过在博客里粘贴截图来记笔记。这种方式还是诸多不便。与此同时,还养成了收藏链接的习惯,就是将书中讲得好的或不能理解的转换成相关的搜索引擎结果。这种方式方便日后回忆,复习,值得坚持下去。...
2020-02-20 07:57:45
131
原创 强化学习仿真环境
最近转向新的项目:基于强化学习的游戏AI。所以对相关仿真环境进行了预研。我主要看上了DeepMind的两个环境:DeepMind Lab和OpenSpiel。OpenAI的gym还没有涉猎,还有unity的mlagents。没想到这么快又和游戏扯上关系了,哈哈。...
2020-02-17 22:16:40
975
原创 在AGX上实现实时打码
https://devblogs.nvidia.com/real-time-redaction-app-nvidia-deepstream-part-1-training/这个不错,值得收藏
2020-02-17 21:53:35
109
原创 2019小小的回顾
今天终于放假了。抽点时间小小的回顾一下过去一年。过去一年提的目标大部分都完成了。例如比较重要的技术升级,还有重新养成学习的习惯等。比较可惜的是,没有上线自己的APP或者游戏。由于前几年单干游戏,很多杂事都要自己操心,学习的习惯渐渐丢了。特别是前几年,AI,区块链什么的满天飞;还有后端的技术也层出不穷。虽然技术没必要赶时髦,但背后的理论和市场因素还是很有参考价值的。这个体会,可能是我单干几年最大...
2020-01-22 12:19:35
263
原创 既是BOOST教程,又是参考手册
The boost cpp libraries相比boost官方网站的全面和详细,这个简单明了,可以在开发的时候作为参考手册来翻阅。
2020-01-07 17:16:06
111
原创 x86 deepstream开发环境搭建
从NGC拉取DEEPSTREAM DOCKER镜像,是最方便的方式。NGC:NVIDIA GPU CLOUD半年前,刚接触DEEPSTREAM的时候,采取的方法是按照教程,一个软件一个软件的安装。不仅会有各种版本问题,到最后还可能因为显卡驱动的问题导致电脑挂掉。回想起来,不禁有点唏嘘。半年前,还欠了不少技术债,那时用的都是笨方法,哈哈。前几天尝试了官方提供的DOCKER镜像。不禁感叹,NVI...
2019-12-27 22:16:56
1202
3
原创 聊聊nvidia deepstream和gstreamer
今年四月来到这家公司的时候,一开始用opencv写了一些demo程序,发现opencv用了ffmpeg和gstreamer来进行流媒体处理。于是,就入了音视频这个大坑。音视频处理包括的东西实在是太多了,封装格式,音视频的编码格式,rtsp和rtp协议,基于硬件的编解码等等,随便一个题目都可以有厚厚的一本书。和深度学习相比,其复杂程度,可以说有过之而无不及。当然,深度学习的数学理论方面的东西,也不是...
2019-12-01 19:48:26
2544
原创 ps命令的线程选项很有用
使用ps -Tp PID的命令可以查看PID指定的进程包含哪些线程,而且线程名字也打了出来,这对于调试非常方便。例如:最近使用这个命令定位到了一个线程泄漏问题的来源。...
2019-11-27 23:08:43
399
原创 jetson_inference中的cuda代码解读
jetson_inference是nvidia提供的一个基于tensorrt的推理库,主要用在tx2.xavier这些设备上。不知道用“库”是否准确,可能叫demo更好?可能也不算nvidia正式对外提供的,似乎是nvidia一个员工在维护。在github上可以找得到。这个项目里的cuda代码主要对图像进行预处理和后处理。先看这两个:cudaError_t cudaPreImageNetRG...
2019-11-16 11:04:18
371
原创 关于完美转发,看这几篇就够了
c++11 完美转发 std::forward()std::forwardstd::movestd::remove_reference
2019-11-11 08:22:14
381
原创 Go是一种高效得会让你喜欢上她的语言
今天用Go的协程很轻松的解决了一个问题。如果用C++11里的std::thread和lambda表达式的话,也能比较简洁的实现,但远不如golang,只要加上go即可。如果用c++98的话,就要大费周章了。同一个问题,可能要建一个队列,并用锁进行保护,另外加上单独的线程进行调度。不得不说,Go是一种高效得让你喜欢上她的语言。...
2019-11-06 22:25:58
88
原创 今年看的最好的一本书:《TCP-IP协议族(第4版)》
虽然今年还有2个月,但我觉得这本书应该毫无疑问当选本人评选的年度最佳:《TCP-IP协议族(第4版)》作者是Behrouz A.Forouzan。特点:讲解细致,又不会深入无关细节;贴近实际应用,不会泛泛而谈。还有很多,不一而足,谁看谁知道。...
2019-10-30 23:44:12
922
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人