본문 바로가기
반응형

분류 전체보기94

[I/O 이해하기] Stream vs Channel I/O스트림과 채널은 I/O 작업을 처리하는데 사용된다.I/O란 Input/Ouput의 약자로 입력값을 읽어들이는 작업과 출력값을 쓰는 작업을 말한다. I/O 작업은 대게 애플리케이션 내에서만 이뤄지는 작업이 아니다.대표적인 I/O 작업을 통해 어떻게 동작하는지 알아보자.클라이언트의 요청을 읽어들이는 서버(전송계층 -> 애플리케이션 계층)클라이언트가 서버로 요청을 보내게되면 요청 데이터가 전송계층에 패킷 형태로 존재한다.서버의 애플리케이션에서 시스템 콜을 실행하는 프로그래밍 명령어를 통해 이를 애플리케이션으로 가져온다.디스크에 저장된 파일 읽어들이는 경우 (하드웨어 -> 애플리케이션 서버)파일이 존재하는 디스크 경로에 접근하여 해당 데이터를 읽어들여 메모리에 적재함그다음 애플리케이션에서 시스템 콜을 수행.. 2024. 5. 5.
스프링 빈 생성 과정 분석 [3] - BeanFactoryPostProcessor, BeanPostProcessor 이전 포스팅에서 BeanDefinitionRegsitry와 SingletonRegistry에 관련하여 빈 생성과정에 대해 설명하였다. 이번 포스팅에서는 아래 굵은 글씨로 밑줄친 내용에 대해 알아볼 것이다.      1) 생성할 빈의 BeanDefition 정의     2) BeanFactoryPostProcessor가 BeanDefition을 BeanDefinitionResitry에 저장     3) BeanDefition을 바탕으로 빈 인스턴스화 (스프링 default 빈 생성 방식은 싱글톤)          3-1) 인스턴스화 이후 BeanPostProcessor가 빈 인스턴스의 후처리 작업 진행     4) 빈 인스턴스를 SingletonBeanRegistry에 저장 2)번 내용 ‘.. 2024. 4. 20.
스프링 빈 생성 과정 분석 [2] - BeanDefinitionRegistry, SingletonBeanRegistry BeanDefinitionRegistry, SingletonBeanRegistry1. 빈 생성 과정스프링 빈 생성과정에 대해 간단히 소개 하겠다.      1) 생성할 빈의 BeanDefition 정의     2) BeanDefition을 BeanDefinitionResitry에 저장     3) BeanDefition을 바탕으로 빈을 인스턴스화 (스프링 default 빈 생성 방식은 싱글톤)     4) 빈 인스턴스를 SingletonBeanRegistry에 저장 BeanDefition과 빈 인스턴스는 1대1 관계이다.두 저장소는 모두 Map타입이고 key값으로 빈의 이름이 사용된다.BeanDefinitionRegistry와 SingletonBeanResgistry가 별도의 공간임에.. 2024. 4. 20.
스프링 빈 생성 과정 분석 [1] - IOC 컨텍스트(BeanFactory) ApplicationContext(IOC 컨텍스트) 소개IOC (Inversion of Control, 제어의 역전)제어의 역전이란 프로그램의 제어 흐름 구조를 바꾸는 것이다.프로그램의 제어권이 개발자가 작성한 코드에 있는 것이 아니라 외부에 존재하는 것을 말한다.프로그램의 제어권에는 객체 생성, 사용할 객체 결정,  객체 주입, 메서드 호출 등 프로그래밍 언어로 표현할 수 있는 모든 행위를 포함한다.  스프링에서는 DI(Dependency Injection)라는 기능을 제공하는데 객체를 생성하고, 의존 타입 객체를 결정하고, 객체를 주입해준다. 이 책임을 수행하는 것이 ApplicationContext이다.  ApplicationContext가 객체 생성과 의존객체를 주입해주기 때문.. 2024. 4. 20.
반응형