- 博客(226)
- 资源 (11)
- 收藏
- 关注

原创 C++笔试总结
有多套完整python,人工智能,机器学习,马哥最新Linux运维,老男孩Linux运维,老男孩python全栈,老男孩python14期,传智播客C++,传智播客java教程,黑马安卓视频教程,得到音频所有专栏打包出售,有需要的加微信Wonder–G联系。(Wonder–G中的–是两个减号)1.计算机操作系统1.1shell执行机制shell内置命令exec有两个主要目的:(1)...
2016-08-13 02:01:57
17061
1
转载 Kbengine游戏引擎-【1】kbengine安装
原文:https://www.cnblogs.com/geekmao/p/7885022.html本文主要介绍如何在Linux上安装官网环境要求:Centos >= 5.x, Debian >= 5.x GCC版本: >= 4.4.x 官网链接本文的安装环境介绍:Centos =6.9, GCC版本: = 4.4.7Mysql =5.6 ,python =2...
2018-11-11 00:20:13
1109
原创 游戏中常见的漏洞和预防措施
下面介绍游戏中一些常见的漏洞和预防措施。1.中间人攻击 任何使用不安全的或者公共无线网络的计算机都可能被该网络中的另一台计算机读取数据包信息,这可能是网关计算机在嗅探数据包。打击中间人的常用方法是加密所有传输的数据。 常用的加密算法有公钥加密是算法,例如Alice和Bob通信,他们首次握手成功时,他们交换公钥。当Alice给Bob发送一条消息时,她将使用Bob的公钥加密该信息,这条信息只有...
2018-08-07 21:33:07
4322
原创 网络游戏客户端延迟处理
解决游戏的延迟或卡顿,客户端的改进方法有以下几种:1.客户端插值(解决卡顿):当客户端A收到服务端发来的玩家B的位置,不是直接瞬移到数据包中指定的位置 ,而是使用插值的方法平滑地插值到新的位置。此处引入几个概念,插值周期IP和数据包周期PP和RTT。 IP插值周期是从开始插值到插值结束的时间。 PP数据包周期是服务端每个固定时间向前端发送数据,这其中固定时间就是数据包周期,例如服务...
2018-08-04 22:40:08
3494
原创 C++ int float double类型的数据大小端转化
以下代码抄自《网络多人游戏架构与编程》,可以支持float、int、double等数据类型数据的大小端转换,测试代码为:void TestByteSwap(){ int32_t test = 0x12345678; float floatTest = 1.f; printf( "swapped 0x%x is 0x%x\n", test, ByteSwap( test ) ); pr...
2018-07-08 20:45:54
3832
转载 c/c++字节序与大小端转换
一.多字节值及字节序1.brief现在有一个数字 65430,这个数字在二进制的内存中一个字节无法完全存下,存储这个数字需要1个字节以上的空间。这样的值被称为多字节量(multi-byte quantity)。65430在内存中由两个字节表示:0xFF 和 0x96 ,其中:0xFF被称为最高有效字节(most significant byte, MSB) 0x96 被称为最低有效字节(last ...
2018-07-07 23:28:39
3082
原创 Python、Lua语言的优缺点
Python的优点: 1.Python比其它语言有更多扩展模块。 2.在网上可以找到很多Python教程。 3.Python语言的语法清晰易读。 4.Python有很多库,而且大部分都有完善的文档支持。 5.很多工具可以用于Python,但难以找到适用于Lua和Ruby的。 6…Python的不足: 1.因为栈上的任何东西都是对象,所以Python有时候会慢得难以忍受。 2…....
2018-06-27 22:22:08
12359
原创 python3安装web.py和psutil
1.安装web.py安装web.py的python3.x的版本不能直接pip3 install web.py,因为会报一堆错误, 要想用pip3安装可以执行pip3 install web.py==0.40.dev02.安装psutil安装psutil时,直接执行pip3 install psutil, 报错可能如下: building 'psutil._psutil_linux...
2018-05-30 21:57:52
3689
原创 Python爬虫--使用scrapy框架(2)
1.需求介绍上一篇文章中讲的是抓取一个网页的数据,但是如果爬取的一个网站中有很多页,我们又想把每一页的数据都爬取下来怎么办呢,例如我们接下来将要爬取的这个网站,如图红框中的next,点击后会进入下一页: 2.编写代码下面的代码将展示如何爬取多个页面的数据:import scrapyclass QuotesSpider(scrapy.Spider): name ...
2018-04-26 23:37:33
311
原创 Python爬虫--使用scrapy框架(1)
1.安装scrapy首先安装Scrapy框架,可以使用pip3 install scrapy,安装scrapy时会自动安装twisted,但是可能会安装不成功,可以下载一个你的python对应版本的twisted(可以去这个网站下载点击下载twisted),使用pip3来安装它,再使用pip3 install scrapy安装scrapy.2.网页源码使用scrapy爬取七月在线网站课...
2018-04-25 22:05:12
346
原创 Python爬虫--使用cookies登录豆瓣网
用python做网络爬虫时,有时需要登录某些网站。 例如使用requests请求登录豆瓣网的时候需要输入用户密码,可能还需要输入验证码,比较麻烦。 现在在请求豆瓣网链接www.douban.com的时候,使用post加上cookies,可以不用输入账号和密码直接登录。方法如下: 打开浏览器,打开豆瓣的主页,按下键盘上的F12键(打开浏览器的开发者工具),此时输入账号和密码登录豆瓣网。查看...
2018-04-19 22:27:10
8954
3
原创 Python爬虫--Beautiful Soup
如果没有安装bs4,使用pip安装bs4。test.html文件如下,注意该文件不是标准的html文件,因为body标签没有闭合,后面会讲到:<html><head><title>The Dormouse's story</title></head><body><p class="title" n
2018-04-16 22:49:12
277
原创 Linux中安装配置samba服务器
使用的centos6.5和物理机上的windows7,实现在windows7 上访问centos上的文件。1.使用yum安装Samba使用yum进行包的安装(可以解决包之间的依赖关系),当然也可以使用rpm的方式单个进行安装。在命令行输入:yum -y install samba samba-common samba-client2.查看samba是否安装成功在命令行输入:...
2018-03-17 19:48:53
2257
原创 编写可读代码的艺术----读书笔记
1.函数或者变量命名时不用get,用fetch或者download会更好。 2.避免使用空泛的名字,如tmp,retval等。 3.作用域大的变量名字要长一些。 4.使用专业的单词,例如使用fetch而不用get 5.当为布尔值命名时,使用is和has这样的词来表示它是布尔值。 6.要小心用户对特定词的期望,例如,用户期望get()和size()是轻量级的方法。 7.用空行把大块代码分
2018-01-28 15:41:44
342
原创 在ubuntu中安装配置mongodb
1.首先去官网下载mongodb的包,地址是https://www.mongodb.com/download-center#atlas,下载Community Server的对应版本即可,我的系统是ubuntu14.04 64bit, 所以我下载的是mongodb-linux-x86_64-ubuntu1404-3.6.2.tgz2.下载完后放到/usr/local/目录中,执行命令: ta...
2018-01-23 00:30:42
1267
转载 skynet中使用云风的pbc
引言:假如我们要建立的skynet服务器与客户端的连接方式为长连接,且选择了Google的Protobuf来定制我们的网络协议,那么,接下来我们要解决的问题就是:如何在skynet框架中使用socket+protobuf。API几个常用的skynet接口:* 输出错误信息: skynet.error(...)* 获取本地服务句柄方式: s
2017-11-16 23:46:51
1843
4
转载 Lua弱表Weak table
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的。弱表的定义是:Aweak table is a table whose elements are weak references,元素为弱引用的表就叫弱表。有弱引用那么也就有强引用,有引用那么也就有非引用。我们先要厘这些基本概念:变量、值、类型、对象。(1)变量与值:Lua是一个dynamically ty
2017-11-16 16:41:14
1043
转载 [Lua]在C函数中保存状态--注册表,环境表,upvalue
什么叫做在C函数中保存状态?比如你现在使用Lua调用了C函数Func1,但是Func1中有一些数据在调用完以后保存下来,供以后使用。而这些数据就是所谓的状态,也就是我们需要保存的东东。有人就会说了,Lua调用C时,把所有的需要保存的状态都返回到Lua中,当调用下一个函数时,将需要的状态当做参数再传进去,不错,是一个办法,但是很麻烦。方法一:注册表;方法二:环境;方法三:upvalue。注册表是
2017-11-14 00:23:25
804
原创 lua性能优化
1.尽量使用局部变量如果你要在一个很长的循环里调用一个函数,可以预先将这个函数赋值给一个局部变量,例如:for i = 1, 1000000 do local x = math.tan(i)end比下面这段要慢30%:local tan= math.tanfor i = 1, 1000000 do local x = tan(i)end2.少用动态编译的函数例如loadstr
2017-10-26 16:16:17
335
原创 lua从固定table中随机出不重复的子table
function random_table(t, num) for i,v in pairs(t) do local r = math.random(#t) local temp = t[i] t[i] = t[r] t[r] = temp end num = num or #t for i = #t,n
2017-10-16 20:22:50
3875
1
原创 Linux中源码编译lua动态库
1.修改根目录下的Makefile文件TO_LIB= liblua.a 修改成 TO_LIB= liblua.a liblua.so2.修改src/Makefile在CFLAGS=加上-fPICLUA_A= liblua.a LUA_SO= liblua.so (新添加的行) 修改
2017-08-17 23:06:38
1210
转载 开源C/C++网络库比较
转自:点击打开链接在开源的C/C++网络库中, 常用的就那么几个, 在业界知名度最高的, 应该是ACE了, 不过是个重量级的大家伙, 轻量级的有libevent, libev, 还有 Boost的ASIO。ACE是一个大型的中间件产品,代码20万行左右,过于宏大,一堆的设计模式,架构了一层又一层,使用的时候, 要根据情况,看你从那一层来进行使用。支持跨平台。Boos
2017-06-12 23:43:15
2249
原创 解决Navicat 出错:1130-host . is not allowed to connect to this MySql server
可能是你的帐号不允许从远程登陆,只能在localhost登录。 你想myuser使用mypassword从任何主机连接到mysql服务器的话,在Linux命令行登录mysql客户端,执行: mysql > GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; mysql >
2017-04-20 18:15:04
1138
原创 mysql忘记root密码怎么办
我的Linux是ubuntu14.41.修改/etc/mysql/my.cnf执行vim /etc/mysql/my.cnf,在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出,如果显示文件只读不能保存,这时切换到root用户即可(在ubuntu中执行sudo su即可切换到root用户)2.重新启动mysqld执行/etc/init.d/mysqld restart
2017-04-20 17:43:00
786
转载 游戏服务器心跳包的作用
转自:点击打开链接首先查一下tcp的断线是否真的可靠看到了一位同学的经验点击跳转到原文 之前的测试都是,手动强制关闭客户端进程,然后查看服务器的情况,结果往往是,服务器收到了客户端关闭的事件。其实,我一直忽略了一个问题,我没有拔掉网线来测试! 上面的手动关闭客户端进程,事实上并不能测试出想要的结果,因为进程是在应用层的,所以
2017-04-01 10:38:37
4466
原创 python sys模块
里面有个 sys.path属性。他是一个list.默然情况下python导入文件或者模块的话,他会先在sys.path里找模块的路径。如果没有的话,程序就会报错。 所以我们一般自己写程序的话。最好把自己的模块路径给加到当前模块扫描的路径里,eg: sys.path.append(‘你的模块的名称’),这样程序就不会因为找不到模块而报错。
2017-03-01 15:08:12
1153
转载 GCC技术参考大全
转自:http://blog.chinaunix.net/uid-553033-id-119977.htmlGCC Section: GNU Tools (1) Updated: 2003/12/05 Index Return to Main Contents NAME gcc,g++-GNU工程的C和C++编译器(egcs-1.1.2) 总览(SYNOPSIS)
2017-02-24 10:56:31
1912
转载 MySQL存储过程详解 mysql 存储过程
转自:点击打开链接mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函
2017-02-21 00:10:10
462
转载 python操作mysql数据库
转载:http://blog.sina.com.cn/s/blog_7e662b4a01012qgm.htmlpython 操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了。 操作步骤如下: 1、建立数据库连接 import M
2017-02-14 13:49:11
353
转载 python生成xml文件
转自:http://www.2cto.com/kf/201501/372716.html 本文是一个使用ElementTree有关类库,生成xml文件的例子# *-* coding=utf-8from xml.etree.ElementTree import ElementTreefrom xml.etree.ElementTree import Elementfrom xml.etree.
2017-02-14 13:45:06
1464
原创 python中lxml模块生成xml文件
用python自带的xml.etree.ElementTree模块和xml.dom.minidom模块生成xml文件中标签的属性时,属性顺序会按照字典顺序重排,要想按照自己设定顺序来,可以使用lxml模块,lxml模块不是python自带的,需要自己安装,安装方法见上一篇博客。lxml模块用法的例子如下:from lxml import etreeif __name__ == '__main__':
2017-02-13 16:07:28
9003
转载 windows下安装python lxml
windows 环境下安装 lxml python1、首先保证你的python 环境安装完善2、把http://peak.telecommunity.com/dist/ez_setup.py 文件下载到电脑上3、打开运行 cmd 执行:python ez_setup.py4、安装完毕 ,PATH环境变量里面添加路径:如:E:\python27\Scripts(E:
2017-02-13 15:58:20
752
转载 即时通信聊天工具的原理与设计
转自:http://blog.youkuaiyun.com/generalyy0/article/details/7653441
2017-01-20 13:43:58
2725
原创 lua洗牌和发红包算法
--Fisher-Yates Shuffle--洗牌算法,用于将一组数据等概率随机打乱。等概率算法。local function shuffle(t) if not t then return end local cnt = #t for i=1,cnt do local j = math.random(i,cnt) t[i],t[j] =
2017-01-09 17:50:35
2863
转载 Lua 随机数生成问题
原文链接:http://blog.youkuaiyun.com/zhangxaochen/article/details/8095007Lua 生成随机数需要用到两个函数:math.randomseed(xx), math.random([n [, m]])1. math.randomseed(n) 接收一个整数 n 作为随机序列种子。2. math.random([n [, m]])
2017-01-09 16:56:30
967
原创 navicat远程连接报错1045 access denied for user'root'@'ip'(using pasword:yes)
首先登陆MySQL,然后执行以下语句:mysql> GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;mysql> flush privileges;注意,xxxxxx表示你的数据库的root用户密码。
2016-12-04 20:41:48
5002
转载 最全的常用正则表达式大全
原文:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式 1 数字:^[0-9]*$
2016-11-26 16:12:24
553
转载 Lua中的基本函数库
转自:http://www.cnblogs.com/whiteyun/archive/2009/08/12/1543184.html基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion faile
2016-11-20 22:38:48
444
原创 Lua 调试(Debug)
Lua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代码。Lua 中 debug 库包含以下函数:sethook ([thread,] hook, mask [, count]):序号方法 & 用途1.debug():进入一个用户交互模式,运
2016-11-16 11:55:55
1978
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人