- 博客(282)
- 资源 (3)
- 收藏
- 关注
原创 数据结构-排序思想
将后面的无序区中的元素挨个向前面的有序区中插入。1.将顺序表中R[0]用作哨兵,按索引i=2...n的次序,将R[i]向有序区R[1...i-1]中执行插入操作。2.插入操作可采取在有序区中从后向前的查找比较和移动的方法。3.此操作中比较的次数与原序列的排列状态有关:原序列为正序时在插入操作中插入位置为尾部即只需要比较一次;原序列为反序时插入位置为头部则需要和有序序列中的每个元素比较一次。时间复杂度:正序时O(n),反序时 O(n²),平均时间复杂度 O(n²)
2024-12-28 14:42:21
542
原创 其它结构型模式
组合模式将对象组合成树形结构,以表示部分-整体的层次结构。它使得用户对组合对象的操作与对单个对象的操作具有一致性。抽象组件接口中声明添加、删除和一些其它业务方法,节点组件实现所有方法,叶节点只需实现其它业务方法。组合模式带来的操作一致性是透明方式的体现,叶节点和节点一样也含有添加删除方法,但没有意义。另一种方式是安全方式,即抽象组件接口中不声明添加、删除方法,让树叶和树枝实现不同的接口,但这样客户端调用时需要做判断,带来了操作不一致。
2024-12-28 14:30:06
326
原创 设计模式-工厂模式
简单工厂模式中,产品是抽象的,工厂不是抽象的,在工厂类中面对各种具体产品。可以考虑使用简单工厂模式与工厂方法模式相结合的方式来减少工厂类:即对于产品树上类似的种类(一般是树的叶子中互为兄弟的)使用简单工厂模式来实现。工厂方法模式中,产品是抽象的,工厂也是抽象的,每个具体工厂类面对一个具体产品。在模板模式中,抽象类中的一个模板方法是用来创建抽象对象的,创建何种具体类推迟到子类中实现。用于创建一些复杂的对象,这些对象内部构建间的建造过程顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。
2024-12-28 14:16:27
388
原创 设计模式的分类
结构型模式:将已有对象加入到的的设计中时,使用结构型模式作为指导。常用的有外观模式,适配器模式,桥接模式,装饰模式,另外还有组合模式,享元模式,代理模式。常用的有单例模式,简单工厂模式,工厂方法模式,另外还有原型模式,抽象工厂模式,建造者模式
2024-12-28 13:58:17
384
原创 Java8新功能
<li>函数式接口(functional interface)与lambda表达式</li><li>方法和构造方法引用</li><li>接口的默认方法</li>
2023-07-04 21:00:52
391
原创 Java多线程
CyclicBarrier使用了类似于Object.wait的机制,它的构造函数中需要接收一个整型数字,用来说明它需要控制的线程数目,当在线程的run方法中调用它的await方法时,它会保证所有的线程都执行到这一步,才会继续执行后面的步骤。可以用synchronized关键字来控制单个线程中的执行步骤,要对线程池中的所有线程的执行步骤进行控制的,有两种方式,一种是使用CyclicBarrier,一种是使用CountDownLatch。在调用该方法前,需要获得内置锁,否则调用者就停在阻塞状态。
2023-07-04 20:59:23
210
原创 Java动态代理
在JDK1.5之后提供了一个"java.lang.reflect.Proxy"类,通过"Proxy"类的newProxyInstance静态方法创建一个接口的代理对象,这个代理对象可以调用接口的方法。java中规定,动态代理的对象必须要有实现一个接口,因为是为动态创建了一个这个接口的实现类,InvocationHandler用来指明产生的这个代理对象要做什么事情。ClassLoader指明生成代理对象使用哪个接口类装载器,>[]指明生成哪个接口的代理对象,java中的代理有静态代理和动态代理。
2023-07-04 20:45:05
353
原创 微信和支付宝子站
微信pay.weixin.qq.com 微信支付商户平台pay.weixin.qq.com/index.php/partner/public/home 微信支付服务商平台developers.weixin.qq.com 微信开放社区open.weixin.qq.com 微信开放平台mp.weixin.qq.com 微信公众平台支付宝open.alipay.com 支付宝开放平台.........
2022-04-24 10:20:06
747
原创 docker for mysql
mysql数据库导出表结构并去除AUTO_INCREMENTdocker exec -it mysql1 mysqldump --opt -d -uroot -p123456 dbname1 | sed 's/AUTO_INCREMENT=[0-9]*\s*//g' > /Users/louis/Documents/dbname1_ddl.sql
2022-04-06 17:47:09
1672
原创 Docker
<h1>docker</h1>DOCKER入门https://ppt.fujiabin.com/tutorial/docker/Mac上用Docker搭建lamp环境http://www.56cto.com/1089Docker for Mac 初体验https://segmentfault.com/a/1190000005106237在MAC上运行Docker和Oracle 12.2数据库环境http://database.51cto.com/art/201705/
2022-04-06 17:39:05
3797
原创 APK混淆
ProGuard是一个SourceForge上非常知名的开源项目。官网网址是:Java Obfuscator and Android App Optimizer | ProGuard。Java的字节码容易反编译,为了保护Java源代码,对编译好的class文件进行混淆处理。ProGuard的主要作用是混淆,还能对字节码进行缩减体积、优化。从脚本中可以看到,混淆中保留了继承自Activity、Service、Application、BroadcastReceiver、ContentProvider
2022-04-06 08:49:02
2133
原创 Linux防火墙
iptablesiptables 是一个Linux内核中的强大防火墙。查看iptables的配置文件内容vi /etc/sysconfig/iptables如果这个文件还不存在,可能是还没有配置规则。下列命令添加一些开放端口/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT/sbin/iptables -I INPUT
2022-04-05 10:04:29
1422
原创 linux常用命令
top查看进程top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器c键参数:显示整个命令行而不只是显示命令名。
2022-04-05 09:33:13
555
原创 nginx
nginx命令./nginx -s reloadnginx -vnginx -V 包括查看安装的模块nginx -s stop 立即停止nginxnginx -s quit 等待到请求被处理完成后停止nginxnginx 启动nginx
2022-04-05 09:22:37
94660
原创 SSH(Secure Shell 安全外壳协议)
通过ssh代理功能连接到内网linux服务器需要通过一台公网主机代理 建立内服到云的反向代理 建立云服上的正向代理 在个人机器上通过云服ssh到内服下面三行命令分别在内网服务器、云服务器、和个人电脑上执行。ssh -fCNR 8081:localhost:22 云用户@云IPssh -fCNL "*:8082:localhost:8081" localhostssh -p 8082 内服用户@云IP8081是云服上端口,用来与内服上的22端口绑定...
2022-04-05 08:51:38
906
原创 beego orm
Datetime time.Time `orm:"auto_now_add;type(datetime)"`auto_now_add 创建或添加对象时的时间, 修改或更新对象时, 不会更改时间。auto_now 对象进行操作(创建/添加/修改/更新),时间都会改变。如果数据库看到的时间会比正常时间靠前8个小时,可在连接数据库时加上loc=Local,root:root@/orm_test?charset=utf8&loc=Local...
2021-02-16 21:59:24
2527
原创 State模式
一个函数内的方法过长,则出现了坏味道。这往往违背了单一职责原则,并且还将违背开闭原则。状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。状态模式 主要解决的是 控制一个对象状态转换的条件表达式过于复杂的问题。把状态的判断逻辑转移到表示不同的状态的一系列类中,简化复杂的判断逻辑。如果原状态判断很简单,则没必要用状态模式了。状态模式的好处是将与特定状态
2013-06-03 16:35:43
1005
1
原创 友元
友元类 : 当希望类B可以访问类A的私有成员时,可以将类B声明为类A的友元类。在类A的头文件中声明:friend class B; 类B是友元类,类B是类A的友元类。如果类B中有类A对象的够本,则类B对象可以访问类A中的隐藏信息(包括私有成员和保护成员)(1) 友元关系不能被继承。(2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类
2013-03-06 15:54:05
726
原创 cocos2d-x 开发环境搭建
1.在mac上配置cocos2d-x开发环境,xcode & eclispehttp://www.cnblogs.com/xiaodao/archive/2013/01/08/2850751.html解压缩cocos2d-x压缩包,在终端中运行install-templates-xcode.sh安装项目模板,如果已经安装了旧版本,旧版本将被覆盖。如果希望保留旧版本,可修改install...
2013-02-07 16:46:22
192
原创 curl
1.下载 2013-02-07 v7.29.0 http://curl.haxx.se/download.html 测试发现我的工程在ios4.3模拟器和真机上curl返回35错误,CURLE_SSL_CONNECT_ERROR。在ios5,6上正常。10.使用multi调用,也会阻塞。 CURLMcode mcode= curl_multi
2013-02-06 04:25:07
2268
原创 schedule
schedule,预约信息:其实就是Objective-C里面的每隔一段时间调用一次方法。 比如,在其中处理碰撞测试。CCNode可以[self scheduleUpdate]来预定信息,-(void) update:(ccTime)delta{// 此方法每一帧都会被调用}delta参数表示的是此方法的上一次调用到现在所经过的时间。delta单位是秒,一般是1/60秒...
2013-01-18 10:25:39
159
原创 tga转png
Open .tga files with alpha channel in photoshopHere’s the tedious step by step to open a .tga file with transparency in photoshop as if it were a .png file:Open your image.tgaIn the main menu at
2013-01-05 14:17:29
4713
原创 label
1.CCLabelTTF的position也是在文本的中间,即anchor(0.5,0.5)2.CCLabel,CCLabelTTF,CCLabelLatlas,CCLabelbmFont 以下代码会生成 一个CCLabel对象用于显示文字:CCLabel* label = [CCLabel labelWithString:@"text" fontName:@"Apple...
2012-12-28 10:15:22
209
原创 CCTouchDispatcher,ccTouchBegan
1.在CCLayer中注册CCTouchDispatcher来让Layer处理Touch事件。1).在init中self.isTouchEnabled=YES;2).重写 CCLayer的 registerWithTouchDispatcher方法,代码如下: -(void) registerWithTouchDispatcher { CCTouchDispatc...
2012-12-17 16:20:50
203
原创 CCTexture2D
1.在加载图片之前,转换像素格式 默认情况下,cocos2d里面加载图片,图片是作为作为32位加载进来的。这意味着每个像素占4个字节的内存空间。当需要非常高质量的显示效果时非常好!但是有时候需要折中一下,因为以前的设备内存很有限,如果全部使用32的像素格式来加载图片的话,会造成内存消耗过多。 当加载大的图片的时候(比如背景图片),最佳实践是使用16位的像素格式来加载–也就是牺牲...
2012-12-14 14:33:33
320
原创 动作
2.左右轻微摇摆 [sprite stopAllActions]; CCRotateTo * rotLeft = [CCRotateBy actionWithDuration:0.1 angle:-4.0]; CCRotateTo * rotCenter = [CCRotateBy actionWithDuration:0.1 angl...
2012-11-29 10:28:28
142
原创 游戏开发
1.概念hp:hit point 生命值,打击值 ,血条waypoint:路点,路标。一系列坐标,可以对一个点在物理空间中的位置进行标识。在物体层定义的很多标识,每个标识有名称,位置。只要用数据类表示它就可以了。creep:爬行,蠕动,敌人。wave:攻击波次,某一组敌人spawn:生殖,生产,产生,spawnRate生殖速度HUD:head up display 抬头区域...
2012-11-29 10:17:16
300
原创 SneakyInput
虚拟控制手柄 因为iOS设备使用触摸屏来输入,没有传统移动游戏设备配备的按钮,十字按钮 或者模拟手柄,我们需要一个虚拟手柄来控制游戏。 SneakyInput是一个不错选择。源代码托管在http://github.com/sneakyness/SneakyInput 问题:Hello there, i have created a project using coc...
2012-11-21 09:34:52
163
原创 Box2d,物理引擎
1.cocos2d 自带了两套物理引擎:Box2D 和Chipmunk。两套引擎都是为2D游戏设计的,可以和cocos2d 完美整合。Box2D 是用 C++写的,而 Chipmunk 用的是 C。 Box2D中的变量和方法名都是用全称命名的,Chipmunk中很多地方用的是只有一个字母的简写。有一些功能只有Box2D提供,Chipmunk是没有的。比如,Box2D有针对快速移动物...
2012-11-10 10:26:21
412
原创 vs2010配置cocos2d-x开发
1.安装vs2010+sp12.下载cocos2d-x.zip,解压3.添加模板到vs中。关闭VS,双击安装 \cocos2d-x\template\msvc\InstallWizardForVS2010.js5.添加自定义宏 name:cocos2d-x-basedir value:D:\cocos2d-2.0-x-2.0.4 然后把项目属性中,Add
2012-11-07 10:03:18
2918
原创 无限滚屏效果,高级视差滚屏
CCParallaxNode不适用于生成无限滚屏效果。使用CCSpriteBatchNode来提高背景图片的渲染速度。 单独的层文件:滚屏效果中的所有单独的条纹文件都是480x320像素的,乍看起来很浪费,但是并不是要把这些单独的文件加载到游戏中去,而是要把它们放到纹理贴图集中去。Zwoptex可以移除每个图片的透明部分,但Zwoptex不能清除一张图片上图像之间存在的大块空间...
2012-10-31 21:52:08
312
原创 45度角磁砖地图
设计45度角地图最重要的一条规则是:需要为地图设计两个层,这样游戏角色才能在某些瓷砖后面走动。其中一层用来放地面上的物体和地板瓷砖,另一层用来放其它东西,例如与别的瓷砖重叠的瓷砖或者半透明的物品。地面层应该放在Objects层之上。注意在地面层里只放置完全不透明的地板瓷砖。其它物体都要放在Objects层里。使用90度角图片生成45度角瓷砖:首先,正方形图片会被旋转45度角,然后在y轴方向...
2012-10-13 22:42:20
341
原创 瓷砖地图
90度角或45度角瓷砖地图90度角瓷砖地图(Orthogonal Tilemaps)用正方形或长方形的瓷砖组成的,通常以从上到下的视角展示游戏世界。在使用90度角透视的同时,设计师可以使用长方形图片创造出长度比宽度大的物体,由此创造出深度的幻觉。 斜45度角瓷砖地图(Isometric Tilemaps)通过将透视旋转45度以得到更加真实的深度感觉。虽然所有的瓷砖图片实际上是2D的...
2012-10-09 22:44:03
463
原创 粒子效果,调试渲染
1.要更加真实的效果模拟,实现更加随机的、栩栩如生的烟雾、闪电、雨雪、火花掉落效果,我们就必须使用粒子系统。粒子系统让游戏显得更加真实而富有生命感通过对这些自然现象的分析我们发现:这些现象的出现并不涉及一个可以触摸的、很明确的实体,而且现象的本身是动态的(随时间迅速变化的),而这种变化的效果是由大量微小微粒组合而成的,大量的粒子效果叠加成了我们看到的整体效果。这样一来,明确的、可以用数学公...
2012-09-27 15:19:34
327
原创 Sprite
1.两种图片方式:可以用单个文件,或者纹理贴图集(Texture Atlases)来生成精灵。 在设计游戏的时候,少花时间在素材制作上面。只要制作的素材可以用于游戏中,表达游戏的意图就可以了。在游戏设计完成以后,你可以请设计师帮你设计游戏中的各种素材,用于替换原有的粗糙素材。 免费图片编辑器叫Seashore。以下网址下载:http://seashore.sourceforge....
2012-09-19 11:26:48
149
原创 cocos2d-iPhone2
1.场景转换 CCTransitionSlideInB* transition = [CCTransitionSlideInB transitionWithDuration:3 scene:[OtherScene scene]]; [[CCDirector sharedDirector] replaceScene:transition]; 用CCDirector repla...
2012-09-18 15:55:13
111
原创 cocos2d-iPhone
1.cocos2d-iphone环境搭建 第一步:下载cocos2d-iphone最新版本;地址:http://code.google.com/p/cocos2d-iphone/downloads/list (当前最新2.1-beta) 第二步:下载完成之后解压; 第三步:启动终端; 第四步:先利用cd命令进入cocos2d引擎文件夹,然后“./in...
2012-09-13 17:50:15
234
原创 cocos2d-x
1.环境在http://www.cocos2d-x.org/下载cocos2d-2.0-x-2.0.2.zip,解压安装项目模板:cd到/Users/gzty1/x_workspace/cocos2d-2.0-x-2.0.2,在安装模板之前,先退出Xcode,然后打开一个终端,并输入下面的命令:sudo ./install-templates-xcode.sh -f 参考 h...
2012-09-11 17:31:42
116
Exchange2007插件
2013-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人