加载中…
个人资料
flysky
flysky
  • 博客等级:
  • 博客积分:0
  • 博客访问:5,435
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
评论
加载中…
留言
加载中…
访客
加载中…
好友
加载中…
博文
(2009-03-25 14:52)
标签:

wap游戏

手机游戏

it

分类: 原创
有人说今年是wap游戏年,有点言过其实,但今年确实看到了一些好的苗头:
1.移动开始了wap游戏单机和网游的申报,虽然说申报上去的游戏总是鸟无音信,但是起码让报了;其次是今年移动G+平台可以申报wap游戏了,而且是每家sp都可以申报两款,这个是海量的,而且大家都知道G+平台是通过道具收费的,必须要有好的游戏,玩家才肯为游戏掏钱,所以wap游戏绝对不是有些人认为的只有只多个wap页面的游戏~~

2.联通、电信开始进入无线行业,尤其是带来了3G标准,一些新生手机的推出,一些山寨手机的推出,另许多java网游或者java游戏措手不及,他们不可能适应每款手机,不可能快速的移植出适应新标准的游戏,而wap游戏可以~

3.wap游戏具有进入门槛低,开发周期短,收效快的特点,正好适应了现在在经济危机下,投资方很谨慎的特点~

但是wap游戏还是为许多人所不认可,认为玩的都是一些文字,枯燥乏味等等,其实如果玩时间长了,真正乏味的是玩简单的图形版游戏,他们为了华丽的界面,而放弃了深刻的游戏性,评价一款游戏的游戏性多少的标准,我认为是一个玩家在游戏中可以使用的命令数,即玩家可以有多少可以影响游戏的方法命令,辐射3据
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

家居

分类: 家装
门窗类

  后悔一:户门为了隔音装了两层,一层防盗门,一层木制的门,可是木制门底下没有留缝隙,所以进门的地方要想放门垫,只能铺上很薄的一层布。

  后悔二:现在很多家庭为了增大居室面积把房间与阳台的隔离门都拆了,其实这样非常不好,有一个最大问题就是房间里土很大。北京春天常常有扬尘天,拆完隔断后晚上睡觉都有土味儿。

  后悔三:阳光房的房顶应该装一个活动的窗户,这样方便清洗,但现在全装成死的了,清洗比较困难,有时不得不拿着水管子往上喷水来清洗。

  后悔四:安装塑钢窗,纱窗一定要加钢衬,否则时间一长就会两头凹进去,使窗户变形。当初装时不知道,用了以后你会发现这个问题.


洁具类

  后悔一:花洒一定要买好的,否则水流很不舒服。当时我买的是德国很著名的品牌花洒,价钱很贵,一个下来花了5000多,但确实好用,当时卖方对我说,你用了这种花洒就再也不想到别的地方洗澡了,当时我不信,现在想一想,确实这样,到哪洗澡都不如在家,
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 开源项目

热烈庆祝新浪blog给了我一个人性化的域名!!

关于web系统的权限限定问题,可能有很多的办法,我在这里说一下自己的一些小技巧,起到抛砖引玉的作用,忘各位指正:
系统中一个角色包含多个用户,角色和用户之间最好采用一对多,以免发生混乱;
自系统初起的时候,系统只有一个超级用户(例如root),有两个默认角色,即游客角色和注册用户角色;
超级用户可以在后续管理中添加角色,默认角色不能删除,其他角色的删除中如果这个角色下有用户,可以采取不允许删除或删除后这些用户的角色自动转为注册用户角色;
每个角色用户访问系统某些功能模块的权利,某个角色是否可以访问某个功能模块可以由超级用户修改,这里也包括默认角色所对应的权限模块;
角色与系统模块之间是多对多的关系,即一个角色可以访问多个模块,一个模块可能有多个角色访问;

我们这里主要谈struts,一个模块包含多个action,action和模块是多对一的关系;
这样用户访问某个action时会映射到系统的某个模块,这是系统取出当前用户所在的角色,看看这个角色是否有访问此模块的权限,即可以实现struts中的权限设定;
这一过程主要

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 

摘要:

2006年5月9日在拉斯韦加斯举办了ServerSide Java 会议。会上,Gregor Hohpe对一位Java高手说,每个软件开发团队只雇佣最好的最优秀的程序员,这肯定是对的。Google公司软件架构师Hohpe问道:“又有哪家公司会说我们要雇用不聪明的工程师呢?”他认为不好的程序员肯定是在计算机科学领域中受罪。他一边不断重复着自己的关键词,一边问:“所有漂亮的代码跑哪里去了?”...
 
作者:cleverpig
 
正文:
06年5月9日在拉斯韦加斯举办了ServerSide Java 会议。会上,Gregor Hohpe对一位Java高手说,每个软件开发团队只雇佣最好的最优秀的程序员,这肯定是对的。Google公司软件架构师Hohpe问道:“又有哪家公司会说我们要雇用不聪明的工程师呢?”他认为不好的程序员肯定是在计算机科学领域中受罪。

