전체 글(524)
-
POJO(Plain Old Java Object)
POJOPOJO(Plain Old Java Object)는 자바에서 사용되는 용어로, 특별한 제약이나 종속성을 가지지 않고 일반적인 자바 객체를 말합니다. 이 용어는 자바 기술의 복잡성을 줄이기 위해 코딩 시 간단하고 투명한 방법을 사용하자는 개념에서 유래했습니다. POJO는 다음과 같은 특징을 가지고 있습니다:간단성: POJO는 복잡한 프레임워크 인터페이스나 클래스를 상속받지 않습니다. 대신, 표준 자바 클래스로서 필요한 필드, 메서드(게터와 세터 포함)를 가지며, 다른 일반 자바 객체처럼 작동합니다.재사용 가능성과 테스트 용이성: POJO는 의존성이 적기 때문에 다른 환경에서 재사용하기 쉽고, 단위 테스트하기에도 간편합니다.투명성: POJO는 특정 프로토콜이나 환경에 종속되지 않기 때문에 코드의 명확..
2023.05.01 -
Separation of Concerns(관심사 분리)
관심사의 분리(Separation of Concerns) 원칙 설명"관심사의 분리(Separation of Concerns, SoC)"는 소프트웨어 설계에서 중요한 원칙 중 하나입니다. 이 원칙은 각 부분이 자신의 관련된 기능만을 담당하도록 하여 코드의 가독성을 높이고, 유지보수를 쉽게 하며, 오류 발생 가능성을 줄이는 데 목적이 있습니다. 자바에서는 클래스를 통해 관심사를 분리할 수 있으며, 다양한 방법으로 구현될 수 있습니다. 대표적인 예로는 모듈화, 계층화, 컴포넌트 기반 개발 등이 있습니다.자바 예제: 쇼핑 애플리케이션이 예제에서는 간단한 쇼핑 애플리케이션을 만들어 보겠습니다. 주요 구성 요소는 상품 정보를 관리하는 Product, 데이터베이스 접근을 담당하는 ProductDao, 비즈니스 로직을..
2023.05.01 -
Maven Build System
보호되어 있는 글입니다.
2023.05.01 -
Java Dynamic Proxy Classes
Introduction다이나믹 프록시 클래스는 런타임에, 지정된 인터페이스 리스트를 구현하는 클래스입니다. 이러한 클래스의 인스턴스를 통해 인터페이스의 메서드를 호출하면 해당 호출이 인코딩되어 다른 객체로 전달됩니다.[structuring method calls]이 객체는 일관된 인터페이스를 통해 호출을 처리하게 됩니다. 따라서 다이나믹 프록시 클래스는 컴파일 타임 도구를 사용하지 않고도 인터페이스 목록에 대한 타입 안전한 프록시 객체를 생성하는 데 사용할 수 있습니다.[type-safe proxy object]다이나믹 프록시 클래스의 인스턴스에서 메서드가 호출되면, 이 호출은 해당 인스턴스의 Invocation Handler에 있는 단일 메서드[invoke]로 전달되며, 호출된 메서드를 식별하는 jav..
2023.04.28 -
AJP (Apache JServ Protocol) Connector
AJP (Apache JServ Protocol) Connector는 Apache Tomcat 서버와 Apache HTTP 서버 같은 웹 서버 간의 빠르고 효율적인 통신을 위한 바이너리 프로토콜로, 로드 밸런싱과 클러스터링 환경에서 주로 사용됩니다. 이 프로토콜은 HTTP보다 빠르고 효율적이며, 네트워크 오버헤드를 줄여 성능을 향상시키는 데 중요한 역할을 합니다.Apache Tomcat 서버와 Apache Http 서버는 별개의 서버입니다. Apache Tomcat 서버를 흔히, Tomcat 서버라 합니다. 이 두 서버는 성격이 다릅니다. Tomcat 서버는 동적 웹 페이지를 호스팅하는 부분에 더 특화(물론 정적 웹 페이지도 호스팅할 수 있음)되어 있는 반면, Apache Http 서버는 정적 웹 페이지..
2023.04.28 -
Bean Definition Inheritance
빈 정의(Bean Defintion)는 컨스트럭터 아규먼트, 속성 값, 그리고 초기화 메서드나 정적 팩토리 메서드 이름과 같은 컨테이너별 정보를 포함하는 많은 구성 정보를 포함할 수 있습니다. 자식 빈 정의는 부모 정의의 구성 데이터를 상속받을 수 있습니다. 자식 정의는 필요한 경우 일부 값을 재정의하거나 다른 값을 추가할 수 있습니다. 부모와 자식 빈 정의를 사용하면 입력해야 할 내용을 많이 줄일 수 있으며, 이는 일종의 템플릿 기능으로 효과적으로 작용합니다. 만약 프로그래밍 방식으로 ApplicationContext 인터페이스를 사용한다면, 자식 빈 정의는 ChildBeanDefinition 클래스로 표현됩니다. 대부분의 사용자는 이 레벨에서 작업하지 않으며, 대신 ClassPathXmlApplica..
2023.04.28