1 메모리를 정리해 주자


Window > Perference > General에 보면 Show heap status라는 옵션이 있습니다.

이걸 켜 주시면, 화면 오른쪽 하단에 아래와 같은 아이콘이 생깁니다.

사용하다가, 메모리가 많이 올라 갔다 싶거나, 느려졌네 싶을때 마다, 옆에 쓰레기통 아이콘을 눌러 주세요. 메모리가 확 줄어 듭니다. 그러면 좀 더 쾌적하게 작업을 하 실 수 있을 겁니다.

추가로 메모리는 좀 들긴 하지만 자동 가비지 컬랙션 해주는 플러그인을 설치 하셔도 됩니다.

출처 : http://gyuha.tistory.com/289

'Tip' 카테고리의 다른 글

Eclipse-JadClipse 설정  (0) 2010.05.14
이클립스 줄 번호 보기  (0) 2010.05.12
Appfuse 설치  (0) 2010.04.05
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
Posted by 미스터네오
,

Appfuse 설치

Tip 2010. 4. 5. 18:15

1. https://appfuse-light.dev.java.net/ 싸이트 접속하여 다운로드 클릭

2. 최신버전을 클릭해서 다운 받는다.

3. 자신의 임의 경로에 압축을 풀어 놓는다. 경로 -> D:\dev\workspace_new\appfuse-light-1.8.2

4. 설치를 한 후에 build.xml파일을 열어본다. 제가 체크한 부분에서 CATALINA_HOME만 복사한다.

5. 복사한 후에 시스템 변수를 다시 추가해 준다. 가동할 톰캣서버 경로 설정한다.

6. 경로 설정이 되었으면 cmd창을 열어서 빌드 한다. 위에 3번에 자신이 설치해 놓은 경로로 찾아간다.
찾아간 후에 ant deploy 명령을 입력한다.(처음 실행하시는 분들은 시간이 조금 걸릴 수 있습니다.)

7. 빌드가 다 됬으면 appfuse를 설치해 놓은 경로로 다시 돌아가 보면 아래와 같은 폴더가 생겼다

8. 생긴 폴더 안쪽의 경로를 찾아가다 보면 appfuse-light 라고 폴더가 있는데 그것을 복사한다.
 D:\dev\workspace_new\appfuse-light-1.8.2\${env.CATALINA_HOME}\webapps

9. 복사한 폴더를 설치 되어 있는 톰캣 폴더로 가져간다. 톰캣폴더안에 webapps 폴더안에 붙여 넣는다.
D:\dev\server\apache-tomcat-5.5.28\webapps

10. 붙여넣기가 끝났으면 cmd 창을 열어서 톰캣이 설치되 있는 경로로 찾아간다. 찾아가는데 설치되어 있는 폴더까지가 아니라 bin폴더로 들어간다. 경로로 찾아왔으면 다음 명령어를 넣는다. catalina.bat run

11. 위의 명령을 치면 톰캣 서버가 실행된다. 실행 화면은 아래와 같다

12. 정상적으로 서버가 실행이 되었다면 http://localhost:8080/appfuse-light 로 들어간다.
아래와 같은 화면이 뜬다면 성공이다.

'Tip' 카테고리의 다른 글

이클립스 줄 번호 보기  (0) 2010.05.12
이클립스 속도 올리기  (0) 2010.04.08
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
Posted by 미스터네오
,

Apach ANT 설치

Tools 2010. 4. 5. 15:46

1. http://ant.apache.org/bindownload.cgi 싸이트에 접속하여 최신버전을 다운 받는다.

2. 다운받은 파일을 자신의 원하는 경로에 압축을 풀어준다. 저는 -> D:\dev\server\apache-ant-1.8.0 이렇게 했습니다.

