LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (88)
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (19)
    • Spring Framework (7)
    • Network (8)
    • Spring Webflux (2)
    • Java (16)
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (5)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

분류 전체보기

  • BeanFactory와 ApplicationContext의 차이점

    2025.02.16 by Wanderer Kim

  • Object class

    2025.02.16 by Wanderer Kim

  • 트랜잭션 이해

    2025.01.05 by Wanderer Kim

  • DataSource 이해

    2024.11.30 by Wanderer Kim

  • 커넥션 풀

    2024.11.17 by Wanderer Kim

  • Concurrent Random Number

    2024.09.24 by Wanderer Kim

  • Bean Lifecycle

    2024.08.18 by Wanderer Kim

  • SOAP 통신

    2024.04.02 by Wanderer Kim

BeanFactory와 ApplicationContext의 차이점

Bean이란?스프링이 제어권을 가져서 직접 생성하고 의존관계를 부여하는 객체를 Bean이라고 부른다.BeanFactory vs ApplicationContextBeanFactoryBean을 생성하고 의존관계를 설정하는 기능을 담당하는 가장 기본적인 IoC컨테이너이자 클래스를 말한다. 스츠링 빈 컨테이너에 접근하기 위한 최상위 인터페이스이다.스프링 빈을 관리하고 조회하는 역할을 담당한다.getBean() 메서드를 제공한다.Lazy-Loading 방식을 사용한다. 즉, Bean을 사용할 때 Bean을 로딩한다. (필요할 때만 로딩하기 때문에 가벼운 경량 컨테이너이다)ApplicationContextBeanFactory를 확장하고 있어 BeanFactory의 확장된 버전이다.Eager-loading 방식을 사..

Spring Framework 2025. 2. 16. 21:56

Object class

Object 클래스란?자가에서 모든 크랠스의 최상위 부모 클래스는 항상 Object 클래스이다.클래스에 상속 받을 부모 클래스가 없으면 묵시적으로 Object 클래스를 상속 받는다. 쉽게 이야기하면 자바가 자동으로 extends Object 코드를 넣어준다. 클래스에 상속 받을 부모 클래스르 명시적으로 지정하면 Object를 상속 받지 않는다.자바에서 Object 클래스가 최상위 부모 클래스인 이유공통 기능 제공다형성의 기본 구현공통 기능 제공객체의 정보를 제공하고, 이 객체가 다른 객체와 같은지 비교하고, 객체가 어떤 클래스로 만들어졌는지 확인하는 기능은 모든 객체에게 필요한 기본 기능이다. 이런 기능을 객체를 만들 때 마다 항상 새로운 메서드를 정의해서 만들어야 한다면 상당히 번거로울 것이다.Obje..

Java 2025. 2. 16. 21:41

트랜잭션 이해

트랜잭션이란?트랜잭션을 이름 그대로 번역하면 거래라는 뜻이다. 다시 말하면 데이터베이스에서 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다. 이를 위해 데이터베이스는 모든 작업이 성공해서 데이터베이스에 정상 반영(commit)을 하던가, 작업 중 하나라도 실패해서 이전으로 되돌리는 것(rollback)을 지원해준다.트랜잭션 ACIDACID는 원자성, 일관성, 격리성, 지속성을 나타내는 단어이다.원자성 : 트랜잭션 내에서 실행한 작업들은 하나의 작업인 것처럼 모두 성공하거나 실패해야 한다.일관성 : 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 한다. 예를 들어 데이터베이스에서 정한 무결성 제약 조건을 항상 만족해야 한다.격리성 : 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않..

Spring Data JDBC 2025. 1. 5. 12:58

DataSource 이해

