Eclipse JUNO 버전부터는 JAD (http://www.varaneckas.com/jad/) 설치가 안된단다.

(이 글을 쓰는 시점에서는 그렇다. 나중에는 지원을 하겠지......)

하지만 나는 예전 부터 JAD 보다는 같은 프로젝트 팀에서 지원하고 있는 JD-Eclipse 를 주로 사용한다.

Eclipse Plug-In 으로 지원을 하기 때문에 Eclipse 와의 연동이 쉽다. Eclipse JUNO 가 처음 나와서 얘도 한동안은 지원을 안했지만 이제는 잘 적용된다. ㅎㅎㅎ

 

- JD-Eclipse 홈페이지: http://java.decompiler.free.fr/



1. 이클립스에서 JD-Eclipse 플러그인 설치

 - Help > Install New Software 에서 다음 주소 입력 후 JD-Eclipse 설치. 

 - http://jd.benow.ca/jd-eclipse/update

 

 

Next, Accept, Finish 신공으로 설치 후 Eclipse 재시작.



2. Realignment fragment 설치

다음 주소에서 realignment fragment for JD-Eclipse host plug-in 을 다운로드해서 Eclipse/dropins 폴더에 복사한 후 Eclipse를 재시작한다.

- http://sourceforge.net/projects/realignmentjd/files/

현재 최신 버전 파일은 realignment.jd.ide.eclipse_1.0.2.jar 이다.



3. Eclipse에서 JD-Eclipse 연결 설정

다음과 같이 Window > Preferences 에서 JD-Eclipse를 기본으로 설정한다.

General > Editors > File Associations 에서 *.class 와 *.class without source 두 항목에 대해 Realignment for JD Class File Editor를 default로 설정한다.

만약 아래 에디터 항목에 realignment가 없다면 realignment가 제대로 설치되지 않은 것이다. realignment의 jar 파일을 Eclipse/dropins 폴더에 제대로 복사했는지 다시 확인해보자.

 

 


4. 정상동작 확인

설치 및 설정을 완료했으면 Java Decompiler가 정상적으로 동작하는지 확인해본다.

Java 의 기본적인 String.class 를 살펴본 결과 다음과 같이 성공적으로 decompile한 것을 볼 수 있다.

 

 

5. Decompiler 설정

Window > Preferences 에서 Java > Decompiler 에서 간단한 decompiler 설정을 할 수 있다.

 

 


 

 

Posted by JudgementDay
,
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="100" />
<property name="maxActive" value="150" />
<property name="maxWait" value="10000" />
<property name="maxIdle" value="30" />
<property name="minIdle" value="20" />
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="true" />
<property name="validationQuery" value="select 1 from dual" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="130000" />
<property name="minEvictableIdleTimeMillis" value="120000" />
<property name="numTestsPerEvictionRun" value="20" />
<property name="removeAbandonedTimeout" value="30" />
<property name="removeAbandoned" value="true" />
<property name="logAbandoned" value="false" />
</bean>


정의한 값


 

1. initialSize : 풀의 초기 커넥션 갯수

2. maxActive : 최대 커넥션 갯수
3. maxWait : 커넥션이 존재하지 않을 때, 커넥션을 얻기까지 대기하는 최대 대기시간
4. maxIdle : Idle상태에 풀이 소유한 최대 커넥션 갯수
5. testOnBorrow : 풀에서 커넥션을 가져올시 커넥션의 유효성 검사
6. testOnReturn : 풀에 커넥션을 리턴할 때 커넥션의 유효성 검사
7. validationQuery : validate Query
8. testWhileIdle : Idle상태에 커넥션의 유효성 검사
9. timeBetweenEvictionRunsMillis : 설정된 주기를 통해 Evict(유효하지 않는 커넥션/정의된 시간이 만료된 커넥션을 풀에서 제거) 쓰레드를 수행
10. minEvictableIdleTimeMiilis : Evict 쓰레드를 수행시, 만료여부를 체크할 시간을 정의
11. numTestsPerEvictionRun : Evict 쓰레드를 수행시 수행할 커넥션의 갯수
12. removeAbandonedTimeout : 유효하지 않은 커넥션의 삭제시의 타임아웃
13. removeAbandoned : 유효하지 않는 커넥션의 제거 여부
14. logAbandoned : 유효하지 않는 커넥션을 생성한 코드 위치 로그생성 여부

정의하지 않은 값
1. defaultAutoCommit : 생성된 커넥션의 기본 auto commit 여부
2. defaultReadOnly : 생성된 커넥션의 기본 read-only 여부
3. defaultTransactionIsolation : 생성된 커넥션의 기본 트랜잭션 격리 수준
4. defaultCatalog : 생성된 커넥션의 기본 카탈로그
5. connectionInitSqls : ?
6. poolPreparedStatements : Prepared Statements 사용 여부
7. maxOpenPreparedStatements : Prepared Statements 최대 Open 갯수
8. accessToUnderlyingConnectionAllowed : ?
9. minIdle : Idle상태에 풀이 소유한 최소 커넥션 갯수

 

 

Posted by JudgementDay
,

출처 : http://jsonobject.tistory.com/63


* Spring 기반의 프로젝트를 진행한다면 Eclipse보다는 Spring에 특화된 다양한 기능을 지원하는 Spring Tool Suite(이하 STS)를 IDE로 사용하는 것이 정신건강에 좋다.


<Spring Framework 다운로드>

- SPRING FRAMEWORK (spring framework로 구글링 후 접속) > DOWNLOAD > take me to the download page >
spring-framework-3.2.1.RELEASE-dist.zip (다운로드)


<STS 다운로드>

- SPRING TOOL SUITE (sts로 구글링 후 접속) > DOWNLOAD > take me to the download page > spring-tool-suite-3.1.0.RELEASE-e3.8-win32-x86_64-installer.exe (다운로드 후 실행) >

- Select the installation path: C:\Java\STS (STS 설치경로 지정) > Select the JDK path: C:\Java\jdk1.7.0_03 (JDK 설치경로 지정) >

- (STS 실행) > Workspace: C:\Workspace (프로젝트 경로 지정)


<컬러 테마 설정>

- Help > Eclipse Marketplace > Find: Eclipse Color Theme > Install >

- Window > Preferences > General > Appearance > Color Theme > Color Theme: Obsidian > Apply >

- General > Appearance > Colors and Fonts > Basic > Text Font > Edit > Consolas/보통/12 > 확인 > OK


* 영문 글꼴에서 소스 코드로 가장 가독성이 좋은 글꼴은 Consolas가 유명하다. 하지만 한글 글꼴이 제공되지 않으므로 맑은 고딕이 추가된 트윅된 글꼴을 추천한다. 아래 블로그에서 다운로드 가능하다.

http://warmz.tistory.com/648


<Spring MVC 프로젝트 생성>

- File > New > Dynamic Web Project > Project name: (프로젝트명 입력) > New Runtime >

- Apache > Apache Tomcat v7.0 > Create a new local server (체크) >

- Download and Install > Tomcat installation directory: C:\Java\apache-tomcat-7.0.12 > JRE: jdk1.7.0_03

- 다운로드한 Spring Framework 압축해제 후 \libs\*.RELEASE.jar 파일들을 프로젝트의 /WebContent/WEB-INF/lib 디렉토리에 복사


* Spring Framework는 몇가지 라이브러리에 종속성을 가지는데 대표적으로 Apache Commons Logging 라이브러리가 있다. maven commons logging으로 구글링하여 라이브러리를 다운로드하고 앞과 같은 방법으로 복사한다.


<web.xml 작성>

- 프로젝트의 /WebContent/WEB-INF/web.xml 파일을 아래와 같이 작성한다.

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<display-name>Spring MVC Sample Application</display-name>

<servlet>

<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextClass</param-name>

<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>

</init-param>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>com.leeth.mvc.config.SpringConfig</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

</web-app>


* XML 파일이 아닌 Java 클래스로 WebApplicationContextConfig 파일을 작성할 수 있도록 했다. Spring Framework v3.1부터 추가된 기능이다.


<Config 클래스 작성>
package com.leeth.mvc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
@ComponentScan("com.leeth.mvc.*")
public class SpringConfig {
@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}

<Controller 클래스 작성>
package com.leeth.mvc.controller;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class HomeController {
private static final Log log = LogFactory.getLog(HomeController.class);

@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Model model) {
log.info("home");
return "home";
}
}

<.WAR 임포트>
* .WAR로 익스포트한 프로젝트 파일을 다시 STS에서 임포트하는 방법은 아래와 같다.
- File > Import > Web > WAR file >
- WAR file: (임포트할 .WAR 파일 지정) > Web project: (프로젝트명 입력) > Target runtime: Apache Tomcat v7.0 >
- (임포트 후 프로젝트명 우클릭) > Properties > Resource > Text file encoding > Other: UTF-8 >
- JavaScript > Include Path > Source > Edit > Exclusion patterns > Add > **/*.js

'개발환경기본셋팅' 카테고리의 다른 글

[PART1] 개발환경구성하기  (1) 2013.03.26
Posted by JudgementDay
,