2. 압축을 푼 후에 환경변수 적용을 해줘야 하는데 이전 자료들과 많이 헷갈려서 여기서 고생을 했었다;;ㅠ
    2.1 먼저 시스템 변수에 ANT_HOME을 새로 만들어 준다. 추가를 하면 아래 그림처럼 ANT_HOME이 생긴다.
         (저는 추가 후 편집버튼 클릭 화면 입니다.)

   2. 2 ANT_HOME을 시스템 변수에서 추가 시켰다면 위쪽 변수 사용자 변수 PATH에도 추가를 시켜준다.
         (저는 추가 후 편집버튼 클릭 화면 입니다.)

    2. 3  위 화면까지 작업 완료 후에 마지막으로 다시 시스템 변수에서 Path를 찾은 후 편집을 누르고
           %ANT_HOME%\bin;을 추가해 줍니다. 여기는 %JAVA_HOME%\bin;이 같이 설정되 있는 부분입니다.

3. 위 화면까지 완료 하였으면 확인을 누르고 cmd창을 열어서 ant라는 명령을 쳐본다.
이렇게 뜨면 성공!!!!

'Tools' 카테고리의 다른 글

JRebel Tools  (0) 2010.03.10
JBoss 설정  (0) 2010.03.09
Posted by 미스터네오
,

먼저 제가 현재 사용하는 프로젝트를 정리한 것입니다.

1. quartz-applicationContext.xml의 윗부분에 아래와 같이 선언합니다.


2. 그리고 아래부분들을 추가하는데 말 그대로 그림대로 순서대로 진행해 나아가면 복잡한것 없습니다^^

Business Bean 설정에 보면 targetObject와 targetMethod가 있는데 P□TriggerBiz를 생성해 줬다면, P□TransRun 메소드를 생성해서 P□TriggerBizImpl에 오버라이딩 한 후에 그 메소드를 사용하면 메소드에 있는 일들을 수행합니다.

ps. 쿼츠를 사용하면서 이번에 제가 맡았던 부분인데요 새벽 2시에 매일 이미지 임시 저장공간을 복사해서 옮긴 후 이전 이미지들을 삭제하는 코딩을 하였는데 그부분은 DB에 접속할 필요없이 설정되어 있는 경로를 추가하고 그 경로값으로 자바단에서 처리만으로 해결하는 로직입니다. 이 부분에서 DB즉 Dao부분은 필요가 없게되니까 삭제하시고 설정하셔도 잘 돌아갑니다.ㅎ

'Tip' 카테고리의 다른 글

이클립스 속도 올리기  (0) 2010.04.08
Appfuse 설치  (0) 2010.04.05
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
Posted by 미스터네오
,


1. 라이브러리 다운로드
경로 : http://www.terracotta.org/download/reflector.jsp?b=TCreleases&i=quartz-1.7.2.tar.gz

다운을 받은 후 압축을 해제하면 quartz-1.7.2.jar 파일을 프로젝트 lib 폴더로 복사한다.

2. quartz-applicationContext.xml 에 아래 내용 추가

<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
            xmlns:aop="
http://www.springframework.org/schema/aop"
            xmlns:tx="
http://www.springframework.org/schema/tx"
            xsi:schemaLocation="
http://www.springframework.org/schema/beans
                                            
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                                            http://www.springframework.org/schema/aop
                                            
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
                                            http://www.springframework.org/schema/tx
                                            
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

<!--iBatis를 사용시 -->



   
    
<!-- Bean 설정: Begin -->

    <bean id="quartzDao" class="com.mbiz.core.dao.QuartzDao">
         <property name="sqlMapClient" ref="sqlMapClient"/>
     </bean>

     <!-- Bean 설정: End -->





 
    