커넥션을 얻는 방법은 JDBC DriverManager를 직접 사용하거나, 커넥션 풀을 사용하는 등 다양한 방법이 존재한다.만약 DriverManager를 통해서 커넥션을 획득하다가, 커넥션 풀을 사용하는 방법으로 변경하려면 애플리케이션 로직에서 커넥션을 획득하는 코드를 DriverManager에서 HikariCP같은 커넥션 풀을 사용하도록 변경해야 한다.  자바에서는 이런 문제를 해겨하기 위해 javax.sql.DataSource라는 인터페이스를 제공한다. DataSource는 커넥션을 획득하는 방법을 추상화하는 인터페이스이다.이 인터페이스의 핵심 기능은 커넥션 조회 하나이다. 애플리케이션 로직에서 DataSource 인터페이스만 의존하게 만들면, DriverManager를 사용하다가 커넥션 풀을 사용..

Spring Data JDBC 2024. 11. 30. 22:00

커넥션 풀

데이터베이스 커넥션 획득 과정의 문제점데이터베이스 커넥션을 획득할 때는 아래와 같은 복잡한 과정을 거친다.1. 애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다.2. DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 이 과정에서 TCP/IP/ 연결을 위한 네트워크 동작이 발생한다.3. DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달한다.4. DB는 ID,PW를 통해 내부 인등을 완료하고, 내부에 DB 세션을 생성한다.5. DB는 커넥션 생성이 완료되었다는 응답을 보낸다.6. DB 드라이버는 커넥션 객체를 생성해서 클라이언트에 반환한다. 이렇게 커넥션을 새로 만드는 것은 과정도 복잡하고 시간도 많이 소모된다.DB는 물론이고 애플리케이션 서버에서도 TC..

Spring Data JDBC 2024. 11. 17. 19:01

Concurrent Random Number

특정한 랜덤 숫자 값을 구하는 방법 몇 가지를 알아본다java.util.Random 이용int high = 1000;int low = 100;Random random = new Random();for(int i=0; iRandom 클래스틑 특정 값을 기준으로 int, long, double, float 등의 값을 불특정하게 생성할 수 있으며 위의 예제는 하윗값과 상윗값 사이의 값을 생성하기 위해 응용한 것이다. java.math 이용int high = 1000;int low = 100;for(int i=0; iMath.random 메서드는 0.0부터 1.0 사이의 double 값을 무작위로 리턴한다. 그래서 특정한 하윗값과 상윗값 사이에서 새로운 번호를 받고자 한다면 그 값만큼 곱패주면 된다.이렇게 새로..

Java 2024. 9. 24. 18:41

Bean Lifecycle

스츠링에서는 IoC 컨테이너가 Bean 객체들을 책입지고 의존성을 관리한다.여기서 객체들을 관리한다는 것은 객체의 생성부터 소멸까지의 생명주기 관리를 개발자가 아닌 IoC 컨테이너가 대신 해준다는 의미이다. 스프링 빈 라이프 사이클스프링 Bean의 LifeCycle을 아래와 같다.스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메소드를 통해 초기화 시점을 알려주며, 스프링 컨테이너가 종료되기 직전에도 소멸 콜백 메소드를 통해 소멸 시점을 알려준다. 빈 생명주기 콜백 3가지 방법스프링은 3가지 방법으로 빈 생명주기 콜백을 관리한다. 인터페이스(InitializingBean, DisposableBean)설정 정보에 초기화 메소드, 종료 메소드 지정@PostConstruct, @PreDestroy ann..

Spring Framework 2024. 8. 18. 17:55

SOAP 통신

SOAP이란? SOAP의 풀네임은 "Simple Object Access Protocol"로, HTTP, HTTPS, STMP등을 사용하여 XML기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 통신 프로토콜입니다. 서로 다른 서비스들간의 연동을 목적으로 상호 이해 가능한 포맷의 메세지를 송수신함으로써 원격지에 있는 서비스 객체나 API를 자유롭게 사용하고자 하는 기업의 요구에서부터 탄생한 프로토콜입니다. 동작 방식 Web Service Broker : 서비스 등록 및 검색, 저장, 관리하는 주체 Web Service Provider : 웹 서비스를 구현하여 운영하고 제공하는 주체 Web Service Consumer : 웹 서비스를 요청하는 주체 UDDI(Universal Description, Disc..

Network 2024. 4. 2. 21:35

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 7 ··· 11
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바