编程技术

tolua++初探(一)

用luaplus试验了下,想把简单的C++类映射到lua脚本中不难,但是复杂一点的,比方说类的聚合、继承等,比较麻烦。我试验了两天,用表中表来实现是可以的,但自己弄太麻烦了。说到底,我只是想用一下而已,不是想从头弄一个系统。用CEGUI时发现它用了tolua++,从网上DOWN了源码(1.0.92),支持Lua5.1。我用VS2005,用源码包里的sln顺利编译出tolua++.exe。lib据说要用第三方的scons来弄,嫌麻烦,我直接建了个VC动态库工

系统 2019-08-29 23:30:54 2152

编程技术

ESFramework介绍之(8)-- 客户端插件IPassiv

前文已经提到了,在IServerAgent的基础上,客户端也可以采用插件的结构形式,客户端插件需要实现IPassiveAddin接口。我的想法是,当客户端主程序加载一个新的PassiveAddin时,可以在某个菜单的子Items上添加一项,当双击这个子菜单项时,则弹出该客户端插件提供的“业务操作窗体”。这只是使用客户端插件的可行方式之一,你完全可以根据你的应用来决定使用形式。IPassiveAddin接口定义如下:1///2///IPas

系统 2019-08-29 22:56:42 2152

编程技术

学习之路,与你同行——《设计模式的艺术》交流

《设计模式的艺术——软件开发人员内功修炼之道》一书正式出版发行,已在国内各大知名电子商务网站陆续上架。当当网亚马逊京东网China-Pub在本书的作者简介和前言中,我都加上了CSDN技术博客的地址,如下图所示,,以供大家学习和讨论之需。这篇博客将一直置顶,如果大家在学习过程中有什么问题,或者对本书有什么意见和建议,都可以通过本博客来进行交流!祝大家学习愉快,看完本书后能有所收获!PS:对设计模式感兴趣者可加“260112297”,群名“设计模式交流群”(2

系统 2019-08-29 22:55:50 2152

编程技术

设计模式介绍之六:工厂模式(factory)的巧妙

本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件

系统 2019-08-29 22:35:19 2152

编程技术

一个简单的界面拖动切换效果类ScrollViewGroup

网上找的一个简单的界面平滑切换类,我只改动了一点点代码。该类不能循环切换!importandroid.content.Context;importandroid.util.AttributeSet;importandroid.util.Log;importandroid.view.GestureDetector;importandroid.view.GestureDetector.OnGestureListener;importandroid.view.M

系统 2019-08-29 22:07:44 2152

编程技术

第十八章 并发登录人数控制——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。比如springsecurity就直接提供了相应的功能;Shiro的话没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。示例代码基于《第十六章综合实例》完成,通过ShiroFilter机制扩展KickoutSessionControlFilter完成。首先来看看如何配置使用(sp

系统 2019-08-29 22:00:43 2152

Python

Python学习笔记 汇总篇(更新中)

第一篇markdown编辑器001Markdown基本语法第二篇Python集成环境和解释器002Python解释器安装003Python解释器源修改004pip的使用005Python的IDE之Pycharm的使用006Python的IDE之Jupyter的使用第三篇Python基础007常量008变量009Python变量内存管理010各类赋值方式011注释012数据类型基础013数据类型:数字类型014数据类型:字符串类型015数据类型:列表类型01

系统 2019-09-27 17:56:43 2151

Python

Python greenlet实现原理和使用示例

最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。并发处理的技术背景并行化处理目前很受重视,因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代,所以像lisp这种古老的语言又被人们重新拿了起来,函数式编程也越来越流行。介绍一个python的并行处理的一个库:greenlet。python有一个非常有名的库叫做stackless,用来做并发处理,主

系统 2019-09-27 17:56:35 2151

Python

Python的富比较方法__le__、__ge__之间的关联关系分析

Python的富比较方法包括__le__、__ge__分别表示:小于等于、大于等于,对应的操作运算符为:“<=”、“>=”。那么是否象普通数字运算一样,这两个方法之间存在互反的关系呢?Python没有对__le__、__ge__这两个方法之间有什么强制关系,但建议__le__和__ge__为互反,开发者完全可以根据业务逻辑的需要自己定义。我们来进行分析验证:当自定义类中两个方法都定义了时,“<=”、“>=”分别调用__le__和__ge__方法;当自定义类

系统 2019-09-27 17:56:26 2151

Python

Python实现的企业粉丝抽奖功能示例

本文实例讲述了Python实现的企业粉丝抽奖功能。分享给大家供大家参考,具体如下:一代码defscode9(schoice):default_dir=r"lottery.ini"#设置默认打开文件为开发路径下的"lottery.ini"#选择包含用户抽奖信息票号的文件,扩展名为“*.ini”file_path=tkinter.filedialog.askopenfilename(filetypes=[("Inifile","*.ini")],title=u

系统 2019-09-27 17:56:20 2151

Python

对Python进行数据分析_关于Package的安装问题

一、为什么要使用Python进行数据分析?python拥有一个巨大的活跃的科学计算社区,拥有不断改良的库,能够轻松的集成C,C++,Fortran代码(Cython项目),可以同时用于研究和原型的构建以及生产系统的构建。二、Python的优势与劣势:1.Python是一种解释型语言,运行速度比编译型数据慢。2.由于python有一个全局解释器锁(GIL),防止解释器同时执行多条python字节码,所以python不适用于高并发、多线程的应用程序。三、使用P

系统 2019-09-27 17:55:00 2151

Python

python多线程并发实例及其优化

单线程执行python的内置模块提供了两个内置模块:thread和threading,thread是源生模块,threading是扩展模块,在thread的基础上进行了封装及改进。所以只需要使用threading这个模块就能完成并发的测试实例创建并启动一个单线程importthreadingdefmyTestFunc():print("我是一个函数")t=threading.Thread(target=myTestFunc)#创建一个线程t.start()

系统 2019-09-27 17:54:54 2151

Python

python3模拟实现xshell远程执行liunx命令的方法

依赖包:pipinstallparamiko源码demo:fromtimeimport*importparamiko#定义一个类,表示一台远端linux主机classLinux(object):#通过IP,用户名,密码,超时时间初始化一个远程Linux主机def__init__(self,ip,username,password,timeout=30):self.ip=ipself.username=usernameself.password=passwo

系统 2019-09-27 17:53:55 2151

Python

百度大牛总结十条Python面试题检验你的真实水平

Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。作者:xiaochao来源:马哥Linux运维|2018-02-0116:00收藏分享概述Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。一、类继承问题:有

系统 2019-09-27 17:53:50 2151