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...
[Jekyll] Jekyll 을 이용한 깃허브 블로그 관련 유용한 참고 사이트
Jekyll 블로그 구축하기 https://j1mmyson.github.io/categories/blog/ https://seungwubaek.github.io/blog/#wholetoc__title https://ip99202.github.io/posts/%EA%B9%83%ED%97%88%EB%B8%8C-%EB%B8%94%EB%A1%9C...
[OOP] OOP의 핵심
OOP는 상속 때문에 쓰는게 아니다(상속 쓸 일은 거의 없다) ‘객체 간에 메시지를 어떻게 주고 받을거냐, 역할과 책임을 어떻게 나눠줄거냐’가 사실은 OOP의 핵심이다 도메인을 어떻게 관리할거냐가 사실 지금은 제일 핵심이며 도메인과 역할과 책임에 대해서는 꼭 익혀두자