自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (3)
  • 收藏
  • 关注

转载 unity3d碰撞之character control与rigidbody

一、碰撞Unity3d中参与碰撞的物体分2种类型:a、发起碰撞的物体。b、接收碰撞的物体。1. 参与发起碰撞物体:Rigodbody, CharacterController (角色碰撞器)。2. 参与接收碰撞的物体:所有Collider(如果打开Istrigger,则不发生实际碰撞,而是调用trigger函数)。Character Controller本身自带一个碰撞器,

2015-03-23 00:39:53 3567

转载 CCMenu的布局

转载自:http://blog.csdn.net/jackystudio/article/details/12904705前两天写个游戏,发现CCMenu的布局还是比较有意思的,这里总结一下,以便后用。1.概况CCMenu是cocos2d-x的菜单类,但它本身并不具备菜单具体属性,而是作为一个父节点,将一些具体类型的菜单添加进去来达到菜单目的的。我们

2015-01-19 00:49:09 625

转载 动作类CCAction

转载自:http://blog.csdn.net/jackystudio/article/details/12770909精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。1.概况CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCA

2015-01-19 00:19:12 588

转载 精灵类CCSprite

转载自:http://blog.csdn.net/jackystudio/article/details/12747385精灵类CCSprite可以说是游戏的主角了,也是我们平时最常用到的类。1.概况CCSprite本质上就是一个二维图片,是静态的。游戏中的动画只不过是让一张张静态图片快速更换达到的动态效果。CCSprite继承于CCNo

2015-01-19 00:17:49 748

转载 场景类CCScene和布景类CCLayer

转载自:http://blog.csdn.net/jackystudio/article/details/12708811场景类CCScene和布景类CCLayer都是作为一个容器来使用,这里简单地看下它们的实现:1.场景类:CCSceneCCScene类继承于CCNode,它的实现很简单,就是基本上没添加什么内容。。。它只是作为一个容器

2015-01-18 23:59:58 648

转载 二、CCNode

转载自:http://blog.csdn.net/jackystudio/article/details/12703741点类CCNode可以说是游戏元素的祖宗了,基本上我们看得到的游戏元素都是以它为原型进行扩展的。像CCScene,CCLayer,CCSprite,CCMenu,CCSpriteBatchNode等等都是从CCNode继承而来。另外如果我们要自定义精灵,那么从CCNode继承

2015-01-18 22:50:02 550

转载 一、cocos2d引擎架构与CCDirector

转载自:http://blog.csdn.net/jackystudio/article/details/124328371.游戏构成我们以超级马里奥游戏作为蓝本来描述一下一个游戏的构成。1.首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫场景。2.蓝天白云,各种板砖水管,这些是布景,放置在关卡中,通过布景的叠加,构成了游戏的

2015-01-18 22:05:03 522

原创 OpenGL,glut,glew,glfw,mesa等

一、OpenGLOpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大(aux很大程度上已经被glut库取代。)。扩展函数库是硬件厂商为

2015-01-17 13:50:17 14741 1

转载 性能调优攻略——来自酷壳陈皓

关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!但

2014-08-06 09:59:55 1508

转载 字典树/trie树,基数树/radix树

转自:百度百科:http://baike.baidu.com/view/2759664.htm

2014-07-21 15:32:46 6740

转载 并查集

来自:百度百科:http://baike.baidu.com/view/521705.htm

2014-07-21 15:12:32 493

转载 STL之erase,remove

zhuanzai你要erase的元素很容易识别。它们是从区间的“新逻辑终点”开始持续到区间真的终点的原来区间的元素。要除去那些元素,你要做的所有事情就是用那两个迭代器调用erase的区间形式(参见条款5)。因为remove本身很方便地返回了区间新逻辑终点的迭代器,这个调用很直截了当:vectorint> v;                        // 正如从前v.erase

2014-06-19 09:57:56 472

原创 LVS+HAProxy的配置

一、安装http://blog.sina.com.cn/s/blog_704836f401011u3x.htmlIP:192.168.1.61[root@haproxy_node1 ~]# wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz[root@haproxy_node1 ~]# tar xvzf

2014-05-27 10:56:52 1782

原创 stream一些常用函数

