다국어를 쉽게 지원 할 수 있도록 지원하는 플러그인 입니다.
http://sourceforge.net/projects/eclipse-rbe/


저작자 표시

'tools' 카테고리의 다른 글

eclipse에서 다국어를 쉽게 지원하기..  (0) 2010/08/19
Hex Editor XVI32  (0) 2010/07/22
text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14

Hex Editor XVI32

from tools 2010/07/22 17:59
무료의 헥사 에디터 입니다. 직관적이고 쉽네요.. ^^
배포버전은 http://www.chmaas.handshake.de/ 사이트에서 다운로드 받으세요.. ^^



저작자 표시

'tools' 카테고리의 다른 글

eclipse에서 다국어를 쉽게 지원하기..  (0) 2010/08/19
Hex Editor XVI32  (0) 2010/07/22
text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14
Tag // hex editor, XVI32
어디서 받았는지는 기억도 없고.. 컴터 정리하다보니 눈길을 끌어서 저장해 봅니다. ^^
윈도용 입니다...

저작자 표시

'tools' 카테고리의 다른 글

eclipse에서 다국어를 쉽게 지원하기..  (0) 2010/08/19
Hex Editor XVI32  (0) 2010/07/22
text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14

HTTP4e Rest Client

from tools 2010/07/15 17:21
오..
지금 회사에서 인턴을 통해서 개발하려고 했던 테스팅 프레임웍의 형태를 플러그인으로 구현을 해 놨네요..
HTTP4e Rest Client
아래는 HTTP4e 웹 사이트에 있는 내용입니다.
좋네요. ^^

About

Eclipse HTTP Client (HTTP4e)  is an Eclipse plugin for making HTTP and RESTful calls. Build with user experience in mind, it simplifies the developer/QA job of testing Web Services, REST, JSON and HTTP. It is a useful tool for your daily job of  HTTP header tampering and hacking.

Features:

  • Making/Replaying an HTTP call directly from Eclipse IDE
  • Visual Editors for HTTP headers, parameters and body
  • Tabbed browsing (allowing replaying different RESTful, HTTP calls on separate tabs)
  • History support (persisting your valuable REST calls)
  • One-click  HTTP code generation to Java, PHP, C#, Flex/ActionScript, Cocoa/Objective-C, Ruby, Python and Visual Basic
  • One-click JMeter script generation
  • Import and export HTTP4e replay script
  • Export HTTP sessions as HTML report
  • Import raw HTTP packets and Firefox’s Live HTTP headers
  • Aesthetic UI, Code assist, Headers auto-suggest, Syntax coloring
  • “Raw”, “Pretty”, “Hex”, “Browser” and “JSON” views
  • Proxy Configuration
  • BASIC and DIGEST Authentication
  • SSL/HTTPS support
  • Unicode UTF8 support
  • HTTP tampering
  • Available on Windows, MacOS X, Linux, Solaris

저작자 표시

'tools' 카테고리의 다른 글

Hex Editor XVI32  (0) 2010/07/22
text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14
web framework 종류들..  (0) 2010/07/14

rest framework 종류들..

from tools 2010/07/14 16:08
rest 기반의 웹 서비스를 쉽게 만들기 위한 framework 도입을 위해서 대충 알아보니, 아래와 같은 framework들이 존재하네요.. 흠, 몰 써야 할까요?? 모르겠넹.. ^^;;

* Restlet is a lightweight REST framework for Java

* Jersey is the open source (under dual CDDL+GPL license), production quality, JAX-RS  (JSR 311) Reference Implementation for building RESTful Web services. But, it is also more than the Reference Implementation. Jersey provides an API  so that developers may extend Jersey to suite their needs.

* JAX-RS: CXF has an implementation of JAX-RS 1.0 (JSR-311): Java API for RESTful Web Services. This provides a more standard way to build RESTful services in JAVA.

JBoss RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It strives to be standards based wherever possible, but to also innovate when appropriate.
저작자 표시

'tools' 카테고리의 다른 글

text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14
web framework 종류들..  (0) 2010/07/14
Java Code Coverage Tool  (0) 2010/07/12

web framework 종류들..

from tools 2010/07/14 15:46
위키에 언어별 web framework에 대한 내용에 대한 정리가 잘 되어 있습니다.
위 링크의 내용에서, 자바로 개발된 framework들에 대한 내용은 아래와 같습니다.
Apache 프로젝트의 프레임웍들이 많네요.. ^^

