自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 epoll + lua 简单游戏服务器(五)

[code="c"]/**空闲处理,断开空闲的连接*/void idle_fds(lua_State *L){ client_data *client; int i; long n; n = now(); //做fds和clients对应为了这里快一点(65535 vs 1000) for(i = 0; i < MAX_CLIENT; i++)...

2013-09-23 16:07:43 125

原创 epoll + lua 简单游戏服务器(四)

[code="c"]/**处理请求数据,调用lua处理*/void read_fd(int fd, lua_State *L){ //已超时移除 if(fds[fd] < 0) return; char buf[READ_SIZE]; int ret, idx, done; client_data *client; /...

2013-09-23 16:07:27 193

原创 epoll + lua 简单游戏服务器(三)

[code="c"]/**断开一个连接,移除epoll监听,通知lua*/void remove_fd(int fd, lua_State *L){ int ret, idx; lua_State *Lx = lua_newthread(L); lua_getglobal(Lx, F_ONCLOSE); // 调用lua里的onclose函数 lua_pushinteg...

2013-09-23 16:07:11 236

原创 epoll + lua 简单游戏服务器(二)

[code="c"]/**取得当前毫秒数*/long now(){ struct timeval t; gettimeofday(&t, NULL); return t.tv_sec * 1000 + t.tv_usec / 1000;}[/code][code="c"]/**将一个文件描述符添加到epoll监听, common:是否为客户端连接(相对于...

2013-09-23 16:06:53 131

epoll + lua 简单游戏服务器(一)

边学习C语言边写个简单的游戏服务器玩。--epoll监听读事件--利用epoll_wait的timeout做idle处理--数组下标索引客户端连接数据(没找到好用的hashmap库)--json作为数据交互格式--luajson luapgsql[code="c"]/**客户端连接结构体*/typedef struct client_data{ in...

2013-09-23 16:06:25 298

原创 Postfix + SASL配置要点

1、看一下/etc/default/saslauthd里,一般都会告诉你针对Postfix的OPTIONS配置,改一下;2、确认smtpd启动时是否chroot,与saslauthd配置相符,在/etc/postfix/master.cf里改一下;3、如果没有/etc/postfix/sasl/smtpd.conf,建一个,内容如下:pwcheck_method: saslau...

2013-02-01 10:50:58 143

原创 关于折衷

没有一种技术可以完美地解决所有问题,有时候折衷一下,会取得更好的效果.在做技术的时候,我们往往很死心眼,对技术热情越高,这种死心眼越严重.往往一个需求提出来,技术人员便寻找各种解决办法,肝脑涂地也再所不惜.当然,这是一个非常好的做技术的态度,但当我们用尽了各种途径去验证,最后得到的结果是"没有办法达到预期结果"的时候,何不尝试变通的做法,比如跟需求人员讨论小小地改变一下,或者用一种看上去很...

2012-11-23 14:06:33 142

Oracle NoSQL Database最近使用的一些小心得

做社区网页游戏开发的,以前粗浅地用过voldemort、cassandra、memcachedb,发现在要求较高的一致性方面,上述几种都不能很好地满足;直到发现Oracle NoSQL Database后,它有一些很好用的特性,比如:1、同分区的事务保证2、范围查询3、各种原子操作方法经过一番挣扎,决定在新游戏中采用它作为key-value存储,用于处理读写频繁的碎片数据。...

2012-04-27 20:53:12 122

原创 关于jdbc executeUpdate的返回值

java api里是这样说的executeUpdateint executeUpdate() throws SQLExceptionExecutes the SQL statement in this PreparedStatement object, which must be an SQL INSERT, UPDATE or DELETE statement; or an SQL ...

2012-03-02 11:34:35 1333

原创 其实大牛们都是挺友善的

做程序的大部分都有追求完美的心态,大牛们尤其是~大牛们的回复有时候比较激愤,主要是对现有框架的,不是针对提问者的,所以不用回喷,其实大牛们还是愿意帮助后进生的;再谈框架,框架并不是不好用,不能用,但我觉得我等要真正了解http、servlet/jsp、jdbc之后再用框架比较好,这样就知道为什么大牛们会喷这些框架了,哈哈个人觉得做程序的一般什么经历这样的过程:1、无框架,堆...

2012-02-07 14:08:55 80

高性能的企业应用经验

1、数据库性能的提升再好的代码和数据库设计对性能的提升都是有限的,当然,不是说数据库优化不重要,而且说当数据库优化的成本很高或很难再优化时,加几条几百块钱的内存可能来的更有效。2、多种存储并存需要事务性、即时一致性高的数据用SQL数据库存储是最好的选择,对于那些重要性不高的数据,可以选择Key-Value存储;Key-Value存储的数据对于复杂的查询统计来说很难实现,可以借助...

2012-02-07 13:42:53 78

原创 JDBC插入并返回自增长主键

刚发现有这个功能,原来一直在琢磨hibernate怎么实现而且防止并发的,原来是我土了……//mysql[code="java"]CREATE TABLE foo(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(16), PRIMARY KEY(id));[/code]//java[code="java"]String sql = ...

2011-05-04 01:59:48 337

原创 JDBC getColumnName vs getColumnLabel

getColumnName returns the physical name of the column and getColumnLabel returns the *ALIAS*

2011-04-17 17:03:43 206

原创 <实践>Voldemort与Objot集成的WAP高性能方案与简单实现(三)

3、以User为例进行CRU操作Id.java //Model的父类,为了该死的JSTL我得加上get/set[code="java"]public abstract class Id { @EncDec public long id; public long id() { return id; } @SuppressWarnings("unche...

2010-01-24 15:09:57 108

原创 <实践>Voldemort与Objot集成的WAP高性能方案与简单实现(二)

2、IOC、AOP及请求处理ServiceHandler.java//负责处理WAP请求分发和初始化存储[code="java"]public class ServiceHandler {//URI缓存 private ConcurrentHashMap infos = new ConcurrentHashMap(128, 0.8f, 32); private Contai...

2010-01-24 15:03:22 116

原创 <实践>Voldemort与Objot集成的WAP高性能方案与简单实现(一)

[摘要]Voldemort:高性能、高扩展性、不错的一致性Key-Value集群方案,目前被LinkIn使用,与Dynamo思想类似,参见http://project-voldemort.comObjot:面向服务的轻量级web开发库,参见http://objot.com[目标]搭建一个WAP游戏开发框架,利用烂服务器集群提供高性能,尽量保证游戏数据的一致性,并可根据负...

2010-01-24 14:45:31 147

原创 <插曲>目前对key-value分布式集群数据库的认识(继续坚持)

通过论坛上大侠们的指点,以及跟“菜鸟”童鞋的交流,发现我原来的有些认识是错误的或有偏差的,如下:1. 被cache所迷惑,误把distributed cache看成了distributed db,现在的理解是cache只是对db的增强(其实一直是这样,只是加上了个分布式就把我自己搞乱了)2. 对cache进行事务处理,再由cache与storage同步是对事务的割裂,也就不能再称之为事务了...

2010-01-21 23:04:21 68

原创 <第一周>key-value数据库集群的发现与思考(兼锻炼坚持能力)

1. 目标是找到一种如下的key-value数据库集群方案:- 具备高性能的读写,支持亿级PV- 具备灵活的可扩展性,同时也是支持上一条的基础- 数据自动切分,即不依赖于业务逻辑- 具备分布式事务功能以及不同隔离级别- 具备数据的一致性或局部一致,最终全部一致- 可独立提供网络层服务,以支持N(数据库集群)*M(WEB集群)结构,并支持二进制的网络协议- 方便的客户端A...

2010-01-20 22:17:52 92

CentOS 5.2 上安装 Oracle 11g x64 非图形界面

0、准备工作最小化安装CentOS,即自定义并且勾掉所有的组件目前机器的配置已经不需要修改系统参数。/db分区是给oracle用的。1.安装所需包[code="java"]binutilscompat-libstdc++elfutils-libelfelfutils-libelf-develgccgcc-c++glibcglibc-common...

2009-05-08 11:00:52 82

基于Spring的Hibernate Search全文检索功能示例

数据库:Oracle 9iJDBC驱动:OJDBC14开发环境:Eclipse-JEESpring版本:Spring 2.0.6Hibernate版本:Hibernate Core 3.2.5/Hibernate Annotation 3.3.0/Hibernate Validator 3.0.0/Hibernate Search 3.0.0 Beta4//jdbc.pro...

2009-02-25 13:35:27 230

使用Apache HttpClient实现自动登录并提交表单功能

参考了网上的一些资料,实现表单提交功能,如果需要登录则自动进行登录(适用于form-auth的情况)。[code="java"]package test;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.PostMethod;/**...

2009-02-25 00:00:24 261

关于Spring 2.5 和 Hibernate 3 基于Annotation的集成

网上的例子不少,但没有一个是说的很清楚的,而且有的例子和我的目标不同,于是自己尝试着配了一下~目标:尽量多的使用Annotation,完成事务自动管理版本:Spring-2.5.6 Hibernate-3.3.1及相关的包首先定义Spring配置文件(也是最主要的一块),内容如下://spring.xml[code="xml"] ...

2008-12-29 23:27:33 65

自定义安装ubuntu可能会遇到的两个权限问题

1、root可以访问声卡而普通用户不可以原因可能是普通用户没有加进声音组,可进行如下操作:sudo adduser Your_ID audio2、在x下做需要root权限的操作(如打开新立得等)时提示无法复制用户授权原因是用户目录下的.Xauthority文件为root:root,进行如下修改即可:sudo chown adun:adun ~/.Xauthority...

2008-12-14 08:53:54 146

0.objot示例书写计划

1.objot示例之容器2.objot示例之注入3.objot示例之代码织入4.objot示例之整合hibernate5.objot示例之网络服务(javascript篇)6.objot示例之网络服务(actionscript篇)...

2008-09-15 04:05:25 101

3.objot示例之代码织入

为了提高运行效率,objot采用了bytecode(字节码)生成的方式,即在原有的服务类的方法中插入一些代码而形成一个子类,但在外界看起来还是原有的类。下面我们来看一下Weaver的强大功能。还是以第二篇的例子,假设DoUser的operate方法的调用需要有权限控制,而像这种控制在很多地方都可能会有,我们不会手动在每个方法添加大量权限判断的代码(与业务无关的代码),因为我们有Weaver,它...

2008-09-15 03:46:35 178

2.objot示例之注入

直接上代码了,假设我们有两个服务类都是继续Do(请参见“objot示例之容器”),分别是DoUser和DoBiz,在DoUser中需要引用到DoBiz,代码如下://DoUser.java文件[code="java"]package objot.sample.service;import objot.container.Inject;/*** 用户服务* @author...

2008-09-15 03:44:39 132

1.objot示例之容器

objot是一个轻量级面向服务的java web开发库,目前支持客户端语言包括javascript和actionscript。objot是由蔡倩彦(南开大学软件学院本科)主导开发……(此处略去Integer.MAX_VALUE字的介绍)。objot项目站点为:http://objot.info/废话不多说,先来看看后台容器方面的示例:开发环境:jdk6(需要jdk5以上版本...

2008-09-15 03:42:23 120

空空如也

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

TA关注的人

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