Home
Youngho's Devlog
Cancel

[개발자 블로그] Spring Interceptor 개념 및 흐름

Spring Request Flow Filter 사용자의 어떠한 요청이 있을 경우, 가장 앞단에서 거치는 곳. 예를 들어, UTF-8 인코딩을 처리하는 기본 필터 중에 CharacterEncodingFilter를 호출 할 수 있다. Spring MVC 기준으로 web.xml에서 설정 DispatcherServlet 서블릿과 마...

[개발자 블로그] Spring Annotation 활성화

Annotation 기본 개념 xml 설정이 너무 길어짐에 따라 그 대안으로 생겨났다. 클래스/메서드/필드에 Annotation을 달아 그 자체로 설정이 가능하도록 한다.(단, xml의 우선순위가 더 높음) 기본적으로 활성화되지 않기 때문에 xml에 명시적인 활성화 설정이 필요하다.(IDE에서 체크하면 자동으로 추가되도록 지원) Ann...

[개발자 블로그] ContextLoaderListener와 DispatcherServlet의 차이

ContextLoaderListener와 DispatcherServlet의 차이 ContextLoaderListener와 DispatcherServlet 모두 자체적으로 스프링 컨테이너를 만듬 ContextLoaderListener안에 있는 Bean들은 shared beans(공유하는 bean들 - DAO, DataSource, Serv...

[개발자 블로그] @Bean vs @Component

@Bean 어노테이션 개발자가 컨트롤이 불가능한 외부 라이브러리들을 Bean으로 등록하고 싶은 경우에 사용한다. 예를 들어, RestTemplate 등 @Component 어노테이션 직접 컨트롤이 가능한 Class들을 Bean으로 등록하고 싶은 경우에 사용한다. 개발자가 생성한 Class에 @Bean은 설정이 가능한가? 불가...

[Backend] 카나리 배포

운영중인 서비스에 새로운 버전을 배포할 때 이상적인 방법으로 카나리 배포를 알게 되었다. 수 많은 클라이언트들이 사용중인 상황에서 배포하는 가장 이상적인 방법이라 한다. 카나리 배포는 흔히 단계별 배포 또는 점진적 배포라 불리었다. 기존 서버로 들어오는 트래픽을 10%, 20%, 30% 조금씩 신규 서버로 옮긴다. 조금씩 트래픽을 옮기면서 이슈 사항...

[개발자 블로그] 스프링 의존성 주입과 인터페이스

Spring을 활용하여 개발하면서 꼭 인터페이스 타입으로 의존성을 주입받아야 하는지에 대해 생각해보게 되었다. (CustomerService인터페이스를 만들고 CustomerServiceImpl을 구현한 후 인터페이스 타입으로 주입받는 것 처럼) SOLID원칙 중 OCP에 따르면 변화에 유연하게 대처할 수 있도록 인터페이스 타입으로 주입 받는 것이 ...

[Java] 반복문 작성 시 안 좋은 습관

반복문을 작성할 때 안 좋은 습관 1) 불필요하게 조건문에 함수 호출문을 넣는 습관 public void example(List<Integer> numbers) { for (int i = 0; i < numbers.size(); i++) { ... } } 만약 위처럼 코드를 작성하고 numbers의 사이...

[Java] 반복문(for문 forEach문 비교)

프로그래밍을 배우는데 있어서 기본 중의 하나는 반복문이다. 하지만 반복문을 어떻게 사용하느냐가 애플리케이션 성능에 얼마나 영향을 끼치는지 생각을 해보게되었다. Java에서 Collection을 순환할 때 forEach문을 자연스레 사용하고 있었고, 일반 for문하고 가독성 외에는 성능적으로 차이가 없을거라 생각했다. 하지만 for문과 forEach문은...

[개발자 블로그] Spring Framework

Framework란? “소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것” - 랄프 존슨(Ralph Johnson) - 말 그대로 뼈대나 근간을 이루는 코드들을 묶어놓은 것 프레임워크는 반제품으로 애플리케이션 구조 및 코드의 상당 부분을 제공하여 개발자는 핵심 비즈니스로직에만...

[Jekyll 블로그] 포스팅 md 문법

Imgae width and location width 50 and normal width 100 and left width 150 and right Image Caption Image Caption Code Block This is a common code snippet, with...