Project Current Stable Version Release Date License
Apache Click 2.1.0
Apache
Apache Cocoon 2.2.0
Apache
Apache Struts 2.1.8.1
Apache
Apache Wicket 1.4.5 2009-12-16 Apache
AppFuse 2.0.2
Apache
Aranea 1.0.10
Apache
Eclipse RAP 1.2.0
Eclipse Public License
FormEngine 1.6.2
MIT
Google Web Toolkit 2.0
Apache
Hamlets 1.6 2010-01-29 BSD
HybridJava 1.01 2010-05-16 Registration
IT Mill Toolkit 5.4.0
Apache
ItsNat

AGPL / Proprietary
JavaServer Faces 2.0

JBoss Seam 2.2.0 GA
LGPL
ManyDesigns Portofino 3.1.0
GPL v3
OpenLaszlo 4.1
Common Public License
OpenXava 3.1
LGPL
pirka 1.0.4

Play 1.0.3
Apache
RIFE 1.6.2
Apache
Shale 1.0.4
Apache
Sling

Apache 2.0
SmartClient

LGPL
Sofia 2.3
GPL
Spring 3.0.0
Apache
Stripes 1.5.3
Apache
Tapestry 4.1.6/5.1.0.5
Apache
ThinWire 1.2
GPL
Vaadin 6.3.0
Apache
WebObjects 5.4.3
Proprietary
WebWork 2.2.6
Apache
ZK 5.0
LGPL
ztemplates 0.9.9.6
Apache
그리고, 10 Best Java Web Development Framework에 대한 내용도 좋네요.. ^^
저작자 표시

'tools' 카테고리의 다른 글

HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14
web framework 종류들..  (0) 2010/07/14
Java Code Coverage Tool  (0) 2010/07/12
repcached - add data replication feature to memcached 1.2.x  (0) 2010/07/06

Java Code Coverage Tool

from tools 2010/07/12 11:13
코드를 개발하고 테스트를 하기 위해서 보통 xUnit 시리즈의 프레임웍을 많이 이용하고 있습니다..
추가로 테스트를 완료하고, 테스트한 범위가 개발한 코드의 몇 %를 했는지에 대한 척도도 매우 중요하겠지요.. 
Test Coverage 혹은 Code Coverage 라고 일컫는데요.. 
자바에서 Code를 테스트한 후에, 테스트한 범위(Coverage)에 대한 리포팅을 해주는 툴이 바로 Coverage Tool 인데요.. 
아래는 2개의 Coverage Tool에 대한 소개입니다. 

