随笔 - 175  文章 - 202  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

第一个Blog,记录哈哈的生活

常用链接

留言簿(16)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

Java links

搜索

  •  

最新评论

阅读排行榜

评论排行榜

CenquaCrack.rar

Include Clover(2.0.3), Fisheye(1.4) and Crucible(1.2) - Crack by Sea Chang
Crack by Sea Chang - 2007.12.16

posted @ 2007-12-16 10:58 哈哈的日子 阅读(3502) | 评论 (19)编辑 收藏
最好的代码测试覆盖率查看软件。

CloverCrack.rar


Crack By Sea Chang

2007.11.30
posted @ 2007-11-30 21:45 哈哈的日子 阅读(2061) | 评论 (5)编辑 收藏

在学习 lua 的时候,看到了一个生成序列的一个递归算法,比起我以前的算法,要好得很多,学到了。^_^

package com.sea.pc;
public class Permgen {
 
public static void main(String[] args) {
  Permgen permgen 
= new Permgen();
  String[] ss 
= { "a""b""c" };
  permgen.permgen(ss, 
3);
 }
 
public void permgen(Object[] os, int n) {
  
if (n == 0) {
   
for (Object obj : os) {
    System.out.print(obj 
+ "\t");
   }
   System.out.println();
  } 
else {
   
for (int i = 0; i < n; i++) {
    Object t 
= os[i];
    os[i] 
= os[n - 1];
    os[n 
- 1= t;
    permgen(os, n 
- 1);
    os[n 
- 1= os[i];
    os[i] 
= t;
   }
  }
 }
}

 
 

  

posted @ 2007-10-21 15:18 哈哈的日子 阅读(458) | 评论 (2)编辑 收藏
最先遇到的问题是编译的问题,我觉得环境对于一个新手有致命的阻碍作用。可能有人会说,去  google 一下不就完了,可是,实际上新手可能根本就不知道要 google 什么,我学 c 很多次放弃基本上都是环境原因。

这次弄 c 主要是为了和 lua 脚本语言集成,其实用 java 也有得选,luajava 不失为一个好的选择。但是长久以来的小体积什么都不依赖就能运行的 c 程序(.exe)文件对我很有吸引力,因为发布 java 程序就意味着要伴随十几M的jre(哪位知道不用jre的,请务必教教在下),所以,这次决定了,学习 c!

IDE 嘛,就选择了 CDT,实在是太习惯eclipse了,然后就是用 Programing in lua 中copy个例子下来,编译。我靠,错误,想了想,把 lua 的那些头文件加进来,把 lib 目录也加进来,我靠,还是编译不过,崩溃了,放弃。

sigh,c编译是我永远的痛!

一天在公司里,突然想起有个同事是弄 c 的,问问他吧。他人好热情,给我讲了好多。终于明白了,不仅要把 lib 目录加进来,还要指定具体的 lib 文件名字,编译通过,迎来了全新的世界。

经过一段时间的乱弄,终于如愿的把程序编译成动态链接库(windows下的dll),引入到 lua 里,插曲:lua 原来引入动态链接库是全局的 function 叫 loadlib ,我靠,升级到 5.1 竟然改成了 package.loadlib,害我 google 了半天。不过其实 5.1 的 changelog 里是说了的,^_^

我的 lua 终于可以调 c api 了,快乐之情无法表达啊!

来,再做一个使用 c 访问网页的功能,找了半天,决定使用 wininet 库,跑到 ms 的 msdn 上一顿猛找啊,终于,皇天还不负我这个学c有心人,终于在一个 xx 角落里找到了 wininet 的 api,我,我终于可以用他连网了!

经过一会儿的奋斗,终于,从 http://localhost:8080/index.html 中,把自己 tomcat 的主页访问了出来,快乐的瞬间!
马上就发现这个程序有间歇性失忆,一会儿好用,一会儿不好用。共发生过以下几种失忆情况:

1、把代码 copy 到一个函数中,在 main 调用这个函数,程序运行失败!
2、删除了调试用的 printf 方法,程序运行失败!
3、夸张,这个是最夸张的!把 BOOL b = HttpSendRequest(req, NULL, 0, NULL, 0); 前面的 BOOL b = 去掉,只留下 HttpSendRequest(req, NULL, 0, NULL, 0);,失败!!!!!!!这样居然都失败!加上去就好好的运行。精神一度处于崩溃的边缘,眼睛里的血丝一度超过狼人!

左思右想,左改右改,死都不行!

一个声音高叫着:放弃吧,玩会游戏!

放弃了,md,再也不被 c 玩了,俺要玩俺的 java 去,下载 luajava 去,不理你了!
临行前,我恋恋不舍地看了一眼俺的c代码,我靠,突然发现这 xx 代码居然有个问题,这真是豁然开朗啊。

原来是。。。(省略一万字)

LPDWORD n; // LPDWORD 是个 unsigned long *

没初始化!
天啊,这点问题就让我找了这么久啊,我改。
DWORD a = 0;
LPDWORD n = &a;

一切正常。

世界终于清静了……
posted @ 2007-09-06 21:50 哈哈的日子 阅读(1144) | 评论 (3)编辑 收藏

Maven Phases

Although hardly a comprehensive list, these are the most common default lifecycle phases executed.

  • validate: validate the project is correct and all necessary information is available
  • compile: compile the source code of the project
  • test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
  • package: take the compiled code and package it in its distributable format, such as a JAR.
  • integration-test: process and deploy the package if necessary into an environment where integration tests can be run
  • verify: run any checks to verify the package is valid and meets quality criteria
  • install: install the package into the local repository, for use as a dependency in other projects locally
  • deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

There are two other Maven lifecycles of note beyond the default list above. They are

  • clean: cleans up artifacts created by prior builds
  • site: generates site documentation for this project

翻译内容,摘自 IBM

生命周期

在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段:

  • validate,验证工程是否正确,所有需要的资源是否可用。
  • compile,编译项目的源代码。
  • test-compile,编译项目测试代码。
  • test,使用已编译的测试代码,测试已编译的源代码。
  • package,已发布的格式,如jar,将已编译的源代码打包。
  • integration-test,在集成测试可以运行的环境中处理和发布包。
  • verify,运行任何检查,验证包是否有效且达到质量标准。
  • install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
  • deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
  • generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
posted @ 2007-08-08 16:30 哈哈的日子 阅读(540) | 评论 (0)编辑 收藏
最近一个朋友做猜数字游戏的解法,我也尝试了一下,在做数据生成器的时候,就希望做一个类型无关的,其实这个问题在去迅雷面试的时候就被问到,不过当时想都没想就放弃了,虽然面试当天回来的时候,完成了一下,但结果还是差强人意。所以想借这个机会弄一下。

在记录一条数据(Record)的时候,我本来使用了 List 实例化成 ArrayList,然后开始算,不过借助 JProbe 看了一下,List.size() 和 List.get(i) 这两个方法因为调用次数太多而占用了大部分的时间,所以第一想法是改成数组。

当我 new Record 的时候,使用的是 list ,自然想把这个 List<T> 转换成数组 T[] ,不过非常麻烦的是 list.toArray(T[]) 中的 T[] 不知道如何得到,不知道如何弄到 T[] 的实例,new T[list.size()] 是没办法的。

第一个反应是从 list 或是 List<T> 定义的 class 中得到成员的类型,然后使用 Arrays.newInstance 来创建一个,我花了好长的时间都没有能够得到,后来和同事聊天时,猜测是不是编译完的 class 文件中根本就没有类型的信息,不过当时没能确定。

晚上接着猜数字的时候,旧事重提,google 了一下,看到了一个非常好的文章。
http://www.ibm.com/developerworks/cn/java/j-jtp01255.html
将泛型说明的非常清楚,其中一句是这样的“Java 语言中的泛型基本上完全在编译器中实现,由编译器执行类型检查和类型推断,然后生成普通的非泛型的字节码。这种实现技术称为擦除(erasure)(编译器使用泛型类型信息保证类型安全,然后在生成字节码之前将其清除)”。

验证了我的想法,在 class 文件中,根本就没有泛型的信息。

实际上,声明一个泛型数据的方法是

T[] array = (T[])new Object[length];

这样,问题解决,对 Java 泛型的理解增加了一些。
posted @ 2007-08-08 00:39 哈哈的日子 阅读(3895) | 评论 (3)编辑 收藏
newline(换行符) \n
horizontal tab(水平制表符) \t
vertical tab(垂直制表符) \v
backspace(退格键) \b
carriage return (回车键) \r
formfeed (进纸键) \f
alert (beel) (响铃符) \a
backslash (反斜杠键) \\
question mark (问号) \?
single quote (单引号) \'
double quote (双引号) \"
posted @ 2007-08-05 13:47 哈哈的日子 阅读(480) | 评论 (0)编辑 收藏
最近做 BEA Portal,头痛得要死。一大堆不明白的东西要弄。

今天刚刚进入点状态,弄了 Portal 的菜单,遍历当前 PagePresentionContext,把菜单打出来,顺便自定义一下菜单。
哈,全部出来了,所有的子内容都显示了出来,洋洋自得中~~~
随便点一个试试,哇靠,怎么只有当前 Context 下面的菜单了,其它的都不翼而飞了,完了,遭遇技术风险中…… fear

不过记得之前使用 multi level menu 的时候,无论点到哪个下面都可以显示全部的 context 啊,为什么现在就不行了呢。

嘎嘎,灵光一动(高手就这么产生了),想到是不是在 .menu 文件中配置的 singlelevel 和 multilevel 的原因?我自定义的菜单使用的是 singlelevel 的,改成 multilevel,虽然 menu 文件都一样。

嘎嘎嘎,成了!

头终于有了快乐的感觉。

真是,用了 BEA Portal ,嘿,真对得起咱这个头!

^_^

调侃之作
posted @ 2007-07-23 18:01 哈哈的日子 阅读(428) | 评论 (0)编辑 收藏
将 OID 相应的包放到 %WL_HOME%\server\lib\mbeantypes 目录下就可以了。
posted @ 2007-07-18 17:58 哈哈的日子 阅读(518) | 评论 (1)编辑 收藏
1、比较方便的办法
在 log4j 的配置中加上

 <logger name="org.hibernate.type" additivity="false">
  <level value="debug" />
  <appender-ref ref="CONSOLE" />
  <appender-ref ref="FILE" />
 </logger>
 <logger name="org.hibernate.sql" additivity="false">
  <level value="debug" />
  <appender-ref ref="CONSOLE" />
  <appender-ref ref="FILE" />
 </logger>
其中 org.hibernate.sql 不知道有什么用。

2、使用 p6spy 来显示 sql,配合 sqlprofile 比较方便,还可以使用 irontracksql。

sqlprofile 和 irontracksql 在得到 sql 的机制有些差别。

sqlprofile 是通过配置 log4j 的 socket append ,将 log 输出到 sqlprofile 的监听端口去。这样在调试程序的时候,只要先启动好 sqlprofile,就能得到 sql 了。

irontracksql 是在应用中监听一个端口,随应用启动,irontracksql 启动是连接到那个端口去得到 sql,所以要先启动用户,再让 irontracksql 连过去。

猜测:irontracksql 性能会好一些,而且不想看 sql 可以断下来。sqlprofile 则不行。但在调试程序的时候 sqlprofile 明显方便很多。
posted @ 2007-07-18 11:29 哈哈的日子 阅读(4096) | 评论 (3)编辑 收藏
仅列出标题
共17页: First 上一页 8 9 10 11 12 13 14 15 16 下一页 Last