분류 전체보기(333)
-
Bean Definition Inheritance
빈 정의는 생성자 아규먼트, 속성 값, 그리고 초기화 메서드나 정적 팩토리 메서드 이름과 같은 컨테이너별 정보를 포함하는 많은 구성 정보를 포함할 수 있습니다. 자식 빈 정의는 부모 정의의 구성 데이터를 상속받을 수 있습니다. 자식 정의는 필요한 경우 일부 값을 재정의하거나 다른 값을 추가할 수 있습니다. 부모와 자식 빈 정의를 사용하면 입력해야 할 내용을 많이 줄일 수 있으며, 이는 일종의 템플릿 기능으로 효과적으로 작용합니다. 만약 프로그래밍 방식으로 ApplicationContext 인터페이스를 사용한다면, 자식 빈 정의는 ChildBeanDefinition 클래스로 표현됩니다. 대부분의 사용자는 이 수준에서 작업하지 않으며, 대신 ClassPathXmlApplicationContext와 같은 클래..
2023.04.28 -
Lombok
Lombok롬복 (Lombok)은 자바 (Java) 프로그래밍 언어를 사용하는 개발자들을 위한 플러그인 라이브러리입니다. 롬복은 반복적이고 장황한 코드를 줄여주고, 자동으로 코드를 생성하여 개발자의 생산성을 향상시켜주는 데 도움을 줍니다. 롬복은 Java 언어의 불필요한 보일러플레이트 코드를 최소화하고, 코드를 간결하게 작성할 수 있게 해줍니다. 다음은 롬복의 주요 기능과 개념에 대한 상세 설명입니다:애노테이션 (Annotations): 롬복은 Java 애노테이션을 사용하여 코드를 자동으로 생성하거나 수정합니다. 롬복 애노테이션은 개발자가 작성한 클래스나 메서드에 적용됩니다. Getter 및 Setter 메서드 생성: 롬복을 사용하면 클래스의 필드에 대한 Getter와 Setter 메서드를 자동으로 생성..
2023.04.27 -
JVM
보호되어 있는 글입니다.
2023.04.25 -
자바 클래스 파일(feat. compiler)
컴파일러는 소스 코드를 CPU의 기계어로 변환해주는 프로그램입니다. 일반적으로 하이 레벨 프로그래밍 언어의 소스 코드는 인간이 이해하기 쉽도록 작성되어 있고, 기계어는 컴퓨터가 이해하기 쉬운 형태입니다. 컴파일러는 이 두 가지 형태의 코드를 변환하여 소스 코드를 실행 가능한 형태로 만들어줍니다. 컴파일러는 일반적으로 소스 코드를 읽어들여서 문법에 맞는지 검사하고, 코드를 분석하고, 중간 코드를 생성하고, 최종적으로 기계어 코드를 생성합니다. 이 과정을 컴파일링이라고 합니다. 컴파일러는 소스 코드를 기계어로 변환하는 과정에서 성능 최적화나 보안 검사 등의 기능을 수행할 수 있습니다. 이러한 기능들을 통해 컴파일러는 프로그램의 실행 속도를 높이거나 보안성을 높일 수 있습니다. 컴파일러는 다양한 프로그래밍 언..
2023.04.25 -
Introduction to the Spring IoC Container and Beans, Container Overview
보호되어 있는 글입니다.
2023.04.25 -
Realm
Apache Tomcat 서버에서 **Realm**은 사용자의 인증 및 권한 부여를 처리하는 중요한 구성 요소입니다. Realm은 애플리케이션에서 사용자 이름, 비밀번호, 역할 등의 정보를 저장하고 이를 통해 웹 애플리케이션의 보안 제어를 제공합니다. 즉, **Realm**은 인증(authentication)과 권한 부여(authorization)를 구현하는데 사용됩니다. ## Apache Tomcat의 Realm 개요 Tomcat 서버는 자바 서블릿과 JSP(JavaServer Pages)를 실행할 수 있는 컨테이너입니다. 이 컨테이너는 애플리케이션에 대한 접근을 제어하기 위해 인증 및 권한 부여 메커니즘이 필요하며, Realm은 이 역할을 담당합니다. Realm은 보통 사용자 데이터베이스와 상호작용..
2023.04.25