
All 我的文章
文章平均质量分 68
ygluu
这个作者很懒,什么都没留下…
展开
-
一个单生产-多消费模式下无锁方案(ygluu/卢益贵)
本文介绍一个“单生产(低频)-多消费”模式下的无锁哈希类方案,这个方案的性能优于golang的RWMutex,因为它永远不会因为“写”而导致与消费者发生碰撞而导致互斥同步。关键词:生产者-消费者模型、无锁队列、golang、RWMutex。一个单生产-多消费模式下无锁方案。原创 2024-03-23 19:07:33 · 540 阅读 · 0 评论 -
游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
众所周知,游戏服务端配置信息热更有几大问题(非lua架构):1、因配置对象的指针被场景对象引用而导致热更复杂度提高2、信息量大的配置表热更导致游戏卡顿、玩家闪断3、一般重载后的配置信息仅影响重载后新创建的对应场景对象,不能影响已存在的场景对象4、在高度解耦的模块化开发模式下导致热更复杂度提高本示例代码将使用通用方法来演示在“高度解耦、模块化、模板化”的开发模式下对上述问题的解决方案,并提出游戏服务器秒启动的辅助方案。同时给出了完整示例代码及下载连接(见后)。原创 2024-03-17 02:10:58 · 1978 阅读 · 1 评论 -
【数据中台战略】可配置化数学建模的应用案例图解
无论再深奥的数学理论,数学建模最终产物是:数学公式和流程步骤。这是程序能理解和执行的数学模型。我们在数学建模的生产活动中,数学模型经常需要修改和调参,甚至推到重新建模,面对修改代码繁琐代价,痛点是:如何将数学建模活动独立在代码之外。本文将以前述的机车系统经验为基础并加以提炼,阐述可配置化数学建模。原创 2022-11-06 19:05:46 · 701 阅读 · 0 评论 -
插件式模块化软件框架的思想图解三(数据交换系统和条件系统)
文本主要介绍独立模块之间用于数据交换的数据交换系统、条件系统和公式系统组成的数据平台的设计思想,以及介绍围绕数据平台的生产-消费模型。原创 2022-05-15 22:54:00 · 1566 阅读 · 0 评论 -
插件式模块化软件框架的思想图解二(案例篇)
一、前言本人推崇模块化设计,不是基于技术深度,而是基于管理高度(如何在多变的项目需求中提高开发效率、缩短开发周期)。本文将通过一个《火车在途实时信息系统》的火车实时和历史轨迹显示部分的简要阐述来“插件式模块化软件框架思想”的理解和应用(实际项目设计要复杂得多)。本文涉及项目截图均已向社会公众公开,本文仅阐述行业惯例或通用做法部分,不涉及商业秘密和专利核心技术。阅读本文前最好先阅读本人上一篇博文《插件式模块化软件框架的思想图解一(框架篇)》:https://blog.youkuaiyun.com/gues原创 2021-08-29 20:09:35 · 1963 阅读 · 0 评论 -
C++高效低延时有锁队列测试程序
C++高效低延时有锁队列测试程序, 经过多次优化之后性能达到了最大化:10年华硕老本测试,队列速率1000万+,低延时(Pending数量少)。下载地址:https://download.youkuaiyun.com/download/GuestCode/21098156图1图2优化前通过满队列方式以提升队列通过率(图3),优化之后队列积压明显减少通过率还略有提升(图1):图3...原创 2021-08-15 21:19:06 · 487 阅读 · 0 评论 -
插件式模块化软件框架的思想图解一(框架篇)
插件化(模块化)软件框架思想的总结图解(码客/卢益贵)关键字:插件化 模块化 软件框架 C++ Golang Rust Delphi一、前述关于模块化的好处在此省略1000字,网络资源很多不再赘述。从本人20多年多个行业众多项目经历来说,无论是一个人、两个人开发,还是多人协同开发,模块化在实际应用中有非常高的实效性。本文讨论的是源代码插件化框架思想,而非二进制Dll之类的插件化。如果没有特别说明,本文提及的插件和模块是同一个实体概念。二、模块化原则1、高度独立要达到高度独立必须实行高原创 2021-08-15 02:37:02 · 7780 阅读 · 2 评论 -
git(gitlab)子模块功能在团队协同开发和生产环境中的应用(git,gitlab,TortoiseGit,CI/CD,Jenkins,docker-compose,分支合并,开发环境,测试环境)
git(gitlab)子模块功能在团队协同开发和生产环境中的应用目录git(gitlab)子模块功能在团队协同开发和生产环境中的应用一、前言二、先决条件三、创建gitlab项目(项目管理员操作)四、关联子模块(项目管理员操作)五、开发环境提交代码(团队开发人员操作)六、生产或测试环境合并代码(项目管理员操作)一、前言gitlab不仅能够提供便捷的CI/CD流程控制的方式,也能为开发团队提供便捷的版本库控制方式。在多人协同开发时,如果一个大型的开发...原创 2020-08-14 21:49:07 · 2777 阅读 · 0 评论 -
小团队大开发:iogo微服务集群框架(golang/grpc/http/protobuf/etcd/freetoo/5G物联网/服务发现/负载均衡/一致性哈希/码客/卢益贵)
小团队大开发:iogo微服务集群框架KeyWord: iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,k8s,docker,redis,mamcache,5G物联网,微服务框架,分布式集群,分布式锁,分布式文件系统,分布式数据库,高速缓存集群,服务发现,负载均衡,容器编排,一致性哈希目录小团队大开发:iogo微..原创 2020-08-12 17:18:43 · 1726 阅读 · 0 评论 -
一个极其简单的用golang net写的tcpip echoserver
一个极其简单的用golang net写的tcpip echoserver 关键字:linux golang tcpip echoserver 虽然然效率不是很理想,但是可以给初学者参考package mainimport ( "fmt" "net" "os" "runtime")func doEcho(c net.Conn) { defer原创 2015-12-06 13:17:16 · 2579 阅读 · 0 评论 -
linux安装nginx并设置https(openssl)
一、安装依赖包1.$sudo apt-get install openssl 或者$sudo apt-get install libssl-dev2.$sudo apt-get install libpcre3 libpcre3-dev二、安装nginx1.$cd /usr/local/src2.sudo wget http://nginx.org/download原创 2015-12-06 13:08:08 · 22058 阅读 · 0 评论 -
IOKING真正无锁服务器引擎之消息引擎模块Demo(no-lock)
关键词:no-lock interlocked lock-free tcp/ip socket server engine epoll iocp server out-of-orderexecution无锁 原子锁 原子操作 原子指令 锁无关 开放锁 通讯服务器 引擎 高并发 大数据 搜索引擎 完成端口服务器 cpu乱序并行执行 内存栅栏IOKING 真正无锁服务器引擎之消原创 2015-08-27 23:06:47 · 3789 阅读 · 0 评论 -
'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)
关键词:IOKING IOCP TCP Transmission Server Engine Lock Free Interlocked云猴完成端口TCP通讯服务器引擎 无锁 原子锁(函数)'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)下载连接:http://download.csd原创 2014-06-10 02:06:14 · 3969 阅读 · 1 评论 -
linux下安装redis(linux(centos/ubuntu) install redis)
一、检查是否安装gcc和tcl,没有的要安装: yum install gcc-c++ yum install -y tcl 二、下载redis: wget http://download.redis.io/redis-stable.tar.gz 三、解压redis: tar xvzf redis-stable.tar.gz 四、编译redis:原创 2015-04-24 21:07:18 · 2106 阅读 · 0 评论 -
linux(centos/ubuntu)下支持exFat格式
1、sudo add-apt-repository ppa:relan/exfat2、sudo apt-get update3、sudo apt-get install exfat-utils原创 2015-04-24 21:23:40 · 3111 阅读 · 0 评论 -
linux下安装golang(linux(centos/ubuntu) install golang)
1、安装在devtoolsmkdir $HOME/devtoolstar -xzf go1.4.2.linux-amd64.tar.gz -C $HOME/devtools2、增加环境变量:sudo gedit /etc/profile在打开的文件后面加export GOARCH=amd64export GOOS=linuxexport GOROOT原创 2015-04-24 17:37:46 · 4502 阅读 · 0 评论 -
自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人
自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人keyword: wildcard notdir patsubst findstring wordlist suffix foreach 功能: 1、自动以makefile的父目录名为Target文件名称 2、自动搜索源码文件(含子目录) 3、自动搜索头...原创 2018-05-31 21:40:27 · 1695 阅读 · 0 评论 -
linux下安装gocode(linux(centos/ubuntu) install gocode)
1、安装gitsudo apt-get install git2、下载gocodego get github.com/nsf/gocode3、安装gocodego install github.com/nsf/gocode原创 2015-04-24 17:42:55 · 4603 阅读 · 0 评论 -
用“卡尔曼滤波器”来处理“加速度计数据”(加速度,陀螺仪调试)
关键词:SCA3000,ADIS16255,加速度计、陀螺仪数据计算处理算法,卡尔曼滤波器、扩展卡尔曼滤波器。关键词:加速度计和陀螺仪驱动,SCA3000,ADIS16250,ADIS16255,温度、重力加速度、角速度计算方法,SPI总线,SCA3000 模式设置(Mode)、参数设置、读写,ADIS16255读写、参数设置,陀螺仪数据处理 SCA3000,ADIS16255,加速度计、陀螺原创 2009-08-05 14:03:00 · 21985 阅读 · 8 评论 -
一个简单而又灵活的IOCP模块——完成端口通讯服务器(IOCP Socket Server)设计(四)
完成端口通讯服务器(IOCP Socket Server)设计(四)一个简单而又灵活的IOCP模块Copyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcode 本文对部分IOCP不再多做重复的说明,阅读本文应该对IOCP有一定的了解(本篇也并未包括异步socket)。原创 2009-09-08 00:44:00 · 6965 阅读 · 6 评论 -
一个人写一个集群:基于GRPC的golang微服务框架iogo(grpc/protobuf/etcd/freetoo/码客 卢益贵)
一个人写一个集群:基于GRPC的golang微服务框架iogokeyword:iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,微服务,分布式锁,服务发现,负载均衡1 iogo的初衷iogo微服务框架是对高效的远程...原创 2019-01-26 22:33:59 · 1286 阅读 · 0 评论 -
一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵)
一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵) 这是一个便捷高效的部署高可用etcd集群(TLS)的脚本工具。下载链接:https://download.youkuaiyun.com/download/guestcode/10798474一、【功能说明】 1、自动安装cfssl 2、一键生成ssl秘钥 3、一键安装到目标主机 二、【使用方...原创 2018-11-21 15:09:35 · 699 阅读 · 0 评论 -
项目管理级别的自动万能通用makefile模板:t-makefile (freetoo)
项目管理级别的自动万能通用makefile模板:t-makefile (freetoo) t-makefile源码及示例项目下载链接(会不定期更新):https://github.com/freetoo/t-makefile 一、t-makefile解决的痛点和难点往往在一个项目工程中,目录名改变了、子目录变更位置了都需要去修改makefile,目录繁多的时候修改ma...原创 2018-07-27 00:25:36 · 1561 阅读 · 0 评论 -
t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵)
t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵) 关键字: make makefile shell find grep wildcard notdir patsubst findstring wordlist suffix foreach gcc g++ c++11 嵌入脚本 静态链接库 动态链接库 静态动态混合编译链接 语法 内嵌函数 函数嵌套执行 ...原创 2018-07-22 11:02:24 · 693 阅读 · 0 评论 -
共享windows文件夹给VMware的ubuntu server虚拟机
共享windows文件夹给VMware的ubuntu server虚拟机 把宿主机的文件夹共享给VMware的ubuntu server虚拟机,需要安装VMware tools工具包。1、在VMWare设置共享文件夹:a、先关闭虚拟机b、在VMware虚拟机窗口,选择菜单虚拟机->设置->选项->共享文件夹c、在共享文件页面选择“添加”增加共享文件夹d、并勾选...转载 2018-05-11 08:01:46 · 1639 阅读 · 0 评论 -
linux下安装sublime_text (linux(centos ubuntu) install sublime_text)
1、下载并安装 Sublime Text 3,下载地址:http://www.sublimetext.com/32、给 Sublime Text 3 安装 Package Control:打开 Sublime Text 3,按下 Ctrl + `(反引号,Tab 键上面),输入如下内容并回车:import urllib.request,os; pf = ‘Packa原创 2015-04-24 21:20:23 · 3936 阅读 · 0 评论 -
Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接
Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接1. 安装xRDP及vncserversudo apt-get install xrdpsudo apt-get install vnc4server tightvncserver 2. 安装Xfce桌面环境sudo apt-get install xubuntu-desk原创 2017-02-12 02:59:15 · 3698 阅读 · 1 评论 -
linux下安装mongodb (linux(centos ubuntu) install mongo)
1、打开并编辑文件:sudo gedit /etc/apt/sources.list 2、 在最后一行加入: deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen 保存退出 3、加入GPG Key(终端命令): sudo apt-key adv --keyserver k原创 2015-04-24 21:12:18 · 1548 阅读 · 0 评论 -
linux(centos/ubuntu)使用subversion
1、安装:sudo apt-get install subversion subversion2、从远程检出到本地,如果不指定DestPath,默认到当前路径svn co svn co svn://192.168.1.168/wuliu/code DestPath3、上传到远程,CD到要上传的目录下:将新建的文件或文件夹加入到版本控制svn add × 提交所有原创 2015-04-26 18:09:42 · 1381 阅读 · 0 评论 -
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)关键词:IOCP TcpServer TcpClient 完成端口服务器达到6万连接突破连接限制压力测试工具堵塞锁非堵塞锁无锁 Lock Free 并发队列并发可扩充环形队列首先感谢在行动和精神上给予本人支持的各位同行,在过去的日子,使得本人的IOCP研究进入了崭新的领域。本文及附件希望能给予更多人的帮助,限于商用等原因,除了原来的0.85版开源之外,更高版本不便开源,仅简单描述一些技术要点,请谅解。但附件的压力工具源码,仍然原创 2010-07-23 03:48:00 · 15265 阅读 · 10 评论 -
代码客:G-TcpServer(IOCP) 1.0 正式版及Demo源码
关键词:GTcpServer IOCP Socket Tcp Server 说明一、受限制库Dll和lib说明: 库文件G-TcpServer.lib、G-TcpServer.Dll是受限制的试用版本和Demo配套。1、最大连接不能超过502、发送字节数不能超过503、不能设置0读投递、无超时机制4、其他功能限制二、版本解读说明1、版本名原创 2010-04-29 22:50:00 · 4873 阅读 · 1 评论 -
代码客:Iocp Tcp Server(G-TcpServer) 1.0 Demo源码
Iocp Tcp Server(G-TcpServer) 1.0 Demo源码 IDE:VS2008下载:bata 版已停止下载,1.0正式版期待中 说明 一、本压缩包含:1、Demo源码,位于:/Demos/G-TcpServerLibDemo/G-TcpServerLibDemo.vcproj2、G-TcpServer模块头文件文件原创 2010-04-20 16:24:00 · 4554 阅读 · 7 评论 -
完成端口(IOCP)的另一种设想——Socket与CompletionPort的多次关联
完成端口(IOCP)的另一种设想——Socket与CompletionPort的多次关联代码客 http://blog.youkuaiyun.com/guestcode本文论坛讨论: http://topic.youkuaiyun.com/u/20091104/14/083f8353-e4dc-470f-b0a7-f570404ab338.html 先扯一下题外话。我发表过VC和Delphi版原创 2009-11-04 13:57:00 · 4485 阅读 · 7 评论 -
IOCP做的高效率线程池类源码:GThreadPool
{********************************************************************************* GThradPool:完成端口线程池 ** Copyright C 2009 GuestCode 代码客(卢益贵) 版权所有原创 2009-10-16 01:02:00 · 7215 阅读 · 6 评论 -
妙用PerHandleData和PerIoData——完成端口通讯服务器(IOCP Socket Server)设计(五)
完成端口通讯服务器(IOCP Socket Server)设计(五)妙用PerHandleData和PerIoDataCopyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcode 在部分系统需求下,使用PerHandleData和PerIoData来设计IOCP服务器是非常有效的原创 2009-09-19 22:06:00 · 5701 阅读 · 2 评论 -
功能强大的IOCP Socket Server模块源码——完成端口通讯服务器(IOCP Socket Server)设计(六)
完成端口通讯服务器(IOCP Socket Server)设计(六)功能强大的IOCP Socket Servre模块例程源码Copyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcode 本文论坛讨论:http://topic.youkuaiyun.com/u/20090921/11/69fe462原创 2009-09-20 01:35:00 · 10967 阅读 · 12 评论 -
不要迷信API(单链表的另一种算法)——完成端口通讯服务器(IOCP Socket Server)设计(三)
完成端口通讯服务器(IOCP Socket Server)设计(三)不要迷信API(单链表的另一种算法)Copyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcode 用这个标题可能会牵强了点。只是因为在性能优化中遇到这样的事情,因此用来做标题而已,由此通过一个小原创 2009-08-29 12:08:00 · 5497 阅读 · 2 评论 -
内存管理(AWE)——完成端口通讯服务器(IOCP Socket Server)设计(二)
完成端口通讯服务器(IOCP Socket Server)设计(二)内存管理(AWE) Copyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcode论坛讨论连接:http://topic.youkuaiyun.com/u/20090827/02/51572fda-5cd3-4c6f-9b6原创 2009-08-27 01:51:00 · 7670 阅读 · 8 评论 -
是谁神化了IOCP——完成端口通讯服务器(IOCP Socket Server)设计(1)
完成端口通讯服务器(IOCP Socket Server)设计(一)是谁神化了IOCPCopyright © 2009 代码客(卢益贵)版权所有QQ:48092788 源码博客:http://blog.youkuaiyun.com/guestcodeWindows系统下的socket模型有多种,其中完成例程的效率也是相当高的,其它的也不差(相关模型知识这里不多做介绍,读者可以自己搜原创 2009-08-27 01:49:00 · 8115 阅读 · 0 评论 -
三星Flash芯片驱动程序
关键词:三星Flash驱动程序,Samsung 19FX Flash, ARM LPC21X, LPC21X IIC(I2C), SPI下载:http://d.download.youkuaiyun.com/down/1547738/guestcode原创 2009-08-05 13:51:00 · 1707 阅读 · 0 评论