`
鸟哥哥
  • 浏览: 98150 次
  • 性别: Icon_minigender_1
  • 来自: 梅州兴宁
社区版块
存档分类
最新评论
文章列表
鸟哥近日在玩tomcat做一些手机wap应用,探讨手机归属地问题。具体结论,过程,技术啥的不提。不过遭遇一些攻击,这里写这个blog给用tomcat做开发的人员提个醒。 tomcat本身开源的嘛,默认的web管理员的用户名,密码,权限等,都写死在那里,如果发布时,不小心就会被黑客利用到。上图: 看前几条杀毒记录。黑客只要有tomcat管理员权限,那基本啥事都可以搞了。 分析1.war,里面的jsp上的代码,做了个像文件浏览器一样的功能,这样服务器上就没啥能保密的了,同样好像也会下载病毒到系统盘(目录),好像实现了在linux,windows上的操作。 用tomcat(可能其他web服 ...
工作原因,鸟哥水平有限,要有自知之明。
  感谢javaeye的新闻:http://www.iteye.com/news/15361 让我感触良多,于是有了写给天下所有程序员女友或者太太的这篇文章的冲动! 这里再展示这个视频:     来自微软Visual Studio 2010最新煽情广告。让我们给所有软件开发的技术的女友或者太太留下经典一句,也是发自技术们最最内心深处的渴望吧: "让我来做你的下一行code好不好?" "I want to be your next line of code, may I?" 她还说:“写代码是他的快乐,看他写代码也成了我的快 ...
面试人时,这段话相当经典: http://www.iteye.com/topic/619365?page=4#1412572   内容如下: moderating写道 有的面试官刨根问底,努力证明你肯定不行。这种人有两种心态,一是要显示自己很行,时刻不忘显摆,总是试图扭转自己不得志的境遇,二是这种人希望招到孙悟空,因为他们管理很拙劣,需要每个员工都是孙悟空,项目才不会挂,自己才可以继续混下去。 有的面试官刨根问底,努力证明你可能行。这种面试官我有幸遇到过一个,从此改变了我自己做面试官时的心态和方法,让我不仅知道了如何找到合适的人,还结识了很多朋友。我很感谢她。  收藏了。呵呵,感谢m ...
我认为是先有鸡。你肯定会说那这鸡是哪来的?我不会说是鸡蛋。说了就成了先有鸡蛋了,而你又问这鸡蛋是哪来的,这样就无始无终了。 我不说是鸡蛋,那我怎么回答?回答了,那就是我的理由了。且看: 很久很久以前,那时候没有鸡,也没有鸡蛋。但有鸡的祖先,但它不叫鸡,我们假设叫它鸡祖吧。鸡祖们也是靠生鸡祖蛋来繁衍后代的。鸡就要出显之前,出现了一次比较特别的情况,这种情况很复杂,有可能是气候原因,有可能是辐射也可能是其他。致使鸡祖蛋发生变异,它们孵出来后,真正的鸡出现了!而它们却是在鸡祖蛋出来的鸡!等它们成年了,就可以生出鸡蛋出来了。所以是先有鸡,再有鸡蛋。 你也会说,鸡祖也可能发生变异变成鸡啊?嗯,当然, ...
  很多同行可以会觉得可笑,图片引起的bug?有这种可能吗?遇到这种情况,估计也要有相当的人品了,鸟哥,人品不好,遇到了。呵呵,可能不是bug吧。也可能是机器的bug吧。 先上两图: 两者根据第二图的提示,可以看出,镜子有一张是ok的,有一张变成不知道什么样子了。你会说两张图片不一样。对,你说对了。两张图片,只是有点怪异:有一张是从另一张不修改,只是另存为同样一张图而已。在真上测试表明,绝大部分机子OK的哦,两者图都OK,正确显示。而这手机顽童还真强,能测试出这问题出来。在很长很长一段时间里,公司对这样子情况的全部不理会,因为绝大部分机子是正常显示的。直到有一天,俺们策划用D608 ...
画String时,没有做过移植的,仅仅在模拟器上测试的同学们,可能都会发现,画的String怎么老是不固定。对的,不同机器,不同模拟器,不同font大小都不一样。画String似乎让人很迷茫了,难道每个机型都自己一套代码?呵呵,下面提提j2me游戏中的通常做法吧。 自己做点阵字库我们不提。当然这是个解决方案,据说gameloft是这样搞的,好多游戏公司也是这样搞的。这里不多介绍了。 一般做法,会设置一个font: public static Font smallFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE ...
参见游戏图片和视频 四、背景滚动  首先背景图片做得可以上下连接(上下滚动),就是画一张图片,下面接着画,或者上面接着画,看起来都是无缝的。然后程序上的处理:计一个变量go值,每桢go += add;add为滚动速度(向上为负值,向下为正值)程序上为向下滚动,这样看起来人就在前进了 go += add; int heights = 0; int drawY = 0; heights = one.getHeight();//图片高度 drawY = (go >> 2) % one.getHeight();//之前是还有云层什么的, //最底下>>2 ...
利用midp2.0,播放mid格式音乐主流手机都是支持的,通用的简单的方法: InputStream is = getClass().getResourceAsStream("/sound.mid");//通过直接路径访问可能会出问题哦,用getClass().getgetResourceAsStream是可以的。一开始就遇到这种问题。 player = Manager.createPlayer(is,"audio/midi"); player.realize(); player.setLoopCount(-1);//设定不断重复,开播之前设置,开 ...
1发短信D608系列,也就这D608鸟机型有问题。像其他G608,U608用标准的api发短信就可以了。d608找到的解决方案是:发两条,第一条用midp2.0发短信指令到号码1,第二条三星API发送短信指令到目的号码,两条同时发送这是从人家资料上找到的,我这里还没测试。机器d608用标准api实际测试时发送代码成功,但内容不正确。计费后台收入显示D608系列的收入还是不错的。也表明,d608系列,除d608,其他机机扣费还是可以的 2中断,音乐播放问题音乐播放player,中断(来电啊,提示电量不足啊,收到信息啊等等系统提示)。音乐停止。中断回来,只要你再用player.start(),st ...
鸟哥,已在mm上发了相关内容,这里再提提。当然此技术早就被人利用了,这里就再落后的提提,相关wap应用要小心了。   在普通的web应用中,很多应用引入了人工识别操作,以避免来自互联网的恶意行为。比如,验证码。随着wap的流行,避开人工识别有了新途径。因为很多wap提供web一样的功能,比如wap.163.com,wap.qq.com等等,wap因为与gprs流量有关,wap上的wml是非常小容量的,如果采用了验证码等人工识别手段,用户反感度将大增。而wap提供相应的功能,往往又是黑客们需要的东西。这里提一个手段:借助opra浏览器,可以访问wap,利用截包工具分析出http协议头,sock ...
在移动mm做了个版主,本来专长j2me的,结果被分配到软件开发去了。不像j2me.com.cn,做做版主清闲得很。在mm里好像每天要发两帖子。在软件开发里,实在找不出什么东西来发。要是j2me多好啊。要发的话一大堆。在mm里还好,注册了id叫鸟哥,有空的网友,多多捧场了!感谢感谢!
  可先参见游戏图片和视频 鸟哥,射击游戏技术分享1 二、子弹线路一些问题 a 从(x0,y0)点发射指定α角度的子弹,速度假设为rate(每桢rate个像素)。 通常,程序计算时,一般会这样设计算法: 当前子弹坐标是(currentX,currentY),那么下一坐标 (x,y) 应该是 x=currentX+(rate * cosα>>14),y=currentY+(rate * sinα>>14); 但经过测试,从屏幕中心向0-359度发射360颗速度为2的子弹,几桢过后,发现子弹线路分布不均匀,有些角度会重合,非直线。 所以此算法不可取。 射击 ...
可先参见游戏图片和视频 鸟哥,在论坛里承诺过,有空会把相关技术展现出来,今天有空就提提吧。这里不会提供完整代码,仅仅用于算法交流。我想到哪就写哪些吧,一个游戏,相关的东西也是很多的。 先提提cldc1.0吧。 一、浮点运算处理 cldc1.0要求我们在游戏开发中,不能使用浮点数,可是对于射击游戏,有很多运算要用到,那怎么办?下面会提到。至于为什么一定要用cldc1.0?那就和移植有关系了,当前主流用户用的是不支持cldc1.1浮点运算的手机,公司考虑到用户量,定位于cldc1.0,当然,目前绝大多数游戏定位都是cldc1.0的。这里再扯远一点,像有些做3d游戏的,如果用了自带的可选3d a ...
博客里有几篇关于png格式的,结合它们可以对png进行压缩加密了。 而实际上加密以后,或者修改格式(修改后在程序里加载时再转成正确格式)并不利于与美术交流。 其实加密也是相对的,总有办法被破解(哪怕gameloft的图片加密方式)。 这里提供一个方法,很简单的压缩,不用任何png格式信息。 用jdk 里的ImageIO读些图片 BufferedImage bi = new ImageIO.read("pngfile"); int[] argb = bi.getRGB(int startX, int startY, int w, int h, int[] rgb ...
Global site tag (gtag.js) - Google Analytics