1. EclEmma(http://eclemma.org/)
EclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License.

EclEmma는 eclipse에서 plug-in 해서 버튼 실행으로도 쉽게 사용할 수 있고, JaCoCo Library를 다운로드 받아서 Ant로 리포팅(http://www.eclemma.org/jacoco/trunk/doc/ant.html)을 받을 수 있네요.. 라이브러리 보다는 어플리케이션에서 쉽게 사용하고 바이너리를 내보낼때 좋을듯 하네요..

2. Cobertura(http://cobertura.sourceforge.net/)
Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.

Ant로 테스트를 해서 javadoc과 같은 report를 해주네요..
라이브러리는 Cobertura가 더 보기 좋게 리포팅을 하는 듯 합니다. 예제 : http://cobertura.sourceforge.net/sample/
저작자 표시

'tools' 카테고리의 다른 글

rest framework 종류들..  (0) 2010/07/14
web framework 종류들..  (0) 2010/07/14
Java Code Coverage Tool  (0) 2010/07/12
repcached - add data replication feature to memcached 1.2.x  (0) 2010/07/06
CI(Continuous Integration) Feature Matrix  (0) 2010/07/05
서버/인프라를 지탱하는 기술이라는 책을 읽다 보니, 374 페이지에 memcached를 복제해서 다중화를 지원하는 repcached에 대한 내용이 나오네요..
흠.. memcached는 다중화 이슈로 고민이 많이 되는 캐시서버였는데, 고민을 한방에 훅 날려주네요..

* http://repcached.lab.klab.org/
* http://tinywolf.tistory.com/88/
* http://kerberosj.tistory.com/48/
* http://mix1009.net/entry/repcached-memcached-replication/

저작자 표시
CI를 지원하는 툴에 대해서 살펴보니, 오픈소스 그리고 상용으로 팔고 있는 툴이 상당히 많이 존재하더군요...
대표적으로 ThoughtWorks의 CruiseControl과 Hudson은 익히 많이 알려져 있는듯 하지만, 다른 툴들은 자세한 정보가 없어서 다른 툴도 고민을 해 봐야 하나 하고 있던차에..
ThoughtWorks의 위키에서 CI Feature Matrix 페이지를 봤습니다.. 오~~ 최고... ^^
아래는 CI툴에 대한 정리된 비교 분석 내용입니다.

* ThoughtWorks의 CI Feature Matrix
* Comparing TWO continuous build tools: Cruise Control and Hudson
* Choosing continuous integration (CI) tool. Comparison : CruiseControl, Hudson, Continuum vs. TeamCity

혹시 몰라서 CI Feature Matrix를 mht 포맷으로 저장해서 첨부하였습니다.

저작자 표시
MS에서 제공하는 JDBC Type 4 드라이버인 sqljdbc4.jar를 통해서 DB에 연결하기 위한 내용입니다.
아래는 mssql 2008의 db에 접근하기 위한 connection url string 입니다..
MS의 jdbc사용에 대한 내용은 http://msdn.microsoft.com/en-us/library/ms378526.aspx 에서 참고하시면 됩니다. 그리고, 아래의 4147포트는 SqlServer Configuration Manager를 통해서 TCP/IP 프로토콜에 할당된 포드입니다.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connUrl = "jdbc:sqlserver://HOST\\SQLEXPRESS:4147;databaseName=testdb;integratedSecurity=true;";
Connection connection = DriverManager.getConnection(connUrl, "id", "pw");
저작자 표시
아융..
DB 연결하기 위해서 Connection Url 세팅하는게 은근히 짜증나네요.. ^^;;
아래는 mssql 2008의 db에 접근하기 위한 connection url string 입니다..
그리고, 아래의 4147포트는 SqlServer Configuration Manager를 통해서 TCP/IP 프로토콜에 할당된 포드입니다.

Class.forName("net.sourceforge.jtds.jdbc.Driver");
String connUrl = "jdbc:sqlserver://HOST\\SQLEXPRESS:4147;databaseName=testdb;integratedSecurity=true;";
Connection connection = DriverManager.getConnection(connUrl, "id", "pw");
저작자 표시
Apache Ant 프로젝트의 서브 프로젝트로 Ivy 프로젝트(http://ant.apache.org/ivy/)가 있습니다.
 Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies.
아래의 IvyTest 클래스, ivy.xml을 만들고 build.xml파일에서 resolve target을 실행하게 아래와 같은 결과를 얻을 수 있습니다.

IvyTest.java
package dev;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.lang.WordUtils;

import static java.lang.System.out;

public class IvyTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            Option msg = OptionBuilder.withArgName("msg").hasArg().withDescription("the message to capitalize").create("message");
           
            Options options = new Options();
            options.addOption(msg);
   
            CommandLineParser parser = new GnuParser();
            CommandLine line = parser.parse(options, args);
   
            String  message = line.getOptionValue("message", "default message");
            out.println("standard message : " + message);
            out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
           
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}


build.xml
<?xml version="1.0"?>
<project name="ivy-test" default="resolve" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
    <property name="project.name" value="ivy-test" />
     <property name="project.version" value="1.0.0" />
     <property name="project.owner" value="mcsong@gmail.com" />
   
    <!-- src -->
    <property name="src.dir" value="src" />
    <property name="src.main.dir" value="src/main" />
    <property name="src.test.dir" value="src/test" />
   
    <!-- build -->
    <property name="build.dir" value="build" />
    <property name="build.main.classes" value="${build.dir}/classes/main" />
    <property name="build.test.classes" value="${build.dir}/classes/test" />
   
    <!-- lib -->
    <property name="lib.dir" value="lib" />
    <property name="lib.ext.dir" value="lib-ext" />
   
    <!-- dist -->
    <property name="dist.dir" value="dist" />
   
    <!-- doc -->
    <property name="doc.dir" value="doc" />
   
    <!-- ivy -->
    <property name="ivy.install.version" value="2.1.0" />
    <property name="ivy.dir" value="ivy" />
    <property name="ivy.jar.file" value="${lib.dir}/ivy-2.1.0.jar" />
   
    <!-- test -->
    <property name="test.dir" value="test" />
   
    <tstamp>
        <format property="time" pattern="yyyyMMdd" />
    </tstamp>
   
    <!-- setting class path -->
    <path id="class.path">
        <pathelement location="${build.main.classes}"/>
        <pathelement location="${build.test.classes}"/>
        <pathelement location="${dist.dir}"/>
        <pathelement location="${lib.dir}"/>
 
        <pathelement location="${lib.dir}/junit.jar"/>
        <pathelement location="${lib.dir}/commons-cli-1.2.jar"/>
        <pathelement location="${lib.dir}/commons-lang-2.5.jar"/>
        <pathelement location="${lib.dir}/ivy-2.1.0.jar"/>
        <pathelement location="${ant.home}/lib"/>
    </path>   
   
    <!-- initialize -->
    <target name="init" description="--> create directories">
        <echo>init target started</echo>
        <mkdir dir="${doc.dir}"/>
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.main.classes}"/>
        <mkdir dir="${build.test.classes}"/>
        <mkdir dir="${test.dir}"/>
        <!--mkdir dir="${test.result.dir}"/>
        <mkdir dir="${test.report.dir}"/-->
        <mkdir dir="${dist.dir}"/>
        <echo>init target completed</echo>
    </target>       
   
    <!-- clean -->
    <target name="clean" description="--> clean created directories">
        <echo>clean target started</echo>       
        <delete dir="${doc.dir}" />
        <delete dir="${build.dir}"/>
        <delete dir="${build.main.classes}"/>
        <delete dir="${build.test.classes}"/>
        <delete dir="${test.dir}"/>
        <!--delete dir="${test.result.dir}"/>
        <delete dir="${test.report.dir}"/-->
        <delete dir="${dist.dir}"/>
        <echo>clean target completed</echo>
    </target>       
   
    <macrodef name="compile_">
        <attribute name="srcdir" />
        <attribute name="destdir" />
        <sequential>
            <javac srcdir="@{srcdir}" destdir="@{destdir}">
                <classpath refid="class.path" />
            </javac>
        </sequential>
    </macrodef>   

       <!-- compile source -->
    <target name="compile" depends="clean, init" description="compile this project">
        <echo>compile target started</echo>
        <compile_ srcdir="${src.main.dir}" destdir="${build.main.classes}" />
        <compile_ srcdir="${src.test.dir}" destdir="${build.test.classes}" />
        <echo>compile target completed</echo>
    </target>   

    <!-- run -->
    <target name="run" depends="compile" description="run the project">
        <echo>run target started</echo>
        <property name="arg.01" value="ivy testing !"/>
        <java classpathref="class.path" classname="dev.IvyTest">
            <arg value="-message"/>
            <arg value="${arg.01}"/>
        </java>
        <echo>run target completed</echo>
    </target>
   
   
    <target name="resolve" depends="init" description="retreive dependencies with ivy">
        <ivy:retrieve />
    </target>       
   
    <target name="report" depends="resolve" description="generates a report of dependencies">
        <ivy:report todir="${build.dir}"/>
    </target>
  
    <target name="clean-cache" description="clean the ivy cache">
        <ivy:cleancache />
    </target>
       
</project>

ivy.xml
<ivy-module version="2.0">
    <info organisation="org.apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.5"/>
        <dependency org="commons-cli" name="commons-cli" rev="1.2"/>
    </dependencies>
</ivy-module>

결과
Buildfile: C:\dev\works\ivy_test\build.xml
init:
     [echo] init target started
     [echo] init target completed
resolve:
[ivy:retrieve] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/C:/Program%20Files/eclipse/plugins/org.apache.ant_1.7.1.v20090120-1145/lib/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache#hello-ivy;working@LENOVO-FAD74E43
[ivy:retrieve]     confs: [default]
[ivy:retrieve]     found commons-lang#commons-lang;2.5 in public
[ivy:retrieve]     found commons-cli#commons-cli;1.2 in public
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-javadoc.jar ...
[ivy:retrieve] ......
[ivy:retrieve] .......
[ivy:retrieve] .....
[ivy:retrieve] ........
[ivy:retrieve] ........
[ivy:retrieve] ..........
[ivy:retrieve] .........
[ivy:retrieve] ....
[ivy:retrieve] ...
[ivy:retrieve] ....
[ivy:retrieve] ......
[ivy:retrieve] .... (1557kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(javadoc) (24578ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar ...
[ivy:retrieve] ......
[ivy:retrieve] ...... (357kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(source) (4109ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5.jar ...
[ivy:retrieve] ........
[ivy:retrieve] ..... (272kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar (5313ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar ...
[ivy:retrieve] ... (47kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(source) (2203ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2.jar ...
[ivy:retrieve] ... (40kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar (1610ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-javadoc.jar ...
[ivy:retrieve] .....
[ivy:retrieve] .. (209kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(javadoc) (3734ms)
[ivy:retrieve] :: resolution report :: resolve 12688ms :: artifacts dl 41562ms
    ---------------------------------------------------------------------
    |                  |            modules            ||   artifacts   |
    |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
    ---------------------------------------------------------------------
    |      default     |   2   |   2   |   2   |   0   ||   6   |   6   |
    ---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: org.apache#hello-ivy
[ivy:retrieve]     confs: [default]
[ivy:retrieve]     4 artifacts copied, 2 already retrieved (2171kB/47ms)
BUILD SUCCESSFUL

위의 내용을 통해서, 프로젝트의 의존성 있는 바이너리들을 쉽게 관리(?) 할 수 있을듯 합니다.
개발팀에서 적용하기에는 좀 귀찮은 작업일듯 하나, 개발팀의 모임인 개발실 급의 규모에서는 적용할 만한 기술인거 같네요..

참고로, Ivy 프로젝트의 설치는 아래와 같습니다.
1. 다운로드
2. ivy-2.1.0.jar를 ${ant.home}/lib에 카피를 합니다.
3. eclipse에서 window --> preference --> ant --> runtime --> classpath의 ant home entries에서 add external jars 버튼을 통해서 ivy-2.1.0.jar를 잡아주면 됩니다. 

위 데이타에 대한 리포팅 결과는 아래의 첨부파일을 참고하세요..

* 참고자료
 - 사람을 위한 자동화: Ivy로 의존성 관리하기
저작자 표시

무료 CAPTCHA 서비스

from tools 2010/06/16 18:29
무료로 CAPTCHA 서비스를 이용할 수 있는 reCAPTCHA 라는 서비스가 있네요.. ^^
아래 그림과 같은 형태로, 웹에서 회원가입이나 스팸성 기능을 제한하기 위해서 사용하면 될거 같습니다.
http://www.recaptcha.net/resources.html에서 쉽게 사용할 수 있도록 대부분의 환경을 지원하고 있습니다. ^^


저작자 표시

'tools' 카테고리의 다른 글

jtds를 이용해서 db 연결하기 with mssql 2008  (0) 2010/06/25
eclipse에서 apache ivy로 binary 의존성 확인  (0) 2010/06/22
무료 CAPTCHA 서비스  (0) 2010/06/16
json simple library  (0) 2010/05/18
java c/c++, c# 호출방식  (0) 2010/04/29

json simple library

from tools 2010/05/18 17:13
헐 좋네용.. ^^
C#은 3.5버전부터 API 수준에서 json 포맷을 지원하니..
자바도 7부터는 지원을 했으면 좋겠네요.. ^^

http://code.google.com/p/json-simple/

'tools' 카테고리의 다른 글

eclipse에서 apache ivy로 binary 의존성 확인  (0) 2010/06/22
무료 CAPTCHA 서비스  (0) 2010/06/16
json simple library  (0) 2010/05/18
java c/c++, c# 호출방식  (0) 2010/04/29
eclipse에서 java source 보기  (0) 2010/03/16
Tag // json, Library

java c/c++, c# 호출방식

from tools 2010/04/29 13:36
c/c++ 호출
기본적으로 JNI를 이용해서 호출합니다.
JNI
를 쉽게 사용하기 위한 Wrapper들이 여러 개 존재하고 있습니다.
 -
HawtJNI(http://hawtjni.fusesource.org/documentation/index.html )
 -
JNIWrapper(http://www.teamdev.com/jniwrapper/)
 - 
JNIEasy(http://www.innowhere.com/webapp/index.jsp#st=products.jnieasy )

c# 호출
j-interop (Pure Java – Com Bridge) : http://j-interop.org/ , 라이센스 : LGPL 3.0[1]

java <-> c#
 - Jni4net : http://jni4net.sourceforge.net/ , bridge between Java and .NET (interprocess, fast, object oriented, open-source), 라이선스: opensource, GPL tools and LGPL runtime

using net.sf.jni4net;

public class Program
{
    private static void Main()
    {
        Bridge.CreateJVM(new BridgeSetup());
        java.lang.System.@out.println("Greetings from C# to Java world!");
    }
}


import net.sf.jni4net.Bridge;
import java.io.IOException;
import java.lang.String;

public class Program {
    public static void main(String[] args) throws IOException {
        Bridge.init();
        system.Console.WriteLine("Greetings from Java to .NET world!");
    }
}

 - ikvm.net : http://www.ikvm.net/, jar -> .dll, .dll -> .jar



'tools' 카테고리의 다른 글

무료 CAPTCHA 서비스  (0) 2010/06/16
json simple library  (0) 2010/05/18
java c/c++, c# 호출방식  (0) 2010/04/29
eclipse에서 java source 보기  (0) 2010/03/16
build.xml refactoring using macrodef tag  (1) 2010/03/15

eclipse에서 java source 보기

from tools 2010/03/16 16:01
eclipse에서 자바로 개발을 하다보면, 라이브러리나 API대상의 코드를 확인하기 위해서 f3키를 눌려서 확인을 합니다.
특히, java api source를 보기 위해서는 자바 소스를 간단하게 링크만 하면 됩니다.

아래의 이미지처럼, JRE System Library에서 rt.jar의 속성창에서 Java Source Attachment의 Location path에 src의 위치를 확인시켜 주면 소스가 잘 나오네요.. ^^


'tools' 카테고리의 다른 글

json simple library  (0) 2010/05/18
java c/c++, c# 호출방식  (0) 2010/04/29
eclipse에서 java source 보기  (0) 2010/03/16
build.xml refactoring using macrodef tag  (1) 2010/03/15
staruml  (0) 2010/02/08
Tag // Eclipse, java, rt.jar
The ThoughtWorks Anthology 라는 책의 11 챕터의 빌드 아케텍트인 줄리안 심슨님의 내용은, build.xml 즉, ant 파일이 refactoring에 대한 내용입니다.  그 중에서, <macrodef> 태그를 이용한 build.xml 파일의 리펙토링 예제가 나오는데, 유용할것 같아서 개인적으로 사용하고 있는 dist target에 대해서 리펙토링을 적용해 봤습니다.

기존
<!-- distribute compiled binary to dist folder -->
    <target name="dist" depends="compile" description="distribute library">
        <echo>dist target started</echo>
        <jar destfile="${dist.dir}/${project.name}-${project.version}.jar">
            <fileset dir="${build.main.classes}"></fileset>
           
            <manifest id="MANIFEST.MF">
                 <attribute name="Built-By" value="${user.name}"/>
                 <!--attribute name="Class-Path" value="${class-path}" /-->   
             </manifest>
        </jar>
       
        <copy todir="${dist.dir}">
            <fileset dir="${lib.dir}">
                <exclude name="junit*.jar" />
            </fileset>
        </copy>
       
        <!-- compress binary -->
        <zip destfile="${dist.dir}/${project.name}-${project.version}.zip" >
            <fileset dir="${dist.dir}" includes="**" />
        </zip>
        <echo>dist target completed</echo>
    </target>   

리펙토링된 후
    <macrodef name="dist_jar">
        <sequential>
            <jar destfile="${dist.dir}/${project.name}-${project.version}.jar">
                <fileset dir="${build.main.classes}"></fileset>
                <manifest id="MANIFEST.MF">
                    <attribute name="Built-By" value="${user.name}"/>
                    <!--attribute name="Class-Path" value="${class-path}" /-->   
                </manifest>
            </jar>
        </sequential>
    </macrodef>
   
    <macrodef name="dist_copy">
        <sequential>
            <copy todir="${dist.dir}">
                <fileset dir="${lib.dir}">
                    <exclude name="junit*.jar" />
                </fileset>
            </copy>
        </sequential>
    </macrodef>
   
    <macrodef name="dist_zip">
        <sequential>
            <!-- compress binary -->
            <zip destfile="${dist.dir}/${project.name}-${project.version}.zip" >
                <fileset dir="${dist.dir}" includes="**" />
            </zip>       
        </sequential>
    </macrodef>
   
    <!-- distribute compiled binary to dist folder -->
    <target name="dist" depends="compile" description="distribute library">
        <echo>dist target started</echo>
        <dist_jar />
        <dist_copy />
        <dist_zip />
        <echo>dist target completed</echo>
    </target>   

위 예제처럼, 리펙토링된 내용을 살펴보면, <macrodef>태그를 통해서 기능에 대한 내용을 작게 쪼개서 빼고(<macrodef>) , 사용하는 <target>에서는 필요한 각 기능을 호출하는 템플릿 메쏘드(?)처럼 기술하게 됩니다. 어디서 많이 본 느낌인데.. 위는 기능을 작게 나눠서 메쏘드로 뽑는 extract method 리렉토링 기법과 동일하네요.. 역시 대가들에게서 많은 내용을 배우게 되는것 같습니다. ^^


'tools' 카테고리의 다른 글

java c/c++, c# 호출방식  (0) 2010/04/29
eclipse에서 java source 보기  (0) 2010/03/16
build.xml refactoring using macrodef tag  (1) 2010/03/15
staruml  (0) 2010/02/08
FindBugs 사용하기..  (0) 2010/02/02
Tag // Ant, Refactoring

staruml

from tools 2010/02/08 13:43
STARUML, 예전에 plastic software 인가?? 로 기억을 하고 있는데.. 그넘이 오픈소스화 되면서 STARUML이라는 이름을 단 것으로 알고 있습니다. 개인적으로 UML을 스터디(2000년도 가량)할 시점에서는 rational rose와 맘먹는 기능과 UI로 매우 좋았었는데요.. 오픈소스화 된것은 좋지만, 계속적으로 발전을 하지 않는 모습(버전 업이 안되네요.. ^^;;)은 매우 안타깝네요.. 그래도 아직까지 감사하게 잘 쓰고 있습니다. ㄳㄳ

웹 사이트는 http://staruml.sourceforge.net/
메뉴얼은 http://staruml.sourceforge.net/docs/user-guide(ko)/toc.html
위 메뉴얼 처럼, 한글로 자세한 설명이 되어 있는 오픈소스는 거의 없다시피 하죵.. ^^

참 좋은 UML 툴인거 같습니다. ^^


'tools' 카테고리의 다른 글

eclipse에서 java source 보기  (0) 2010/03/16
build.xml refactoring using macrodef tag  (1) 2010/03/15
staruml  (0) 2010/02/08
FindBugs 사용하기..  (0) 2010/02/02
Apache JMeter 사용하기  (0) 2010/01/13

FindBugs 사용하기..

from tools 2010/02/02 10:21
올.. 좋네요.. ^^
FindBugs라는 툴은 버그를 찾기 위해서 자바코드에 대한 정적 분석을 사용하고, 라이센스는 GNU 그리고 로고는 매릴랜드 대학이 상표권을 가지고 있다라고 하네요.. ^^
FindBugs, a program which uses static analysis to look for bugs in Java code.
It is free software, distributed under the terms of the Lesser GNU Public License. The name FindBugs™ and the FindBugs logo are trademarked by The University of Maryland.


이클립스에서 사용을 하기 위해서는 아래의 단계를 거치시면 됩니다.
* 설치 
- http://findbugs.sourceforge.net/downloads.html 페이지에서 plug-in 사이트 주소를 통해서 설치를 하시면 됩니다. 

*  사용 
 프로젝트 단위 또는 클래스 단위로 체크가 가능하네요.. ^^

 - 프로젝트 속성 창에서 Find Bugs 메뉴를 찾아서 Find Bugs 기능을 실행

 
- 뷰창을 등록

 
- 찾은 버그 확인 


위와 같은 과정을 통해서 코드의 안정성이 높아지고, 그러면 자연히 코드에 대한 품질도 높아질 것으로 생각이 드네요.. ^^

'tools' 카테고리의 다른 글

build.xml refactoring using macrodef tag  (1) 2010/03/15
staruml  (0) 2010/02/08
FindBugs 사용하기..  (0) 2010/02/02
Apache JMeter 사용하기  (0) 2010/01/13
Another java decompiler  (0) 2010/01/13

Apache JMeter 사용하기

from tools 2010/01/13 14:56
Apache에서 제공하고 있는 JMeter라는 스트레스 테스팅 툴에 대한 내용입니다.
한빛미디어 네트워크에서 제공하는 내용입니다.

Jmeter를 사용한 Stress Test(1) 
Jmeter를 사용한 Stress Test(2) 
Jmeter를 사용한 Stress Test(3) 

'tools' 카테고리의 다른 글

staruml  (0) 2010/02/08
FindBugs 사용하기..  (0) 2010/02/02
Apache JMeter 사용하기  (0) 2010/01/13
Another java decompiler  (0) 2010/01/13
eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11

Another java decompiler

from tools 2010/01/13 10:44
본 블로그에 포시팅된 java decompiler 툴들에서 기술하지 않은, 아주 쓰기 편한 decompiler가 있어서 소개합니다.
JD-Core, JD-GUI and JD-Eclipse 라는 product들이 있고, 라이센스는 "free for non-commercial use"입니다.
자세한 내용은 http://java.decompiler.free.fr/ 사이트에 접속하셔서 알아보시면 됩니다.
아래 이미지는 위 사이트에서 제공하는 간단한 screenshot 입니다.


'tools' 카테고리의 다른 글

FindBugs 사용하기..  (0) 2010/02/02
Apache JMeter 사용하기  (0) 2010/01/13
Another java decompiler  (0) 2010/01/13
eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11
무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 ant로 빌드시에 javadoc를 이용해서 document를 해 주고 있는데, ant cannot run program javadoc.exe 에러가 발생을 하네요.. ^^;;;

그래서 확인해 봤더니..
java.home이 잘못 세팅이 되어 있습니다. ^^;;
<echo>${java.home}</echo>
C:\Program Files\Java\jre6

eclipse에서 아래처럼 ant의 설정에 java.home을 추가해서 위치를 조정해 주면 쉽게 해결이 됩니다. ^^


'tools' 카테고리의 다른 글

Apache JMeter 사용하기  (0) 2010/01/13
Another java decompiler  (0) 2010/01/13
eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11
무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 cvs 연결끊기..  (0) 2008/08/27

무료로 쉽게 사용할 수 있는 플래시 차트 라이브러리 입니다.
이름은 오픈 플래시 차트이고, 주소는 http://teethgrinder.co.uk/open-flash-chart/index.php 입니다.
자바로  프로젝트를 진행하면서, JFreeChart나 Cewolf를사용했었는데, 플래시 차트가 더 손쉬을거 같습니다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

'tools' 카테고리의 다른 글

Another java decompiler  (0) 2010/01/13
eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11
무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 cvs 연결끊기..  (0) 2008/08/27
FF VS IE 웹 개발 디버깅 툴  (0) 2008/08/13

eclipse에서 cvs 연결끊기..

from tools 2008/08/27 18:37
Disconnecting a project from CVS

Disconnect a project from CVS to disable the CVS operations that can be performed on the project and it resources and optionally to remove the CVS information (stored in the CVS folders) associated with the project.

To disconnect a project from CVS:

   1. In one of the navigation views, select the project to be disconnected.
   2. Select Team > Disconnect from the project's pop-up menu. The Confirm Disconnect from CVS dialog opens.
   3. In the dialog, choose one of:
         1. Delete the CVS meta information - disables the CVS team menu operations and removes the CVS folders and their contents from the file system.
         2. Do not delete the CVS meta information - disables the CVS team menu operations but leaves the CVS meta information.
   4. Click Yes to disconnect the project.

'tools' 카테고리의 다른 글

eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11
무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 cvs 연결끊기..  (0) 2008/08/27
FF VS IE 웹 개발 디버깅 툴  (0) 2008/08/13
Rex Swain's HTTP Viewer  (0) 2008/08/13
Tag // CVS, Eclipse
FF에서 웹 개발시에 편리한 디버깅을 위해서 플러그인 형태의 툴인 Web Develop가 있습니다.
호야넷 블로그를 통해서 IE도 웹 디버깅 툴을 제공한다는 사실을 알았습니다..
그래서, IE 디버깅 툴을 깔아서 사용해 봤습니다..

우선, 깔린 상태에서 디버깅 툴을 띄어보면,
아래는 FF
사용자 삽입 이미지
아래는 IE
사용자 삽입 이미지
위의 이미지에서 기능에 대한 구성을 보면, 아직은 FF가 더 많은 기능을 보유하고 있는거 같습니다.

아래는 FF와 IE에서 설치된 화면입니다..
UI적으로도 FF가 깔끔한거 같습니다..  ^^
사용자 삽입 이미지
사용자 삽입 이미지
사족으로, FF를 선호합니다. ㅋㅋ

'tools' 카테고리의 다른 글

무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 cvs 연결끊기..  (0) 2008/08/27
FF VS IE 웹 개발 디버깅 툴  (0) 2008/08/13
Rex Swain's HTTP Viewer  (0) 2008/08/13
.jar --> .exe wrapper tools and installers  (0) 2008/08/11