일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- dataframe
- spring
- stl
- pandas
- Photoshop
- Prefix Sums
- Gap
- Javascript
- 강화학습
- 통신사할인
- margin
- 알고리즘
- c
- Design Pattern
- 상태
- CSS
- align-items
- skt membership
- grid
- Codility
- series
- 수학
- 백준
- 에라토스테네스의 체
- 포토샵
- Flexbox
- c++
- SK바이오사이언스
- 확률
- 소수
- Today
- Total
목록spring (11)
sliver__

CORS란?서로 다른 application 간 통신을 하려고 할 때, 특정 헤더나 인증이 없으면 통신을 차단하는 정책 CORS가 왜 필요한지?서비스를 위한 backend application을 띄웠을 때, 해커가 front app을 띄워 통신을 시도할 수 있다. CORS 설정 방식이 경우, backend에서는 특정 {protocol}://{domain}:{port)로 통신을 요청한 경우에만 데이터를 주도록 설정할 수 있다.그리고 method 등 세부 레벨을 지정하여 통신을 수락할 수 있다. Backend에서 CORS 설정을 하지 않으면 아래와 같은 오류가 나온다. "preflight request"는 백엔드 API 호출 전, 브라우저에서 백엔드로 CORS가 허용되는지 메세지를 보낸다.response에 적..
싱글톤 컨테이너 스프링 컨테이너는 싱글톤 패턴을 적용하지 않아도, 객체 인스턴스를 싱글톤으로 관리한다. 스프링 컨테이너는 싱글톤 컨테이너 역할을 한다. 싱글톤 객체를 생성하고 관리하는 기능을 싱글톤 레지스트리라 한다. 싱글톤 패턴의 모든 단점을 해결하면서 객체를 싱글톤으로 유지할 수 있다. DIP, OCP, 테스트, private 생성자로부터 자유롭게 싱글톤을 사용할 수 있다.
싱글톤 패턴 클래스의 인스턴스가 1개만 생성되는 것을 보장하는 디자인 패턴 객체 인스턴스를 2개 이상 생성하지 못하도록 막는다. private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막는다. 싱글톤 패턴을 적용하면 이미 만들어진 객체를 공유해서 효율적으로 사용할 수 있다. 싱글톤 문제점 싱글톤 패턴을 구현하는 코드가 많이 들어간다. 클라이언트가 구체 클래스에 의존한다 -> DIP 위반 DIP를 위반함으로써 OCP를 위반할 가능성이 높다. 테스트가 어렵다. 유연성이 떨어진다.
Bean Definition BeanDefinition을 빈 설정 메타정보라 한다. 스프링 컨테이너는 이 메타정보를 기반으로 스프링 빈을 생성한다. AnnotationConfigAppicationContext는 AnnotatedBeanDefinitionReader를 사용해서 AppConfig.class 를 읽고 BeanDefinition을 생성한다. GenenricXmlApplicationContext는 XmlBeanDefinitionReader를 사용해서 appConfig.xml 설정정보를 읽고 BeanDefinition을 생성한다. Bean을 등록하는 방법은 2가지가 있다. 직접 Bean 객체를 생성해서 등록하는 방법 FactoryMethod를 사용해서 등록하는 방법
스프링 컨테이너는 다양한 형식의 설정정보를 받아드릴 수 있게 유연하게 설계되어 있다. 자바코드, XML, Groovy 등.. XML 설정 사용 많은 Legacy 프로젝트들이 XML로 설정정보가 구성되어 있다. XML을 사용하면 컴파일없이 빈 설정 정보를 변경할 수 있는 장점이 있다.