Golang | sync.Mutex详解2020年12月29日| 编程 编程.Golang概述 自己做的一个golang项目需要优化,优化方向是减少gpu内存的使用。同一个模型被重复加载多次,使用更多的gpu内存,也增加 sync.Mutex的使用。 优化的方向是: 减少代码量的改动- 减少gpu内……阅读全文
五种网络IO模型总结2020年12月28日| 编程 编程.网络编程概述 在网络上看到很多关于阻塞IO、非阻塞IO、同步IO、异步IO的例子,总觉得写的过于复杂并且让人难以理解。于是我把我自己把这几个概念的理解写下来以供参考。 POSIX POSIX(可移植操作系统接口)把同步IO……阅读全文
CCnet | 一个reactor单线程网络库2020年12月27日| 编程 编程.C 编程.网络编程缘由 最近在研究陈硕的网络库muduo,是一个基于reactor架构的网络库。我对网络库的感觉是易用,但是内容庞大,依赖颇多。比如boost网络库里面的一些语法让人生畏。关于reactor和proact……阅读全文
C++ | vector中的resize()函数 VS reserve()函数2020年12月25日| 编程 编程.Creserve void reserve (size_type n); reserver函数用来给vector预分配存储区大小,即capacity的值 ,但是没有给这段内存进行初始化。reserve 的参数n是推荐预分配内存的大小,实际分配的可能等于或大于这个值,即……阅读全文
Golang | 用gocolly登录B站2020年12月13日| 编程 编程.Golang概述 gocolly是golang语言开发的爬虫包,通过gocolly来进行模拟网站的登录, 目标已经确立,开始行动。 下载 $ go get -u github.com/gocolly/colly 获取cookie 登录网站:https://www.bilibili.co……阅读全文
Protobuf | 沾包问题2020年12月13日| 编程 编程.Golang缘由 最近在研究一款游戏的源码。发现里面的通信协议是protobuf定义的,但还是自己定义了协议头部,类似 head + body。先解析头部里所存储的整个包的数据长度,然后再解析包剩余的数据,这样做的目的是为了防……阅读全文
Grpc | 概述2020年12月13日| 编程 编程.GolangOverView gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接……阅读全文
Openresty二 | postman小工具2020年11月25日| 编程用到的知识点 mvc架构 模型渲染库:https://github.com/bungle/lua-resty-template resty http请求库: https://github.com/bungle/lua-resty-template 参照 mvc模型来做postman工具 配置文件说明 worker_processes 1; error_log logs/error.log; events……阅读全文
Openresty一 | 初探2020年11月23日| 编程概述 OpenResty®是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。……阅读全文
LastBattle | 登录流程(LS & BS & GS)2020年11月20日| 编程 编程.游戏开发登录流程 根据上一篇文章中的登录流程,我在工程中找到了相应的代码并记录了下来 登录服务代码解析 监听端口:49997 供BS服务连接 监听端口:49996 供客户端连接 CIocpCtrl:IOCP控制类 多线程循环……阅读全文