전체 글 (165) 썸네일형 리스트형 [SpringBoot] 7.4.5-6 컨트롤러 테스트 Summary : 컨트롤러 테스트는 given - 서비스의 메소드가 특정 값을 리턴한다고 가정 (given / willReturn) when - 특정 요청이 왔을 때 (mockMvc.perform) then - 해당하는 형식의 응답인지 (andExpect / andDo) 해당하는 서비스의 메소드가 호출되었는지 (verify) 를 체크한다. 🔍 목차 7.4.5 스프링 부트에서의 테스트 7.4.6 컨트롤러 객체의 테스트 7.4.6.1 컨트롤러 테스트 코드의 요소 1 - MockMvc 7.4.6.2 컨트롤러 테스트 코드의 요소 2 - 어노테이션 7.4.6.3 컨트롤러 테스트 코드의 요소 3 - verify 7.4.6.4 컨트롤러 테스트 코드 예시 7.4.6.5 스프링 시큐리티 인증이 포함된 컨트롤러 테스트 📌.. [SpringBoot] 7.1-4 테스트 코드 📌 7.1 테스트코드를 작성하는 이유 개발 과정에서 문제를 미리 발견할 수 있음 사이드 이펙트를 테스트할 수 있음 (내가 코드를 수정함으로써 다른 코드에 영향이 가는지) 애플리케이션을 가동해서 하는 테스트보다 빠른 테스트를 할 수 있음 협업을 할 때 명세 문서로서의 기능을 수행함 코드가 작성된 목적을 명확하게 표현할 수 있으며, 불필요한 내용이 추가되는 것을 방지할 수 있음 오류가 발생할 수 있는 상황을 만들어서 오류를 테스트할 수 있음 cf. 테스트 코드를 작성하는 것과 TDD는 엄연히 다르다. TDD는 테스트코드를 먼저 짜고 그것을 명세서 삼아 코드를 작성하는 것 📌 7.2 단위 테스트와 통합 테스트 단위 테스트(Unit Test) 개별 모듈을 독립적으로 테스트하는 것 일반적으로 메서드 단위로 테스트.. [AWS] 네트워크 보안 📌 VPC (Virtual Private Cloud) AWS에서 사용할 수 있는 가상의 격리된 프라이빗 네트워크 서비스 AWS 리소스에 경계를 설정하는데 사용할 수 있음 한 VPC는 서브넷으로 구성되어있고, 서브넷은 리소스로 구성되어있음 VPC ⊃ 서브넷 ⊃ 리소스 📌 서브넷 VPC 내에 있는 IP 주소의 모음 리소스를 그룹화할 수 있는 VPC내의 한 섹션 퍼블릭 서브넷 : 누구나 엑세스할 수 있는 리소스 포함 프라이빗 서브넷 : 프라이빗 네트워크를 통해서만 엑세스할 수 있는 리소스 포함 VPC 내에서 서브넷은 서로 통신할 수 있음 e.g. EC2 서브넷이 DB 서브넷과 통신 📌 게이트웨이 VPC 수준에서 트래픽을 제어하는 가상 방화벽 인터넷 게이트웨이 (IGW) 퍼블릭 트래픽이 인터넷을 통해 VPC에 .. [AWS] 글로벌 인프라 📌 Region (리전) 리전이란? AWS는 비즈니스 트래픽 수요가 많은 지점에 리전(데이터 센터)을 구축했음 각 리전은 다른 리전과 격리되어 있음 → 사용자가 데이터 이동을 허용하지 않으면 리전에 있는 데이터는 해당 리전을 벗어나지 않음 → 따라서 어떤 리전을 선택할 것인지를 결정해야 함 cf. 각 리전은 AWS에서 제어하는 고속광섬유 네트워크를 통해 다른 리전에 연결되어있으므로 사용자가 허용하면 다른 리전으로 이동 가능 📌 Region 선택 시 고려해야 하는 것 규정 준수 ex) 데이터가 특정 국가를 벗어나면 안된다면 해당 국가의 리전을 선택하면 됨 근접성 latency가 존재하기 때문에, 고객와 가까울수록 좋음 기능 가용성 특정 리전에서만 지원되는 기능이 존재할 수 있음 가격 같은 하드웨어 리소스를.. [AWS] EC2 확장 개념 📌 Amazon EC2 Auto Scaling (규모 수평 조정) 자동으로 EC2 인스턴스의 규모를 조정하는 서비스 규모 조정 원리 : 필요한 인스턴스로만으로 시작하고, 변화하는 애플리케이션 수요에 따라 EC2 인스턴스를 자동으로 추가하거나 제거하여 규모를 조정 Auto Scaling이 관리하는 인스턴스들을 Auto Scaling group이라 함 어플리케이션 수요에 대응하는 방법 1) 동적 조정: 수요 변화에 대응 2) 정적 조정: 예측된 수요에 따라 적절한 수의 EC2 인스턴스 자동 예약 규모 조정 방식 1) 최소 용량 설정 : Auto Scaling group 생성 직후 시작되는 인스턴스 수 2) 희망 용량 설정 : 설정하지 않으면 최소 용량으로 설정됨 3) 최대 용량 설정 : 확장 시 최대 인스턴.. [AWS] EC2 동작 원리 📌 EC2 - Amazon Elastic Compute Cloud 클라우드를 이용한 배포를 위해선 인터넷을 통해 접근할 수 있는 '가상화되어 있는 서버'가 필요함 EC2는 가상화된 서버에 접근하기 위해 사용하는 aws 서비스 EC2를 사용하면 온프레미스 방법보다 훨씬 유연하고 비용 효율적이며 더 빠르게 서버를 구성할 수 있음 (왜 빠르고 쉬운지 자세한 내용은 생략) 📌 EC2 작동 방법 인스턴스를 요청하고, 종료하고, 사용한만큼 비용을 지불하면 됨 사용자가 원하는 EC2 인스턴스를 요청하면 인스턴스가 시작하고 가동됨 필요한 작업이 끝나면 EC2 인스턴스를 종료하면 됨 → 불필요한 서버를 가지고 있지 않아도 됨 EC2 인스턴스의 사용량은 시간에 따라서 크게 달라질 수 있는데 사용한 만큼만 비용을 지불하면 .. [AWS] 클라우드 컴퓨팅의 개념과 모델 📌 배경지식 온프레미스 (On-premise) 클라우드 이전에 가장 일반적으로 사용되던 시스템으로 직접 인프라를 구축하는 방식 출처 : https://www.eformsign.com/kr/blog/cloud-and-onpremise/ Infrastructure as Code (IaC) 인프라 구성을 수동으로 하는 것이 아니라, 코드를 이용해 자동으로 인프라를 구축, 관리하는 방식 클라우드 환경 관리를 자동화할 수 있음 출처 : https://charstring.tistory.com/218 📌 클라우드 컴퓨팅 클라우드 컴퓨팅이란? 인터넷을 통해 IT 리소스를 온디맨드로 제공하며 사용한 만큼만 비용을 지불하는 것 → 운영 비용을 낮추고 인프라를 보다 효율적으로 운영할 수 있음 *온디맨드 제공 : 사용자에게 .. 스프링 시큐리티를 이용한 로그인 📌Intro 스프링 시큐리티를 이용한 로그인은 회원가입보다 다소 복잡하다. 아래와 같은 순서로 진행된다. SecurityConfig에 로그인, 로그아웃 URL 등록 SignInController에 매핑 함수 구현 sign-in.html을 타임리프로 작성 UserRole enum 생성 UserSecurityService 로 권한 관리 SecurityConfig에 AuthenticationManager 빈을 생성 로그인 / 로그아웃에 따라서 네비 바 바꾸기 📌 SecurityConfig에 로그인, 로그아웃 URL 등록 @Configuration @EnableWebSecurity public class SecurityConfig { @Bean SecurityFilterChain filterChain(HttpS.. 이전 1 2 3 4 5 6 7 ··· 21 다음