<!-- Business Bean 설정:Begin -->

     <bean id="bizUserUpdateJob" class="org.springframework.scheduling.quartz.JobDetailBean">
         <property name="jobClass" value="com.mbiz.core.service.QuartzService"/>
         <property name="jobDataAsMap">
              <map>

               <!-- 여기서 파라미터 형식으로 Dao를 넘겨주어야 인식한다. -->
                   <entry key="quartzDao">
                        <ref local="quartzDao"/>
                   </entry>
              </map>
          </property>
      </bean>

     <!-- Business Bean 설정:End -->



     <!-- cronExpression 설정:Begin -->
     <bean id="bizUserUpdateTrigger"
       class="org.springframework.scheduling.quartz.CronTriggerBean">

     <!-- 생성했던 인스턴스 id를 레퍼런스 해준다. -->
         <property name="jobDetail" ref="bizUserUpdateJob"/>
         <property name="cronExpression" value="0 0 22 * * ?"/> 

         <!-- 시간 설정 부분이다. 이렇게 설정하면 매일 밤 10시에 실행된다. -->
     </bean>
     <!-- cronExpression 설정:End -->



      <!-- scheduler 설정:Begin -->
      <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
          <property name="triggers">
              <list>

    <!--
           최종적으로 반복될 작업에 대한 인스턴스에 대한 레퍼런스를 설정한다. 
           여러가지 클래스를 동시에 작업 진행할 수도 있다.
     -->

                   <ref bean="bizUserUpdateTrigger"/>
              </list>
          </property>
          <property name="quartzProperties">
              <props>

              <!-- 기타 설정들. -->
                  <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
                  <prop key="org.quartz.threadPool.threadCount">5</prop>
                  <prop key="org.quartz.threadPool.threadPriority">4</prop>
                  <prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
                  <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
               </props>
          </property>
     </bean>
      <!-- scheduler 설정:End -->

3. 반복 작업을 하게 될 클래스를 생성(현재 제 회사는 BizImpl로 합니다.)

//QuartzJobBean 클래스를 상속받아 구현한다. 당연히 applicationContext에 설정되어 있는 정보와 맵핑이 되야한다.

public class QuartzService extends QuartzJobBean{

     private QuartzDao quartzDao;

     public void setQuartzDao(QuartzDao quartzDao) {
          this.quartzDao = quartzDao;
     }
     @Override
      protected void executeInternal(JobExecutionContext jobExecutionContext)
             throws JobExecutionException {
             // 반복할 작업 구현

     }
}

Thread 에서의 run 메소드라 생각하면 되겠다.. 이 메소드 내부의 내용이 설정한 시간마다 반복 수행된다.


출처 : http://msgzoro.egloos.com/3034871

'Tip' 카테고리의 다른 글

Appfuse 설치  (0) 2010.04.05
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
editer 설정  (0) 2010.03.10
Posted by 미스터네오
,

가위바위보 게임
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class Game1 {
 public static void main(String[] args) {
  InputStreamReader sr = new InputStreamReader(System.in);
  BufferedReader br = new BufferedReader(sr);
  
  try {
   System.out.print("입력하세요(가위(1), 바위(2), 보(3)) : ");
   
   int user = Integer.parseInt(br.readLine());
   Random rn = new Random();
   int com = Math.abs(rn.nextInt(3))+1;
   
    System.out.println(com);
    
   switch (user){
    case 1:
     user=1;
     System.out.println("가위를 입력하셨습니다.");
     switch(com){
      case 1:
       com=1;
       System.out.println("컴퓨터는 가위입니다. 비겼습니다.");
       break;
      case 2:
       com=2;
       System.out.println("컴퓨터는 바위입니다. 컴퓨터가 이겼습니다.");
       break;
      case 3:
       com=3;
       System.out.println("컴퓨터는 보입니다. 사용자가 이겼습니다.");
       break;
     }
     break;
    case 2:
     user=2;
     System.out.println("바위를 입력하셨습니다.");
     switch(com){
     case 1:
      com=1;
      System.out.println("컴퓨터는 가위입니다. 사용자가 이겼습니다.");
      break;
     case 2:
      com=2;
      System.out.println("컴퓨터는 바위입니다. 비겼습니다.");
      break;
     case 3:
      com=3;
      System.out.println("컴퓨터는 보입니다. 컴퓨터가 이겼습니다.");
      break;
    }
     break;
    case 3:
     user=3;
     System.out.println("보를 입력하셨습니다.");
     switch(com){
     case 1:
      com=1;
      System.out.println("컴퓨터는 가위입니다. 컴퓨터가 이겼습니다.");
      break;
     case 2:
      com=2;
      System.out.println("컴퓨터는 바위입니다. 사용자가 이겼습니다.");
      break;
     case 3:
      com=3;
      System.out.println("컴퓨터는 보입니다. 비겼습니다.");
      break;
    }
     break;
   }
   
  } catch (IOException e) {
   System.out.println("숫자를 제대로 입력하세요");
  }
 }
}

