AjaxSwing是一种在运行时自动转换Java Swing/AWT桌面应用程序到Ajax网站的解决方案,可以被看成是Java桌面应用的HTML转换。它允许开发者使用标准Swing组件来实现Web用户界面,而不必改变现有的Swing窗体和业务逻辑,也不需要程序员学习任何Java和Swing核心之外的API,通过HTML/JavaScript的自动转换使桌面应用焕发第二春。
AjaxSwing在官网提供了免费版的下载,但存在以下一些限制:
1、用户并发数限制为5
2、Web页面上有AjaxSwing的水印,网页标题后面有尾巴
3、限制Web应用部署量为3个
4、一些自定义渲染/过滤器的限制
5、会采集汇报用户信息
具体的限制以及授权定价可以参见这里,只能说价格好黑,还额外按cpu核收费,你当自己是Oracle么?内心不安分的想法又出来鸟~软件自由万岁!软件破解过程就不详细讲了,反正算法挺简单的,而且代码也没有混淆,半小时左右就搞定,说下授权码使用方法:
1、进入A[......]
继续阅读…
最近开发了一个工具,其中一个模块的功能是通过javamail发送邮件到指定地址,采用的smtp服务器是QQ邮箱(smtp.qq.com:465)。在本机自测功能的时候都是OK的,但在用户机器上执行发送邮件时却抛错了,查看了下异常信息,报的是javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure,这就意味着在建立ssl连接的时候加密套件协商失败。查看了下双方的JDK版本发现我的机器上运行的是JDK6,而用户运行的是JDK8,JDK8默认禁用了一些被认为不安全的加密套件,而QQ邮箱却强制使用了那些不安全的加密套件。JDK版本的不同导致的差异原因具体可以参见这里。
通过那篇博文提到的方法,我们可以发现要解决这个恶心的QQ邮箱RC4算法不兼容JDK8的问题只能替换JDK目录下的jce配置文件,但这种方法太过于本地化,无法将该解决方案应用到实际客户机上。因此再接着找方案,终于找到一个靠谱的,见这里,大致的意思就是通过[......]
继续阅读…
最新突然兴起想要在k3上跑一些c/c++项目的程序,可惜光有源码没有编译工具很是头疼。找了一大圈Google就是没找到一个合适的现成的交叉编译工具链,不是Glibc版本过低,就是arm目标平台不符合,最后只好放弃这个偷懒的方法(其实已经算不上偷懒了,在找交叉编译工具链上已经花了大量的时间精力。。。),取而代之的方法就是直接源码编译交叉编译工具链呗。
看了下网上关于工具链源码编译的方法还是挺多的,本着哪个方便就用哪个的原则,我发现了一个编译神器:crosstool-ng,这玩意儿本身也是需要源码编译,依赖bison gperf flex texinfo libtool ncurses-libs ncurses-devel gawk gcc gcc-c++ gcc-java glibc glibc-common libc-client-devel libc-client glibc-devel glibc-static glibc-utils (确切地说是编译GCC要用),使用方法照着文档说明就行,主要就是[......]
继续阅读…
Launchpad是适用于Kindle 3的快捷键管理程序,就是以指定的键盘按键(或键盘组合)来快速运行特定程序或命令,它非常的实用且轻量,后台就一个常驻进程,内存占用小。可是自从原生系统更新到3.4.1后,Launchpad的安装包拷贝到Kindle根目录下后,“Update Your Kindle”这个选项始终处于不可选状态,表现的情况和当时我做的拼音输入法安装包0.4.1版一致,详情点击这里。
究其原因是由于3.4.1后Amazon更新了OTA升级包的版本标识,导致用了老的打包程序在新的固件系统上识别不出来。原理清楚后解决方法就很容易了,只要把原来的安装包解开,然后用新的打包程序生成下就可以使用了。可正当我打包完新安装包后,回头去看了下mobileread论坛,暮然发现原来那个发布Launchpad的帖子里已经有热心的朋友抢先在9月份就发布0.0.1d版本的新安装包了,更新说明和我现在做的如出一辙。好吧,看来我不用多操心了,直接放上论坛地址供有需要的朋友下载吧,帖子地址点击这里,下载文件lpad-[......]
继续阅读…
由于百度Hi空间的寿终正寝,原来发在上面的关于kindle3原生系统3.4.1拼音输入法的帖子随之消失的一干二净,故不得不转载自己的帖子到自己的博客里了。吐槽下,本来好好的产品就这样被糟蹋了 。
*************************************************
2015.7.17针对kindle 3更新官方固件到3.4.2的说明
距上次1月份官方固件更新到3.4.1后,今年的6月下旬又紧接着出来了3.4.2版,时隔5个月,虽然官方说这是一次普通的bug修复升级,但通过逆向分析更新包后发现实际上还是更新了有149个系统文件之巨,官网链接在此。不过好在这些更新并不影响拼音输入法0.4.2版的正常工作,已手工测试通过该版本的安装和卸载,请大家放心使用。
需要提醒的是,在更新官方固件3.4.2的时候需要先卸载拼音输入法,否则更新固件时会报失败,具体安装卸载的方法见下面的说明。
**********[......]
继续阅读…
首先声明一点:本文只是从实用角度来阐述如何免第三方工具连接通过802.1x EAP证书加密的WIFI,但并不以恶意地揣测第三方连接工具有多危险为目的。。。
PRE START:为什么要这么做
其实我也不知道这么做的好处是啥,充其量也就是为了研究那些所谓的自动wifi连接工具的实际核心操作,二来也有想要一个相对纯净的系统的私心吧 。
SETP 1:提取证书
这一步是关键,之所以网上基本上找不到手动方式连接通过802.1x EAP证书加密的WIFI是因为通常来讲,用第三方连接工具会帮你自动把所需要的证书导入到了你的系统中,但被标记为了不可导出私钥状态,因此你也没法获得到它。但通过Github大法一搜,还真被我搜到了一个项目,名叫jailbreak,通俗易懂,反正作用就是能够导出Windows下被标记为不可导出私钥的证书,这样一来最大的障碍就轻松扫除了,该项目从提交日志来看是近半年才开发出来的,所以在之前都是无法想像的事,不过有了这一工具后细细一想,越想越怕。。。是微软的漏洞么?
[......]
继续阅读…
之前使用Myeclipse开发完代码后,总是需要通过Maven程序打包成war包并拷贝到外部Tomcat的webapp目录下进行调试,Myeclipse去连接Tomcat的远程调试端口,感觉非常的麻烦。遂下决心一定要找到一个简便的,能在Myeclipse平台下一站式地开发和调试Maven Web项目。但网上对于Myeclipse一站式开发讲述的非常零散,在查阅了许多篇文章后,终于总结出了一个简单有效的方式,可以完全不用外部程序做到svn代码检出、Maven Web项目支持以及通过Myeclipse内置的Tomcat来调试项目。下面是详细的操作步骤:
环境配置
JDK 1.6
eclipse 3.6.2(有加载中文插件) + Myeclipse 9.1插件 + Subclipse 1.8.x插件(插件均以dropins方式加载)
Maven4MyEclipse + Myeclipse Integrated Sandbox Tomcat 6(Myeclipse 9.1均已内置)
两点需要提醒的
1、由于我使用了加载过中[......]
继续阅读…
前几天发现博客的响应速度略有降低,除了经常被并发攻击所导致的线程等待原因外,隐隐觉得是不是在数据库方面还有提升的空间。因此打开了MySQL慢查询日志记录开关,记录查询超过1秒的SQL语句。经过一周的运行,当我再次打开慢查询日志文件时,终于有所发现,以下是日志文件的去重后部分:
/usr/libexec/mysqld, Version: 5.1.73-log (Source distribution). started WITH:
Tcp port: 4000 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time: 140720 5:00:55
# User@Host: twx[twx] @ localhost []
# Query_time: 1.421887 Lock_time: 0.026132 Rows_sent: 232 Rows_examined: 279
USE wordpress;[......]
继续阅读…
一次偶然的机会,为了测试公司项目新代码需要,把svn上的代码检出到了一台新的测试机器上,机器上的环境都是自己通过yum安装的,本文发生的原因也是因此而起。
在测试的过程中我点了一个链接,地址是http://10.69.67.203/exception/list/1 ,结果抛出了匪夷所思的500错误,报错内容如下(项目采用的是Spring MVC+Hibernate+Velocity架构):
org.hibernate.AssertionFailure: Interceptor.onPrepareStatement() returned null or empty string.
at org.hibernate.jdbc.AbstractBatcher.getSQL(AbstractBatcher.java:490)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(Abstrac[......]
继续阅读…
玩过微软MAK key的同学一定知道VAMT这个工具吧,它的全称是Volume Activation Management Tool,本意是微软专门为企业开发的批量激活管理工具,现在主要用来个人检测微软密钥的可用性和激活次数,包括的产品有Office套件系列、Windows系列等。需要注意的是MAK key只能用来激活标有vol的微软产品,而对rtm产品无效,其实实际上vol和rtm仅仅是软件授权方式上有区别,在功能和版本上没有任何的区别。
老的VAMT版本不能检测新的微软产品密钥,例如,VAMT 2.0最多能支持到Office 2010和Windows 7,VAMT 3.0最多能支持到Office 2013和Windows 8,而VAMT 3.1则能支持到Windows 8.1以及Windows Server 2012 R2。当然高版本的VAMT能够向下兼容老版本的微软产品密钥。
但抓狂的是自VAMT 3.0起,它的安装包就不再是一个独立的版本了,取而代之的是[......]
继续阅读…
最新评论