본문 바로가기

전체 글30

AWS 클라우드 컴퓨팅 관련 용어 컴퓨팅 방식 On-premise 방식 - 자체적으로 서버를 구축 Cloud 방식 - 가상 컴퓨팅 기술을 사용해서 컴퓨터의 물리적 자원을 필요에 때라 배분해서 사용할 수 있습니다. IaaS : 하드웨어만 관리 Paas : 하드웨어 + 가상 서버 관리 (소프트웨어만 만들어서 올리면 됨) Saas : 하드웨어 + 가상 서버 + 소프트웨어까지 제공 (사용자들이 바로 온라인으로 사용할 수 있는 것) https://aws.amazon.com/ko/types-of-cloud-computing/?WICC-N=tile&tile=types_of_cloud EC2 (Elastic Compute Cloud) 소프트웨어 시스템을 구축하고 호스팅하는 데 사용하는 크기 조정 가능한 컴퓨팅 용량(말 그대로 Amazon 데이터 센터의.. 2022. 4. 15.
CI/CD - 지속적 통합(Continuous Integration)/지속적 배포(Continuous Deployment) CI란? 지속적인 통합(Continuous Integration)의 약자이며 빌드/테스트 자동화 과정을 의미합니다. 다시 말해, 여러 개발자가 작성하고 수정한 코드를 지속적으로 통합하고 테스트할 수 있도록 자동화하는 것입니다. 지속적인 통합(Continuous Integration)의 실행은 변경 사항을 정기적으로 커밋하여 모든 사람에게 동일한 작업 기반을 제공하는 것으로 시작합니다. 커밋할 때마다 빌드와 자동 테스트가 일련의 과정으로 동작하고 변경으로 인해 문제가 생기는 부분이 없도록 보장합니다. (보장 방법은 자동 테스트가 실패할 경우 빌드 실패로 연결합니다. 테스트가 모두 성공해야 빌드가 가능하도록 합니다.) CI 적용의 장점 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기.. 2022. 2. 24.
로그인 체크 기능 간결하고 낮은 결합도로 구현해보기 문제점 - 프로젝트를 진행하다 보니 로그인한 사용자만 접근할 수 있는 기능(주문, 결제 등)이 생겼습니다. - 이러한 상황은 인증이 필요한 API마다 로그인 체크 코드를 작성해야 하는 문제로 연결됐습니다. - 핵심 기능 로직과 로그인 체크 코드를 분리시켜서 결합도 낮추는 방법을 고민하였습니다. 해결 방법 1) Class로 분리하여 DI하기 - 처음에 로그인 체크 기능을 메서드나 클래스로 분리하여 DI하는 방법을 사용했습니다. - LoginCheck클래스를 생성하고 로그인 체크 코드를 분리했습니다. HttpSession을 @RequiredArgsConstructor어노테이션을 사용하여 주입받고 session 속성을 체크하여 인증 여부를 확인하는 로직입니다. package com.flab.doorrush.g.. 2022. 1. 28.
스프링 부트 AutoConfiguration 원리 스프링 부트 AutoConfiguration 원리 @SpringBootApplication 어노테이션의 내부적으로 코드를 살펴보면 참 많은 것이 있습니다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilt.. 2022. 1. 15.