不过,Hohpe质疑,假如所有的应用开发项目都使用首回合的草案,他如何才能发现代码中的缺陷。当他发现代码中存在“这是个错误”或者“需要进行核查”等注释时,他很不满意。最佳的最优秀的程序员怎么能够写出这样的代码
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: java
本文是来自Sun官方站点的一篇关于如何编写安全的Java代码的指南,开发者在编写一般代码时,可以参照本文的指南:

       静态字段
       缩小作用域
       公共方法和字段
       保护包
       equals方法
       如果可能使对象不可改变
       不要返回指向包含敏感数据的内部数组的引用
       不要直接存储用户提供的数组
       序列化
       原生函数
       清除敏感信息


静态字段
     &n
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 原创
一、焦油坑:
1.编程系统产品:
 编写程序:即每个模块全部编写完成,写代码;
 编程系统:即各个模块可以完美结合,形成一整套系统;
 编写程序的工作量只是编程系统的三分之一。
 编程产品:包括了通用化、测试、文档和维护;
 编写程序的工作量只是编程产品的三分之一。
 编程系统产品:是编程系统化和产品化的工作量,是编写程序的九分之一。
2.职业的乐趣:
 首先是一种创建事物的纯粹快乐。
 其次,快乐来自于开发对其他人有用的东西。
 第三是整个过程体现出魔术般的力量——将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果。
 第四是学习的乐趣,来自于这项工作的非重复特性。
 最后,乐趣还来自于工作在如此易于驾驭的介质上。
3.职业的苦恼
 首先,必须追求完美。
 其次,是由他人来设定目标,供给资源,提供信息。对于系统编程人员而言,对其他人的依赖是一件非常痛苦的事情。他依靠其他人的程序,而往往这些程序设计得并不合理,实现拙劣,发布不完整(没有源代码或测试用
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 原创
使用的是sturts 1.2,那时没有特意配置ActionForm是放到session里还是request里,但是例如用户登出后,用户名和密码的输入框的默认值会自动清空,而这次项目我们使用的是struts 1.3,我查看了一下他的源代码,似乎是判断是否明确指定放到request里,如果没有指定,则放到session里,这个问题产生了很多的问题,所以在这里记一下。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2007-01-24 17:49)
分类: 软件工程
 程序员有个偏好,那就是实现,他们喜欢把东西实现出来。这是一个优点,实现能力越强的人,一般编程能力也越强,我们也就可以说,他的技术越强。
  但是喜欢实现却又是程序员的缺点,因为他们在实现一样东西的时候,经常会不想去理会其他的事情。比如说,程序员接到一项任务时,普通的程序员就马上会开始动手。稍微好一些的程序员则会仔细思考一下再动手。可惜,这样子也是程序员管理能力欠缺的一个原因。
  当你的能力足够的时候,你应该懂得,把分配给你的任务计划一下,看看多久完成,如果你要把这个任务分块的话,尝试估计一下各个块的完成时间。不要因为担心预计得不准,就不去估计。因为有个计划给领导,绝对比没有的强。
  开发经验逐渐增多的情况下,你已经有能力相对准确的计划自己的任务了。这时候你应该去找你的领导,把他今年可能会分配给你的任务看一下。这件事情很重要,因为你不做的话,你还只是一个程序员。因为你对自己的能力已经有了充分的认识,也能相对准确的估计你的开发进度了。你可以好好把今年的任务计划一下,把更新好的进度表给你的领导。因为他对你开发进度的估计,怎么样都没有你自己估计的准确。你能给一份
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: 开源项目
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。load()方法可返回实体的代理类实例,而get方法永远直接返回实体类。
gmarwaha在他的blog里, 提到Hibernate get()和load() 的区别, 同时通过例子表明了load() 能带来的性能提升.

考虑如下的一个拍卖应用的例子:

拍卖物件对象: Item

拍卖行为: Bid

 Session session = << Get session from SessionFactory >>
Long itemId = << Get the item id from request >>
Item item = (Item) session.get(Item.class, itemId);
if(item != null) {
Bid bid = new Bid();
bid.setItem(item);
session.saveOrUpdate(bid);
}
else
{
log.error('Bid placed for an unavailable item');
// Handle the error condition appropriately
}
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: java
重复代码是怎么产生的?

请观察下面的代码,我们已经有一个根据出租记录的id取出租用客户姓名的方法:getCustomerName。

    public class BookRental { //该类描述出租记录
String id;
String customerName;

...

}
public class BookRentals {
private Vector rentals;
public String getCustomerName(String rentalId) { 根据出租id取出客户姓名
for (int i = 0; i < rentals.size(); i++) {
BookRental rental = (BookRental) rentals.elementAt(i);
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有