mysql动态游标

存储过程,我一直比较反感这个,所以能不用尽量不会去用,但是最近遇到一个问题就是有个查询由于过于复杂,在数据量很大时候处理速度非常缓慢,甚至卡死。于是开始写存储过程,还是mysql的。话说mysql的存储过程只在学校写过,以后都没写,于是开始写,但是发现mysql竟然不支持动态游标。

ONScripter for Android

很久之前就接触了某个开源项目,那时候不知道开源项目与什么意义,但是它上面有一句话令我印象深刻“开源传万世”。在开源领域最伟大和成功的应该算是Linux,虽然从开始这个对我们日常生活没什么影响,但是在我们没有主意到的地方Linux真的是奇迹一般的存在。而现在它突然来到我们的面前,影响了整个移动通信行业,那就是Android。

同人领域不是很了解,毕竟国内同人的定义还是非常狭窄的,看看CM的各种CD和游戏吧,不仅仅是简单喜好,已经成为一种职业,一个产业。很久之前就有了NScripter这种东西,后来也有了ONScripter。详细的介绍可以看这里,CSDN达人的介绍。《谈谈AVG游戏的Android移植(NScripter与吉里吉里)》

接下来是NScripter的开源实现“ONScripter page”,ONS的基础。这个是全平台的ONScriper解决方案。之所以可以全平台,是因为使用SDL(详细介绍可参看上段CSDN文章),文件列表如下,在linux下使用make -f Makefile,Linux进行编译,当然要满足官方规定的一些依赖关系。

socket编程总结

昨天进行了一些测试,所以觉得可以写一个总结性的文字了。当然了,这个也就是归纳性质的,把之前写的东西统统的串在一起,在稍微高一点的事视野中描述一下自己对socket,特别是基于java的socket的理解和看法。另外这个东西也是一个循序渐进而定过程,也不期望这次一下子完全分析的很透彻,而是一个不断晚上的过程,在以后的工作学习中,如果还可以遇到类似的问题,或者还有机会写到这种代码也许就会有更新和更深层次的理解吧。

首先,socket这个东西我觉得是一个非常基础的协议。绝大部分通信,任意两台计算机,甚至是本机的两个程序之间都可能是基于socket。同时在socket这个基础上自然有派生出多种多样的协议和应用,比较著名和容易理解的就是HTTP服务器了。其就是架构在socket的基础上,更重要的是socket是一个标准,所以不同语言和程序之间的调用和通信更是socket的实用之处,如JDBC。

java基于TCP的socket数据包拆分方法

前不久写了socket相关的程序,服务器是java,客户端是flex。一开始就想过所谓的拆分数据包的问题,因为数据包结构是自己定义的,因此简单的写了几行数据包的验证。开发测试中完全没有发生什么情况,但是发布到外网之后却出现一些非常奇怪的问题,其中最主要的就是通信过一定时间之后,数据包验证处理模块就会出错然后就抛弃一部分数据包,这就是所谓的“丢包”吧,但是我使用的是基于TCP的socket,所谓因为网络问题导致的数据包没有发送与接收成功这种情况应该是不会出现的。

看了几篇文,发现这种现象被称作“粘包”,我觉得还是挺贴切的。经过一定时间的思考和测试,大致了解了其中的原理,按照现在的情况来看,应该是没什么问题了。于是在此总结一下,如果哪天我发现一些新问题或更好的方法,还是会来继续补充这篇文章的。当然各位路过的前辈觉得其中存在错误什么的也请指出。

Java Native Access(JNA)

LINUX平台下的mplayer一般被封装成smplayer,其实只是个外壳而已,内在的还是mplayer,与其同样著名的还有一个开源的播放器,总体的功能比mplayer要强大的多,关键是其发布的程序中附带的有头文件。有了头文件就可以直接使用JNA绕过外壳直接调用播放器的核心了。当然谷歌代码上有一个专门封装这个的项目,并附带demo,有兴趣的可以去找一下,此项目命名遵循我以前说的java封装的通用命名方式。

新的开始,JNA的话现在的版本是3.2.7。好像更新比较快的样子,项目主页http://java.net/projects/jna/,官方的代码和API全部都放在SVN上,于是我把3.2.7的HTML格式的API拿出来供查询和索引使用,地址如下http://api.suwish.com/#jna

php调用java方法

由于某些原因在php里面需要调用某第三方的jar文件,于是找到了JavaBridge这个东西。

就像之前我说的那样,不同语言之间的相互调用最常用和最易于使用的就是使用第三方协议,而这之中最常用的就是Socket,所以当我看到这个东西提供的就是一个jar,于是我想,这难道是Socket通信吗?

目前提供了几种方式,如java应用程序方式和javaweb方式,即JSE和JEE方式。于是简单的测试一下,基本没有问题,于是今天先写一个东西记录一下,过几天忙完了在仔细测试一下。

java媒体处理解决方案之MPLAYER

对播放器有所了解的朋友,我相信对于mplayer这个开源的播放器自然是不会陌生的吧,这也是我最喜欢的播放器,主要原因就是简洁、功能强大、绿色、跨平台、万能。

本文介绍java如何调用mplayer(我的指的是内嵌mplayer到java应用程序)。说道java调用第三方程序分为直接调用和间接调用两种。这里说的直接调用指的是使用jvm管理第三方程序的调用方式,间接调用就是通过一些工人的协议达到通信的目的,进而实现调用。

java基于nio的socket通信

JAVA的NIO,各种介绍都是显示如何如何的好,别的不知道,nio的socket确实写得不少,个人感觉在nio下的socket就是实现了异步通信而已,只是介绍过于复杂,当初第一次接触,真是被吓住了。但是呢,这里面的弊端也没有看到谁出来说一下,真是的。

话说前几天同学让帮忙写一个类似聊天室的东西,但是前几天沉迷wp的主题设计去了,完全忘记了,今天终于想起来。于是开写,用nio,因为最近对这个比较熟。

flex安全沙箱问题

所谓“安全沙箱”,其实是flex的一种安全策略,这确实给不少初学者造成很大程度上的困难。

以socket为例,网站也同理。
建立socket,前提是flash文件在浏览器中运行安全沙箱才会其作用,如果直接使用本地flash播放器运行则不会出现安全沙箱问题。