달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'I.tistory()'에 해당되는 글 290

  1. 2010.03.24 Spring ppt 모음 1
  2. 2010.03.24 Spring Tutorial
  3. 2010.03.24 Javap 란? (자바 역어셈블러) 1
  4. 2010.03.23 21일차
  5. 2010.03.23 [IBatis] 결과가 NULL 일때 대처방법.
  6. 2010.03.23 POJO (Plain Old Java Object) 란?
  7. 2010.03.22 20일차 1
  8. 2010.03.22 페이스북,트위터 기능
  9. 2010.03.19 19일차
  10. 2010.03.18 18일차
2010. 3. 24. 16:33

Spring ppt 모음 I.lib()/I.lib(Spring)2010. 3. 24. 16:33

.. .. ..

'I.lib() > I.lib(Spring)' 카테고리의 다른 글

Spring Annotation (스프링 어노테이션)  (1) 2010.04.06
Spring 트랜잭션 격리 수준, 전달 행위의 값  (0) 2010.04.02
AOP 용어  (0) 2010.03.26
Spring Tutorial  (0) 2010.03.24
Spring - JPetStore[1]  (0) 2010.03.16
.
:
Posted by .07274.
2010. 3. 24. 16:31

Spring Tutorial I.lib()/I.lib(Spring)2010. 3. 24. 16:31

.. .. ..
Oracle & Java에서 받은 자료.


'I.lib() > I.lib(Spring)' 카테고리의 다른 글

Spring Annotation (스프링 어노테이션)  (1) 2010.04.06
Spring 트랜잭션 격리 수준, 전달 행위의 값  (0) 2010.04.02
AOP 용어  (0) 2010.03.26
Spring ppt 모음  (1) 2010.03.24
Spring - JPetStore[1]  (0) 2010.03.16
.
:
Posted by .07274.
2010. 3. 24. 10:00

Javap 란? (자바 역어셈블러) I.lib()/I.lib(Java)2010. 3. 24. 10:00

.. .. ..

java를 설치하면, bin 디렉토리 내에 다양한 실행파일들이 설치가 됩니다.

 하지만, 일반적으로 사용하는 것은 javac와 java가 대부분이죠..

 bin 디렉토리 내부를 잘 보면, javap 라는 실행파일도 있습니다.

 이글의 주제는 바로 이 javap 에 대한 얘기가 되겠습니다.

 javap는 간단하게 설명하면, 클래스 파일의 역어셈블하는 실행파일입니다.

 여기서 역어셈블이라는 것이 중요한데요, 역컴파일과는 사뭇 다릅니다.

 역컴파일은 클래스 파일을 가지고 원래 소스로 변환하는 것을 말하지만, 역어셈블은 클래스 파일의 내부의 기본 구조와 역어셈블코드(JVM의 바이너리 코드)만을 나오게 됩니다.

 특정 클래스의 내부 전체를 보고 싶은 경우는 역컴파일러를 이용하셔야 하고, 클래스 내부의 상수/함수들의 목록을 간단히 보고자 할때는 javap를 이용하는 것이 대부분입니다.

 이를 통해서 symbol not found 같은 에러를 찾는데 도움이 됩니다.

 

* 실행예

