POJO JAVA란? (Plain Old Java Object) : 순수한 자바 오브젝트를 의미 EJB에 종속성때문에 굉장히 많은 비용과 불편함이 발생되었다. 그래서 POJO로 코딩하자. 1. 특정 규약에 종속 되지 않는다. 특정 Library, Module 에서 정의된 클래스를 상속받아서 구현하지 않아도 된다. POJO가 되기 위해서는 외부의 의존성을 두지 않고 순수한 JAVA로 구성이 가능해야한다. 2. 특정 환경에 종속되지 않는다. 만일 특정 비즈니스 로직을 처리하는 부분에 외부 종속적인 http나 servlet request, session 등은 POJO를 위배 한 것으로 간주한다. 또한 많이 사용하고는 있지만 @Annotation 기반으로 설정하는 부분도 엄연히는 POJO라고 볼수는 없다. 이러..
개방 폐쇄 원칙의 가장 대표적인 예시로써 JDBC interface를 들 수 있다., 외부적으로는 여러개의 DB들을 사용할 수 있다. 이때 이것을 직접 연결하면 DB에 연결할 수록 계속 변경되어야하는데 이를방지하기 위해서 JDBC 인터페이스를 두고 계속 다른 DB가 추가되어도 JDBC만 수정하면 되도록 하는 것이다. 이런식으로 Application과는 내부적으로 단 1개의 통로를 가지고 폐쇄적이고 바깥쪽으로는 n개의 개방적으로 확장될 수 있도록 설계하는 것이 개방 폐쇄 원칙을 잘지켜서 프로그래밍하는 것이다. 이런식으로 JDBC interface는 DBMS의 종류와 관계없이 DB를 조작하기 위한 JAVA API이다.
Maven vs Gradle 1. Gradle은 작업 의존성 그래프를 기반으로 하는 반면 Maven은 고정적이고 선형적인 단계의 모델을 기반으로 하고 있다. 2. 성능 측면에서는 둘 다 다중 모듈 빌드를 병렬로 실행 할 수 있다. 그런데 Gradle의 경우 어떤 task가 업데이트 되었고 안되었는지를 체크하기 때문에 incremental build를 허용 한다. 이미 업데이트된 task에 대해서는 작업이 실행되지 않으므로 빌드 시간이 훨 씬 단축된다. 3. Maven의 경우 멀티 프로젝트에서 특정 설정을 다른 모듈에서 사용하려면 상속을 받아야 하지만, Gradle은 설정 주입 방식을 제공한다. Maven Gradle Java를 사용하여 프로젝트 빌드 자동화에 주로 사용되는 압축 소프트웨어 프로젝트 관리 ..
#Spring의 주요특징 1. POJO 기반의 구성 2. 의존성 주입을 통한 객체 간의 관계구성 3. AOP(Apect-Oriented-Programing)지원 4. WAS의 종속적이지 않은 개발환경 1. POJO 기반의 구성 스프링은 다른 프레임 워크랑은 다르게 관계를 구성할 때 별도의 API 등을 사용하지 않는 POJO(Plain Old Java Object)의 구성만으로도 가능하도록 제작되어있다. 즉 Java Code를 이용해서 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있다는 얘기이다. 이것이 시사하는 바는 개발할 때 개발자가 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않다는 것을 의미하기 때문이다. 2. 의존성주입(DI)을 통한 객체 간의 관계 구성 컴퓨터 조립시 메인보드에 맞춰서..
다음의 내용들은 프로페셔널의 조건이라는 책의 일부 내용이다. 1Q : 조직이 변화에 대응하기 위해서는 높은 수준의 분권화가 요구된다. 1A : 조직은 의사 결정을 신속하게 할 수 있도록 구조화 되어야 하기 때문에 그 의사 결정들은 성과와 시장과 기술에 밀착하여 적절하게 내려져야 하며, 혁신의 기회를 제공하는 사회와 환경 그리고 인구 구조와 지식에서의 모든 변화에 대응할 수 있도록 적절하게 내려져야 한다. 기업의 선택은 시장을 반영해야함과 동시에 해당 기업이 보유하고 있는 기술이 혁신의 기회를 제공하는지 기업이 창출해내는 가치가 사회와 환경 그리고 인구구조와 지식에서의 모든 변화에 대응 할 수 있어야함. 기업들은 장인 기술을 배우기 위해 수년간 노력한 나이 많은 모형 기술자를 내보내고 컴퓨터 시뮬레이션을 ..