一、stream(cin)1、getline与cin.ignore()http://blog.csdn.net/kleguan/article/details/6250013

2014-05-24 23:24:53 1370

原创 gets、fgets、puts、fputs、scanf、read、readline、getline等

一、getsgets是个不安全的函数,应该坚决不用。

2014-05-22 18:59:59 2507 1

原创 10 使用合并文件存储trunk_file

一、配置参数pei

2014-05-21 21:34:43 1479

原创 9 storage的状态转换

一、准备此篇文章是diba

2014-05-20 20:01:59 1342

原创 8 storage的tracker_merge_servers与文件同步

一、准备工作tracker_report_thread_entrance->tracker_merge_servers

2014-05-18 16:50:27 1148

原创 7 client的上传与storage server的处理

一、准备工作client的配置文件中应当包含所有tracker的地址xinsi

2014-05-16 21:28:56 2603

原创 6 tracker的选主:relationship_thread_entrance

一、数据结构TrackerServerGroup g_tracker_servers = {0, 0, -1, NULL};typedef struct{ int server_count; int server_index; //server index for roundrobin int leader_index; //leader server index Con

2014-05-15 12:11:07 832

原创 4、tracker的三个任务函数之一tracker_mem_check_alive

一、概要前文提到调度线程会chan

2014-05-14 17:05:05 1178

原创 2、storage主流程

一、概要客户端和Storage server主动连接Tracker server。Storage server主动向Tracker server报告其状态信息,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。Storage server会连接集群中所有的Tracker server,向他们报告自己的状态。Storage server启动一个单独的线程来完成对一台Tracker 

2014-05-14 12:13:20 2043

原创 5 发送数据与错误处理

int tcpsenddata_nb(int sock, void* data, const int size, const int timeout){ int left_bytes; int write_bytes; int result; unsigned char* p;#ifdef USE_SELECT fd_set write_set; struct timeval t;

2014-05-13 17:19:25 1129

原创 3 tracker中的recv_notify_read

void recv_notify_read(int sock, short event, void *arg){ int bytes; int incomesock; int result; struct tracker_thread_data *pThreadData; struct fast_task_info *pTask; char szClientIp[IP_ADDRESS

2014-05-13 12:01:07 810

原创 1、Fastdfs的tracker

一、tracker主流程先参考一下zh

2014-05-12 22:43:03 1018

转载 C++ 11中的move语义

题外话:the rule of threeIf you need to explicitly declare either the destructor, copy constructor or copy assignment operator yourself, you probably need to explicitly declare all three of them.

2014-04-26 23:45:48 655

转载 tcmalloc——内存分配器

转载自一. 原理tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配、释放内存造成的性能损耗,并且有效地控制内存碎片。glibc中的内存分配器是ptmalloc2,tcmalloc号称要比它快。一次malloc和free操作,ptmalloc需要300ns,而tcmalloc只要50ns。同时tcmalloc也优化了小对象的存储,需要更少的空

2014-04-13 21:45:17 2057

转载 Linux中内存buffer和cache的区别

Free中的buffer和cache:(它们都是占用内存):  buffer : 作为buffer cache的内存,是块设备的读写缓冲区  cache: 作为page cache的内存, 文件系统的cache

2014-04-12 22:33:24 832

转载 close与RST

1、几种TCP连接中出现RST的情况参考:http://my.oschina.net/costaxu/blog/127394

2014-04-12 21:51:50 1351

转载 linux后端服务程序之信号处理

下面和大家分享编写daemon程序时信号处理的注意事项,内容都来自Internet,只是进行了整理和总结。关于信号的基础只是请参考APUE。常见的信号SIGHUP 1 和终端的连接断开,发送该信号给控制进程。通常用此信号来通知daemon重新读取配置文件(因为daemon不会有控制终端,通常不会收到该信号)。SIGINT 2 用户中断(Ctrl + C)。SIG

2014-04-09 21:26:12 689

原创 关于“端口重用引发的惨案”的思考

读了“端口重用引发的惨案”()

2014-04-09 16:50:28 3004

转载 Zookeeper FastLeaderElection算法总结

1.发起一轮投票选举,推举自己作为leader,通知所有的服务器。通知中包含以下数据:1)所选举leader的id(就是配置文件中写好的每个服务器的id),在初始阶段,每台服务器的这个值都是自己服务器的id,也就是推荐自己为leader。2)zxid3)logicalclock(electionEpoch)1.发起一轮投票选举,推举自己作为leader,通知所有的服

2014-04-07 16:55:04 700

转载 关于IO——阻塞、非阻塞、同步、异步

同步IO导致请求进程阻塞,直到IO操作完成。异步IO不导致请求进程阻塞。阻塞IO模型,非阻塞IO模型,IO复用模型,信号驱动IO模型都是同步IO。select/epoll是IO复用模型,应该是同步IO。

2014-04-03 19:29:10 769

原创 从网页提取内容

问题来源:想看看《程序员》杂志的云计算类别的文章,发现不能用有道阅读订阅。由于该类别有68篇文章,每页显示10条记录,所以查看很不方便。于是想把所有文章的名称和url提取出来,放在一个文本中,这样可以方便查看。解决思路:最先想到的是用curl命令,可是发现该命令只能打开第一页的网页,其他页并不能打开,无法提取。原因可能是cookie造成的。最后使用lynx命令解决,lynx -

2014-04-02 09:59:31 793

转载 18 MySQL加锁处理分析

http://hedengcheng.com/?p=771 by何登成这篇文章从一个简单的SQL语句delete from t1 where id = 10;,分析在各种情况下的加锁情况。以下为这篇文章的目录,感谢何博士的分享。1    背景    11.1    MVCC:Snapshot Read vs Current Read    21.2    Cluster Index

2014-02-27 20:14:18 759

转载 17 mysql XA事务

一、mysql XA事务XA就是X/Open DTP(分布式事务处理模型)定义的事务管理器TM(交易中间件)与资源管理器RM(数据库)之间的接口规范。XA规范的基础是二阶段提交协议。注意:对于分布式事务,必须使用SERIALIZABLE隔离级别。mysql XA事务分为外部XA和内部XA。Mysql外部XA由外部应用程序充当事务管理器,可以用在分布式数据库代理层,如开源工具ameba,

2014-02-25 11:28:20 1712

转载 16 innDB死锁检测

一、准备工作死锁检测一般采用Wait-For-Graph算法,本例所述实现为递归式(深度优先搜索),后续改为非递归实现(栈)。参考资料:http://www.gpfeng.com/?p=426准备两个session如下:start transaction start transaction;update nkeys set c5=0 where c1=500

2014-02-20 17:12:49 946

转载 15 innodB的隐式锁

一、知识准备之隐式锁参考:http://www.uml.org.cn/sjjm/201205302.aspInnodb 实现了一个延迟加锁的机制,来减少加锁的数量,在代码中称为隐式锁(Implicit Lock)。隐式锁中有个重要的元素,事务ID(trx_id)。隐式锁的逻辑过程如下:A. InnoDB的每条记录中都一个隐含的trx_id字段,这个字段存在于簇索引的B+Tree中。

2014-02-20 11:11:52 2837

转载 14 MVCC的可见性

转自http://hedengcheng.com/?p=148 何登成一、准备create table test (id int primary key, comment char(50)) engine=innodb;create index test_idx on test(comment);insert into test values (1, ‘aaa’);insert

2014-02-19 20:15:15 1792

转载 13 commit after update

一、准备工作1、准备知识参考:《InnoDB 日志 回滚段 & 崩溃恢复实现详解——修改版》by 何登成当事务提交时,与undo相关的操作:insert undo:释放Rollback Segment Header Page中的Undo Slot;直接释放Insert_Undo对应的所有Undo Page,回收空间。Update undo:释放Rollbac

2014-01-19 22:26:50 755

[计算机网络第五版]计算机网络第五版.pdf

计算机网络第五版,pdf格式,内容清晰。

2012-09-17

于渊——自己动手写操作系统(第二版)光盘源代码.rar

该文档中包含了《自己动手写操作系统》(于渊)这本书中各章节的源代码,层层递进,非常详实。

2012-09-17

Android系统架构及其驱动研究

主要介绍Android系统架构及其驱动研究,内容详尽,观点独到。

2012-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除