Integer 클래스의 javap 결과를 보겠습니다.

 public final class java.lang.Integer extends java.lang.Number implements java.lang.Comparable{
    public static final int MIN_VALUE;
    public static final int MAX_VALUE;
    public static final java.lang.Class TYPE;
    static final char[] digits;
    static final char[] DigitTens;
    static final char[] DigitOnes;
    public static java.lang.String toString(int,int);
    public static java.lang.String toHexString(int);
    public static java.lang.String toOctalString(int);
    public static java.lang.String toBinaryString(int);
    public static java.lang.String toString(int);
    static void appendTo(int,java.lang.StringBuffer);
    public static int parseInt(java.lang.String,int);
       throws java/lang/NumberFormatException
    public static int parseInt(java.lang.String);
       throws java/lang/NumberFormatException
    public static java.lang.Integer valueOf(java.lang.String,int);
       throws java/lang/NumberFormatException
    public static java.lang.Integer valueOf(java.lang.String);
       throws java/lang/NumberFormatException
    public java.lang.Integer(int);
    public java.lang.Integer(java.lang.String);
       throws java/lang/NumberFormatException
    public byte byteValue();
    public short shortValue();
    public int intValue();
    public long longValue();
    public float floatValue();
    public double doubleValue();
    public java.lang.String toString();
    public int hashCode();
    public boolean equals(java.lang.Object);
    public static java.lang.Integer getInteger(java.lang.String);
    public static java.lang.Integer getInteger(java.lang.String,int);
    public static java.lang.Integer getInteger(java.lang.String,java.lang.Integer);
    public static java.lang.Integer decode(java.lang.String);
       throws java/lang/NumberFormatException
    public int compareTo(java.lang.Integer);
    public int compareTo(java.lang.Object);
    static {};

[출처] javap의유용성|작성자 하자두


'I.lib() > I.lib(Java)' 카테고리의 다른 글

JNDI 란?  (1) 2010.04.08
자바 리플랙션 (Java Reflection)  (1) 2010.03.29
자바의 abstract와 인터페이스(Interface)  (0) 2010.03.24
POJO (Plain Old Java Object) 란?  (0) 2010.03.23
클레스 어샘블리. (Class -> Java )변환  (1) 2010.03.05
.
:
Posted by .07274.
2010. 3. 23. 21:53

21일차 I.edu()/I.edu(S&S)2010. 3. 23. 21:53

.. .. ..
교육 ppt
* 7~8시
   - Review  (Tiers)
   - Spring Architecture

* 8~9시
   - Spring Architecture
      + ( 구조 : Web , DB , DTO , DAO , Biz )를 적은 자원을 가지고 데이터 핸들링을 하고
         최소의 Source 수정을 위해 만들진 것이 Framework.
      + POJO(Plain Old java Object) : 평범 자바 오브젝트 ( 기타 문서 보기)
         EJB의 사용중 단점이 많아 EJB이전 방식으로 돌아가며 단점을 버리고 장점만 가지며
         EJB를 넘어 그보다 더 앞으로 나가기 위해 나옴.
      + 소스 Open 해보기.
          1. jdk (1.3 이상)   2 . Tomcat (3.0이상)
          (모든 기술은 이 안에 있으니 이 방법대로 코딩 하는것이 정석)

*9~10시
     - javap XXX     , javap -verbose XXX  . 자바를 이해하기 쉽다.

     - Spring Introduction
        
        + Spring Core: Spring : 프레임워크의 근간이 되는 IoC(또는 DI) 기능을 지원하는 영역을 담당하고 있다.
BeanFactory 를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원한다.

        + Spring Context : Spring Core 바로 위에 있으면서 Spring Core에서 지원하는 기능외에 추가적인 기능들과
좀 더 쉬운 개발이 가능하도록 지원하고 있다. 또한 JNDI, EJB등을 위한 ADaptor들을 포함하고 있다.
(어떤 위치에 무엇이 있는지 위치를 찾기 위해 존재한다. "ADD" 찾은후 어떻게 할지 (저장, 삭제, 이동등) 결정할수 있다. )

        + Spring DAO : 지금까지 우리들이 일반적으로 많이 사용해왔던 JDBC 기반하의 DAO 개발을 좀 더 쉽고 일관된 방법
으로 개발하는 것이 가능하도록 지원하고 있다. Spring DAO 를 이용할 경우 지금까지 개발하던
DAO보다 적은 코드와 쉬운 방법으로 DAO 를 개발하는 것이 가능하다.

        + Spring ORM : Object Relation Mapping 프레임워크인 Hibernate, iBatis, JDO 와의 결합을 지원하기 위한
기능이다. Spirng ORM 을 이용할 경우 Hibernate, iBatis, JDO 프레임워크와 쉽게 통합하는
것이 가능하다 

        + Spring AOP : Spring 프레임워크에 Aspect Oriented Programming 을 지원하는 기능이다. 이 기능은 AOP Alliance
 기반하에서 개발되었다.

        + Spring Web : Web Application 개발에 필요한 Web Application Context와 Multipart Request등의 기능을 지원한다.
 또한 Struts, Webwork와 같은 프레임 워크의 통합을 지원하는 부분을 담당한다.

        + Spring Web MVC : Spring 프레임워크에서 독립적으로 Web UI Layer에 Model-View-Controller를 지원하기 위한
기능이다. 지금까지 Struts, Webwork 가담당했던 기능들을 Spring Web MVC를 이용하여  대체하는 것이 가능하다. 또한 Velocity, Excel, PDF와 같은 다양한 UI 기술들을 사용하기 위한 API를 제공하고 있다.




 
 


.

'I.edu() > I.edu(S&S)' 카테고리의 다른 글

23일차  (1) 2010.03.25
22일차  (0) 2010.03.24
20일차  (1) 2010.03.22
19일차  (0) 2010.03.19
18일차  (0) 2010.03.18
.
:
Posted by .07274.
.. .. ..


null처리 방식이 여러방법이있겠지만   아이바티스로만 알려드리겠습니다.(다른방법은.... DTO에서 처리 또는

인설트 하는 jsp아님 struts면 액션클래스에서 처리를 해주셔야겠지요...)

 

<sqlMap>
 
 <typeAlias alias="login" type="example.chapter10.login.loginVO" />

<resultMap id="loRes" class="login">
   <result property="id" column="id" nullValue="" />
  </resultMap>

  <sql id="jungbok">
   select id from login
  </sql>
  
  <select id="jungbokId"  resultMap="loRes">
   <include refid="jungbok"/>
    where id = #id#
  </select>

</sqlMap>

 이부분에서  resultMap에서 nullValue="" 설정해주시구요.... 말그대로 리턴될 resultMap에서 nullValue는 영어 그대로 null값입니다. 더쉽게 말해서 이 필드가 리턴될때 null값이면 nullValue에 있는 값으로 대체한다는거지요.....

 또한 DB table을 작성할시 예로..

<insert id="boardinsert" parameterClass="tempClass">
        insert into test(num,name) values(test_SEQ_num.nextval,#name:VARCHAR:NO_ENTRY#)

</insert>

 이경우는 test테이블에 추가를한다고 가정하면  위에 빨강색 글씨로 된부분처럼 #name:VARCHAR:NO_ENTRY# 이렇게 써주면 null처리가 됩니다. 당연.... 테이블 작성시 name필드는

null이 허용이 되게 만들어야겠지요...

 

 마지막으로 여담인데.... sitemesh를 이용하시는거 같아요 즉 struts2 sitemesh플러그인를 사용하시는건가봐요??? 1,2년전부터 sitemesh를 많이 사용한다고 하지만... 최근 tile2가 인기가 급상승 되었다고 합니다. 저도 써본결과 sitemesh는 사용하기는 쉽고 편하지만.. 부하가 많이 걸리고 tile2보다는 재사용성에서 떨어져서 그런거 같습니다. 공부하는 사람이라면 tiles2도 함께 알아두시면 좋을것 같습니다...tiles2도 Layout꾸며서 활용하는거에서는 개념이 같습니다......

.
:
Posted by .07274.
2010. 3. 23. 20:29

POJO (Plain Old Java Object) 란? I.lib()/I.lib(Java)2010. 3. 23. 20:29

.. .. ..

POJO (Plain Old java Object) 를 해석하면 평범 자바 오브젝트라고 한다.
POJO를 이해 하기 전  POJO라는 단어가 만들어진 역사적 배경을 살펴볼 필요가 잇다. POJO는 마틴 파울러가  2000년 가을에 열렸던 어느 컨퍼런스의 발표를 준비하면서 처음 만들어낸 말이다. 마틴 파울러는EJB(Enterprise JavaBean)보다는 단순한 자바 오브젝트에 도메인 로직을 넣어 사용하는 것이 여러가지 장점이있는데도 왜 사람들이 그 EJB가 아닌 '평범한자바 오브젝트'를 사용하기를 꺼려 하는지에 대해 의문을 가졌다. 그리고 그는 단순한 오브젝트에는 EJB와 같은 그럴듯한 이름이 없어어서 그 사용을 주저하는 것이라고 결론 내렸다.
  그래서 만든 단어가 POJO라는 용어인 것이다. POJO기반의 기술을 사용한다고 말하면 왠지 첨단 기술을 사용하는 앞선 개발자인 듯한 인상을 주기 때문인다.

POJO기반의 프로그래밍 기술이 EJB의 강력한 대안으로 등장했고 ,POJO 기반 프레임워크 ,POJO 애플리케이션을 위한 플랫폼 등이점점 인기를 끌게 되었고, 결국 POJO가 배제하려고 했던 EJB는 POJO기반의 기술에 밀려 이제 레거시 기술로 사라질 위기에처했다. 그렇다면 단지 EJB를 사용하지 않으면 모두 POJO라고 할 수 있을까? 그렇지 않다. POJO프로그래밍이라는 개념은단지 "EJB가 아닌 자바"이상의 특징을 가지고 있는 프로그래밍 모델이다. POJO기반의 개발은 생각보다 단순하지 않다.
  POJO를 좀더 이해하려면 EJB의 장단점을 함께 이해해야 한다. 그것은 POJO 프로그래밍이 다시 EJB시대이전으로 돌아 가자는 것이 아니고 ,EJB를 넘어 그보다 더 앞으로 나아가자는 것이기 때문이다.
EJB를 사용하지 말고 POJO를 쓰자는 것은  EJB이전의 방식으로 돌아 가는 것을 의미한다면 또 다른 문제가 발생 할 수 밖에없다. 여전히 복잡한 로우레벨의 API를 이용해 코드를 작성해야 하고, 많은 기술적인 문제를 애플리케이션 코드에 그대로 노출시켜개발해야 한다면 기껏 POJO로의 복귀 덕분에 얻는 많은 장점들을 놓칠 수 밖에 없다.

  그래서 등장한 것이 POJO 기반의 프레임워크이다. POJO프레임워크는 POJO를 이용한 애플리케이션 개발이 가진 특징과 장점을 그대로 살리면서 EJB에서 제공하는 엔터프라이즈 서비스와 기술을 그대로 사용할 수 있도록 도와주느 프레임워크이다. 나아가 이는 기존의 EJB에서보다 훨씬 더 세련되고 나은 방법이다. 데표적인 프레임웤 스프링 하이버네이트~!

참고로 스프링은 엔터프라이즈 서비스들을 POJO기반으로 만든 비지니스 오브젝트에서 사용할 수 있게 한다. 대표적인 선언적인트랜잭션 서비스와 보안이다. 또한 EJB와 마찬가지로 오브젝트 컨테이너를 제공해서 인스턴스의 라이프사이클을 과리하고 필요에 따르스레딩, 풀링 및 서비스 인젝션 등의 기능을 제공한다. 또한 OOP를 더  OOP답게 사용 할 수있게 하는 AOP기술을 적용해서POJO개발을 더 쉽게 만든다.

POJO프로그램의 진정한 가치는 자바의 객체지향적인 특징을 살려 비지니스 로직에 충실한 개발이 가능 하도록 하는것이기도 하다.

------------------------------------------------------------------------------------------

내생각을 적자면
평범한 자바 객체로 프로그래밍 하기라고 부르며, 침략적인 코드를 적지 않은 것이다.
쉽게 말해 implement 와 extends를 사용 하지 않으며
콤포지션과 인터페이스타입으로 프로그래밍 하는것(이건 레디 존슨)

특정 클래스의 concrete class가 되면 안되고, 구현 체도 되면 안된다.


[출처] POJO (Plain Old java Object)란?|작성자 네모

'I.lib() > I.lib(Java)' 카테고리의 다른 글

JNDI 란?  (1) 2010.04.08
자바 리플랙션 (Java Reflection)  (1) 2010.03.29
자바의 abstract와 인터페이스(Interface)  (0) 2010.03.24
Javap 란? (자바 역어셈블러)  (1) 2010.03.24
클레스 어샘블리. (Class -> Java )변환  (1) 2010.03.05
.
:
Posted by .07274.
2010. 3. 22. 21:53

20일차 I.edu()/I.edu(S&S)2010. 3. 22. 21:53

.. .. ..

Spring Batch 최우선 순위
1. Query.
2. 야간 배치 - 1. 업무 이해.
                    2. 일괄 배치 OLTP ( Nested Loop Join, 대량 일괄 처리 솔루션 )
3. Real 배치 - 1. 온라인 웹페이지.
                    2. Hash Join 사용.

* 7~8시
  학습 방향

*8~9시
Software Architecture

ㅇ 2-Tier와 3-Tier의 설명

티어를 구분할 때, H/W 관점에서도 볼 수 있으나, 아래는 S/W 관점에서의 2-Tier와 3-Tier를 비교 설명한 것이다.

 

(1) 2-Tier

: 클라이언트 사이드에 프리젠테이션/비즈니스 로직을 작성하고, 서버 사이드에는 데이터베이스가 위치한다.

- 예: 4GL 툴(파워빌더, 비쥬얼 베이직, 델파이 등)에서 SqlNet(Oracle), I*Net(Informix) 드라이버를 이용하여, 직접적으로 데이터베이스 접근하여 시스템을 구축 함

 
(2) 3-Tier

: 클라이언트 사이드에 프리젠테이션 로직을 작성하고, 서버 사이드에 비즈니스 로직과 데이터베이스가 위치 함(여기에서 데이터 베이스와 어플리케이션 서버는 동일 또는 다른 머신에 존재할 수 있음)

- 예: 4GL 툴에서 직접 데이터베이스에 접근하지 않고, 미들웨어 클라이언트와 서버 모듈을 통해 데이터베이스를 접근 함. 비즈니스 로직은 서버측의 미들웨어 기반 위에 수행 되고 관리가 된다.

ㅇ 장단점 비교표

 

2-Tier

3-Tier

개발 편의성 측면

4GL 등을 사용하여 작성 용이 .

보통 프리젠테이션 로직(주로 4GL 개발) 비즈니스/데이터 접근 로직(주로 C/C++,COBOL 언어 사용) 별도로 작성하므로 2-Tier 비해 개발이 불편

확장성 측면

좋지 않음

이기종 H/W 증설 또는 이기종 데이터베이스가 구축되어도 데이터 정합성 보장할 있어 확장성이 뛰어남.

재사용성 측면

모든 로직이 클라이언트에 존재하고, 4GL 툴과 관련되므로 4GL 툴이 변경 시에 모든 로직을 재개발 하여야 .

 

 

 

동일한 비즈니스 로직을 필요로 하는 프리젠테이션 로직을 다양하게 구현할 있음. 비즈니스 로직을 모듈화하여 클라이언트/서버 환경과 웹환경에서 동시에 사용 가능함.

성능 측면

동시 사용자 수가 증가 함에 따라 성능이 급격히 저하

동시 사용자 수가 증가해도 일정한 응답속도와 처리량을 보장

자원 활용 측면

H/W 자원(CPU, 메모리 ) 데이터베이스 자원을 비효율적으로 사용

미들웨어에서 부하 분산, 큐잉 메커니즘을 통해 효율적으로 자원 활용

시스템 관리 측면

모니터링 관리가 용이하지 못함

처리되고 있는 어플리케이션 정보, 프로그램별 처리 건수 다양한 모니터링이 가능하여 관리 모니터링이 용이

 


*9~10시
 Architecture
   - Non EJB
   - Classic EJB

** 어려워 이해가 모자람.**



'I.edu() > I.edu(S&S)' 카테고리의 다른 글

22일차  (0) 2010.03.24
21일차  (0) 2010.03.23
19일차  (0) 2010.03.19
18일차  (0) 2010.03.18
17일차  (0) 2010.03.18
.
:
Posted by .07274.
2010. 3. 22. 16:58

페이스북,트위터 기능 I.lib()/I.lib(etc)2010. 3. 22. 16:58

.. .. ..

'I.lib() > I.lib(etc)' 카테고리의 다른 글

ojdbc14 // 부적합한 열 유형 에 대한 대처법. // oracle  (3) 2010.09.06
[펌] 호스트 파일 ( Hosts file )  (1) 2010.08.13
아이폰 개발자 등록 절차  (0) 2010.06.25
OSGi 란?  (0) 2010.05.27
WiseGrid  (0) 2010.03.15
.
:
Posted by .07274.
2010. 3. 19. 21:14

19일차 I.edu()/I.edu(S&S)2010. 3. 19. 21:14

.. .. ..
*7 ~10시
Ajax 특강.
에이작스?,아젝스?


-
Good bye. th.and struts2

'I.edu() > I.edu(S&S)' 카테고리의 다른 글

21일차  (0) 2010.03.23
20일차  (1) 2010.03.22
18일차  (0) 2010.03.18
17일차  (0) 2010.03.18
16일차  (0) 2010.03.16
.
:
Posted by .07274.
2010. 3. 18. 21:47

18일차 I.edu()/I.edu(S&S)2010. 3. 18. 21:47

.. .. ..
*7~9시
Structs2 + Wisegrid + 기타등등.. = board
*9~10시
           롯데 정보 통신 Sample & Resource

'I.edu() > I.edu(S&S)' 카테고리의 다른 글

20일차  (1) 2010.03.22
19일차  (0) 2010.03.19
17일차  (0) 2010.03.18
16일차  (0) 2010.03.16
15일차  (0) 2010.03.15
.
:
Posted by .07274.