十二年春季番扫番报告其一
当C81结束之后新的一年带来,新番组也开始活跃起来,就新番而言一般是十月番整体实力最强,各种大作云集。其他小制作或者制作组不出名的作品都会避其锋芒,在其他季度上映。许多看似平常毫不起眼的作品很可能就是下一匹黑马。接下介绍下本人了解到的2012年春季番(有些地方也叫做冬番)也就是一月番。
一、《轮回的拉的朗日》
《轮回的拉的朗日》据说很早即有,我看到有些论坛的老板块里就有这个讨论。首先一月番存在普遍的黑化倾向,所以这片子看刚开始的世界观,难免后面是什么剧情。刚开始的先行版充满着各种搞笑气氛,neta有些也很俗套,但是确实非常欢乐,尤其是使用马鹿口癖的元气女主。从一开始追这个主要是看吐槽,不论是甲基部还是那个飞机形态像雪风,还是萝卜形态像Miku的机器人。非常少见的强气能登,繁忙的中村等。Production I.G也是出过不少优质动画,画质还是有充分的保障。
但是话又说回来,这片子前几话过于欢乐个人感觉和整体的故事发展和世界观比较维和,所以后面极有可能存在所谓的神展开,无论是黑化还是虐心什么的该有的终究是会有的,而且萝卜动画里面男主最后便当的也不在少数,当然看情况这个动画不会有那么激进甚 ...
mysql动态游标
存储过程,我一直比较反感这个,所以能不用尽量不会去用,但是最近遇到一个问题就是有个查询由于过于复杂,在数据量很大时候处理速度非常缓慢,甚至卡死。于是开始写存储过程,还是mysql的。话说mysql的存储过程只在学校写过,以后都没写,于是开始写,但是发现mysql竟然不支持动态游标。
win下面是5.1,linux也是5.1具体小版本是不是一样既不太清楚了,从语法上来讲DECLARE cur CURSOR for语句必须写在SET @sqlstr前面,这就意味着不能通过先执行一条动态语句根据结果拼凑游标的内容,而且游标在定义的时候也没有参数的概念,而是将定义的结构完全当作一个字符串直接处理,不会做任何的处理,也就是静态游标吧。关于dynamic cursor的内容官方有解释http://dev.mysql.com/doc/refman/5.6/en/connector-odbc-usagenotes-functionality.html#connector-odbc-usagenotes-functionality-dynamic-cursor 我从5.1找到5.6只有这一个地方讲 ...
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进行编译,当然要满足官方规定的一些依赖关系。
之后是Android“ON ...
socket编程总结
昨天进行了一些测试,所以觉得可以写一个总结性的文字了。当然了,这个也就是归纳性质的,把之前写的东西统统的串在一起,在稍微高一点的事视野中描述一下自己对socket,特别是基于java的socket的理解和看法。另外这个东西也是一个循序渐进而定过程,也不期望这次一下子完全分析的很透彻,而是一个不断晚上的过程,在以后的工作学习中,如果还可以遇到类似的问题,或者还有机会写到这种代码也许就会有更新和更深层次的理解吧。
首先,socket这个东西我觉得是一个非常基础的协议。绝大部分通信,任意两台计算机,甚至是本机的两个程序之间都可能是基于socket。同时在socket这个基础上自然有派生出多种多样的协议和应用,比较著名和容易理解的就是HTTP服务器了。其就是架构在socket的基础上,更重要的是socket是一个标准,所以不同语言和程序之间的调用和通信更是socket的实用之处,如JDBC。
接下来就是正题了,本人之一做java方面,所以对系统底层不是很了解,所以什么windows的IOCP,linux的poll/epoll/aio之类,也仅仅是听说过的程度,另外JDK ...
java基于TCP的socket数据包拆分方法
前不久写了socket相关的程序,服务器是java,客户端是flex。一开始就想过所谓的拆分数据包的问题,因为数据包结构是自己定义的,因此简单的写了几行数据包的验证。开发测试中完全没有发生什么情况,但是发布到外网之后却出现一些非常奇怪的问题,其中最主要的就是通信过一定时间之后,数据包验证处理模块就会出错然后就抛弃一部分数据包,这就是所谓的“丢包”吧,但是我使用的是基于TCP的socket,所谓因为网络问题导致的数据包没有发送与接收成功这种情况应该是不会出现的。
看了几篇文,发现这种现象被称作“粘包”,我觉得还是挺贴切的。经过一定时间的思考和测试,大致了解了其中的原理,按照现在的情况来看,应该是没什么问题了。于是在此总结一下,如果哪天我发现一些新问题或更好的方法,还是会来继续补充这篇文章的。当然各位路过的前辈觉得其中存在错误什么的也请指出。
首先在讲程序之前,还是先说一下TCP通信。TCP和UDP的最大区别就是TCP维护了连接状态,而这个状态我们可以理解为一个畅通的流通道,即stream,当然流的传输内容归根结底还是byte。于是将流的通信进行假设,假设存在一条引水管道,从远方输水 ...
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。
正文,说道JNA就要说一下JNI了,JNI貌似是最早的JAVA本地接口解决方法,在JDK1.1的时候正式加入java平台,它以native关键字标识本地的方法,JDK的源码已有很多native的方法,甚至是一些简单的加减运算也是调用本地的C代码执行的。JNI的大致写法如下。比如
...
php调用java方法
由于某些原因在php里面需要调用某第三方的jar文件,于是找到了JavaBridge这个东西。
就像之前我说的那样,不同语言之间的相互调用最常用和最易于使用的就是使用第三方协议,而这之中最常用的就是Socket,所以当我看到这个东西提供的就是一个jar,于是我想,这难道是Socket通信吗?
目前提供了几种方式,如java应用程序方式和javaweb方式,即JSE和JEE方式。于是简单的测试一下,基本没有问题,于是今天先写一个东西记录一下,过几天忙完了在仔细测试一下。
方式一:Java Desktop Apps ,我觉得应该叫applacation。
简单的测试如下,java代码
123456789101112131415161718package bridge;import javax.swing.JOptionPane;public class HelloWorld { public static final String JAVABRIDGE_PORT = "8087"; static final php.java.bridge.JavaBr ...
java媒体处理解决方案之MPLAYER
对播放器有所了解的朋友,我相信对于mplayer这个开源的播放器自然是不会陌生的吧,这也是我最喜欢的播放器,主要原因就是简洁、功能强大、绿色、跨平台、万能。
本文介绍java如何调用mplayer(我的指的是内嵌mplayer到java应用程序)。说道java调用第三方程序分为直接调用和间接调用两种。这里说的直接调用指的是使用jvm管理第三方程序的调用方式,间接调用就是通过一些工人的协议达到通信的目的,进而实现调用。
直接调用又可使用直接调用第三方程序的方式,例如win下面的exe,这种方式实际就是让exe程序的进程处于jvm的控制之下(再次我也不说java控制进程的各种困难之处了),另外就是代码级的调用比如jni,JNI可能对于大多数人来说比较困难,那么久更加简单的JNA方式调用,JNA的话,你只需要对方程序的一个头文件,然后java映射一个(不知道这样说是不是恰当),对象指向dll即可,这对开源程序来说非常方便,对于闭源软件的话就需要对方提供接口了,比如对方告诉你某dll里面有某个方法,然后同样适用JNA映射对象到dll,就可以实现调用了,当然并不需要知道此dll里面的所有方法 ...
java媒体处理解决方案之FMJ
首先声明,本人不看好这种方式,于是没有深入研究。
FMJ项目入口为:net.sf.fmj.ui.FmjStudio。main如下:
1234567891011121314151617181920212223242526272829System.setProperty("java.util.logging.config.file", "logging.properties");LogManager.getLogManager().readConfiguration(); if (!ClasspathChecker.checkAndWarn()){ // JMF is ahead of us in the classpath. Let's do some things to make this go more smoothly. logger.info("Enabling JMF logging"); if (!JmfUtility.enableLogging()) logger.wa ...
java基于nio的socket通信
JAVA的NIO,各种介绍都是显示如何如何的好,别的不知道,nio的socket确实写得不少,个人感觉在nio下的socket就是实现了异步通信而已,只是介绍过于复杂,当初第一次接触,真是被吓住了。但是呢,这里面的弊端也没有看到谁出来说一下,真是的。
话说前几天同学让帮忙写一个类似聊天室的东西,但是前几天沉迷wp的主题设计去了,完全忘记了,今天终于想起来。于是开写,用nio,因为最近对这个比较熟。
首先是服务端代码(当然了,这只是类似教学程序的东西,写得可能有些粗糙)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475public void service() { while(true){ try{ System.err.println("Service"); ser ...