369게임
public class Sam {
    public static void main(String[] args)
    {
          String number = "";
          for(int i=1; i <= 100; i++) {
                number = i + "";
                if(number.indexOf("3")!=-1 || number.indexOf("6")!=-1 || number.indexOf("9")!=-1) {
                 if(i/10 == 3 || i/10 == 6 || i/10 == 9) {
                  if(i%10 == 3 || i%10 == 6 || i%10 == 9){
                   System.out.print("짝");
                  }
                 }
                      System.out.println("짝");
                } else {
                      System.out.println(i);
                }
          }
    }      
}          

 
Posted by 미스터네오
,

이클립스 단축키 정리

Tip 2010. 3. 22. 09:40

출처 : http://calmmass.tistory.com/126

1. Editing( 편집 )

1-1 커서 이동 / Windows 이동
  • Ctrl + D :  줄 삭제
  • Ctrl + Alt + ↑(위)/↓(아래) : 줄 복사
  • Ctrl + Shift + Enter : 현재 줄에서 새줄 추가
  • Shift + Enter : 다음 줄에 새줄 추가
  • Ctrl + L : 원하는 라인으로 이동
  • Ctrl + →(Right) : 다음 문자로 이동 
  • Ctrl + →(Left) : 이전 문자로 이동
  • F10 : 메뉴창을 활성화
  • Ctrl + F8 : 다음 Perspective로 이동
  • Ctrl + N :  새로운 파일 및 프로젝트 생성
  • Ctrl + Shift + ↓(Down) : Java Editor에서 다음 member로 이동
  • Alt + < : 이전 작업 화면
  • Alt + > : 다음 작업 화면
  • Ctrl + 1 : 컴파일 에러가 발생한 곳에서 Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시
1-2 주석
  • Ctrl + Shift + / : 주석 처리 
  • Ctrl + Shift + \ : 주석 풀기
  • Ctrl + / : 라인별로 주석처리

1-3 검색
  • Ctrl + J : 점증적 검색(키 수행 후 원하는 단어 입력하면 이클립스 하단바에서 찍히고 바로 검색 가능
  • Ctrl + K : 다음 찾기
  • Ctrl + Shift + K : 이전 찾기 
  • Ctrl + H : 검색 다이얼로그(메서드, 타입, 패키지 등 검색 가능
1-4 Tab 기능 / 코드어시스트
  • Tab : 들여 쓰기
  • Shift + Tab : 내여 쓰기
  • Ctrl + Space bar : 코드어시스트(키보드 Type3을 쓸 경우에는 왼쪽 Ctrl을 누른 상태에서 오른쪽 Ctrl을 누르고 왼쪽 Ctrl을 뗀 후에(오른쪽  Ctrl은 누른 상태) Space를 눌러 준다.)
1-5 기타
  • Ctrl + Shift + M : 특정 클래스  Import 시키기
  • Ctrl + Shift + O : 자동으로 Import 시키기
  • Ctrl + Shift + F : 코드 자동으로 정리 시키기
  • Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다.
1-6 Information
  • Ctrl + Shift + R : 리소스 찾기
  • Ctrl + O : 레이어로 현재 파일의 Outline 보여줌
  • Ctrl + T : 레이어로 계층 구조 보여짐
  • F3 : 해당 메서드나 클래스가 정의된 곳으로 이동




2. Navigation 

2-1 에디터간의 이동
  • Ctrl + E : 에디터안에서 열린 파일간의 이동(작은 레이어로 뜬다.)
  • Ctrl + Shift + E : 에디터안에서 열린 파일간의 이동
  • Ctrl + F6 : 에디터안에 열린 파일간 이동하는데 F6 누를 때마다 하나씩 순차적으로 넘어감
  • Ctrl + F7  :  다음 View로 이동
  • Ctrl + Shift + F7 +  :  이전 View로 이동
  • Ctrl + F8 : 퍼스펙티브 간 전환
  • F12 : 컴파일 중 에러 등으로 포커스가 다른데로 갔을 때 Editor로 커서 이동

3. Debugging(디버깅)

3-1 디버깅 단축키

  • Ctrl + Shift + B : 현 커서의 위치에 브레이크 포인터 설정/해제
  • F11 : 디버깅 시작
  • F8 :  디버깅 계속
  • F6 : 한줄씩 실행(Step Over)
  • F5 : 한줄씩 실행 하되 함수일 경우 그 함수 내부로 들어감(Step Into)
  • Ctrl + R : 현재 라인까지 실행(Run to Line)

4. Run (컴파일 및 실행)

  • Ctrl + S : 자동으로 컴파일
  • Alt + Shift + X , J : Run Java Application (Alt + Shift + X 그외 여러가지 옵션이 있다.)


'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
CVS 접속 프로젝트 다운  (0) 2010.03.10
editer 설정  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,

JRebel Tools

Tools 2010. 3. 10. 19:06
rmfja
1. http://www.zeroturnaround.com/ 싸이트에 접속

2. JRebel 에서 다운로드 클릭

3. 우측의 downloads archive를 클릭

4. 맨위의 파일을 다운

5. 압축을 풀고 압축을 푼 파일을 아래 그림과 같은 경로로 복사한다.

6  처음에 받아서 풀었던 압축파일에서 .jar파일을 추가해준다.


7 복사를 한 후에 Help -> install new software를 클릭한후 아래 싸이트를 추가한다.
    http://www.zeroturnaround.com/update-site/

8 위의 사이트에서 업그레이드를 끝내면 적용시킬 해당프로젝트에 마우스 우클릭후 그림과 같은 xml을 클릭한다.

9 xml설정은 아래의 경로와 같이 추가 시킨다.

10. xml설정이 끝나면 아래 서버를 더블클릭한다.

11. 더블클릭 후 서버 설정이 나오는데 아래 그림과 같이 체크를 해주고 ctrl+s 저장을 해준다.

12. 저장 후 이클립스 설정에서 아래와같이 추가한다.


13. 그림과 같이 추가

14. 설치가 완료되면 아래와 같은 화면이 뜬다.
저는 JBoss에서 실행하기 때문에 직접 적용된 화면을 보여드리겠습니다.

적용이 완료된 화면입니다. 근데 JRebel은 기간이 30일 정도밖에 안됩니다;; 그래서 기간이 지나면 재설치 해주어야 하는데
재설치는 1~6번과 8~13까지 다시하면 되겠습니다. 새로 다운받은 파일을 이전것을 지우고 덮어씌우고 재설정 해주면 제대로 적용되겠습니다. 그리고 서버 시작시 남은 기간 날짜가 나오게 되는데 위 사진에서 8번째 즈음에 보면 23 days라고 나와있습니다. 이 기간이 지나면 설치가 되어있어도 JRebel이 적용이 안되니 다시 설치하시기 바랍니다^^

'Tools' 카테고리의 다른 글

Apach ANT 설치  (0) 2010.04.05
JBoss 설정  (0) 2010.03.09
Posted by 미스터네오
,

CVS 접속 프로젝트 다운

Tip 2010. 3. 10. 18:02
1. Pakage Explorer에서 마우스 오른쪽 클릭 -> new -> Project클릭

2. CVS-Projects from CVS 클릭

'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
editer 설정  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,

editer 설정

Tip 2010. 3. 10. 17:03
1. window -> properties

2. 왼쪽 메뉴 Editors -> File Association -> 중간 메뉴에서 *.proterties -> 우특아래 Default버튼 클릭 -> OK 클릭

'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,