전체 글

전체 글

    [JUnit5] 실패 케이스 테스트하기

    JUnit5를 이용해 예외 발생 케이스를 테스트하는 방법을 알아봅니다. 방법 1. assertThrows() 메서드 사용 Exception 발생 여부 확인과 Exception 메시지를 비교할 수 있습니다. 아래는 CafeKiosk 서비스 클래스의 add(~) 메서드에 0 혹은 음수를 전달했을 때 예외가 잘 발생하는지 확인하는 테스트 메서드입니다. class CafeKioskTest { @Test @DisplayName("[FAILED] 음료 수량으로 음수, 0은 불가능하다.") void addWithCount() { // given CafeKiosk cafeKiosk = new CafeKiosk(); // then Exception exception = assertThrows(OperationFailed..

    [테스트 코드] Controller Test Code / @WebMvcTest / 행위 검증

    Controller 클래스의 테스트 코드를 작성하다 보면 컨트롤러 단에서 호출하는 서비스 메서드가 호출할 때 어떤 값이 필요하고 어떤 값을 반환하는지 정도의 검증을 하는 작업도 함께 진행한다. 컨트롤러 메서드는 아래와 같이 존재한다. (ApiResult 클래스는 외부 응답 시 공통적으로 사용하는 클래스이다.) @RestController @RequiredArgsConstructor public class ControllerA { private final ServiceA serviceA; @PostMapping("/a") public ResponseEnity controllerMethodA () { serviceA.methodA(); return new ResponseEntity(ApiResult.succ..

    [디자인 패턴] 데코레이터 패턴

    [디자인 패턴] 데코레이터 패턴

    데코레이터 패턴이 무엇인지 알아보고 예제를 통해 이해하고자 합니다. 목표 데코레이터 패턴 이해 사용의 장단점 데코레이터 패턴 예제 데코레이터 패턴 데코레이터 패턴은 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 기존 코드를 변경하지 않고 부가 기능을 동적으로(유연하게) 추가할 수 있도록 하는 패턴 입니다. 서브 클래스 대신 쓸 수 있는 유연한 대안이 됩니다. 예시 '에스프레소'라는 베이스를 만드는 머신기가 있는데, 고객들이 머신기에서 라떼와 모카, 바닐라 라떼도 만들수 있도록 해달라는 요청 사항이 들어옵니다. '에스프레소' 클래스를 상속받는 '우유' 클래스 -> 라떼 '에스프레소' 클래스를 상속받는 '모카 시럽' 클래..

    [Spring Batch] 1. 스프링 배치 공부 순서와 간단 소개

    [Spring Batch] 1. 스프링 배치 공부 순서와 간단 소개

    기록 순서 1. 스프링 배치 소개 (탄생 배경, 적용 가능한 task, 아키텍처) 현재 글 2. 스프링 배치 시작 (스프링 배치 플젝 + 의존성 구성, 간단한 실습_job 구성+실행) 3. 스프링 배치 도메인 이해 (job, step, 등 각 도메인에 대한 이해_특징,기능,정의) 🌟🌟🌟 4. 스프링 배치 실행 (완성된 job 실행, 도메인 간 상호관계 및 흐름 파악) 체계적&유연한 배치 모델 구성 4. 아키텍처 Application 스프링 배치 프레임웍을 통해 개발자가 만든 배치 Job과 커스텀 코드 포함되어 있다. Batch Core Job을 실행, 모니터링, 관리하는 API로 구성 JobLauncher, Job, Step, Flow 등 Batch Infrastructure Application, Ba..

    웹 취약점 분석 및 조치 (매개변수 조작 취약점)

    진행한 업무 중 웹 취약점으로 평가되어 조치를 진행한 업무에 대해 간단히 기록하고자 합니다. 취약점 조치 방법 취약점 조치는 위험 수용, 위험 예외, 위험 조치 세 가지로 분리할 수 있고, 각각의 의미는 다음과 같습니다. 위험 수용 : 문제를 해결하지 않고 수용한다. 위험 예외 : 문제가 아닌 것으로 판단하고 예외 처리한다. 위험 조치 : 문제를 해결해서 취약점을 제거한다. 취약점으로 평가된 문제점은 XSS, 부적절한 오류 처리(톰캣 버전 노출), 매개변수 조작 문제 등이 있었습니다. 이를 조치하느냐 수용하느냐는 여러 상황(context) 아래에 판단을 할 수 있는데, 각 문제에 대한 risk값을 매기는 척도가 있습니다. 본인은 이 중 매개변수 조작 문제만 위험 조치로 판단하고 해결하는 것을 진행하였습니..

    백엔드 개발자로 입사하다. (2022.08)

    백엔드 개발자로 입사하다. (2022.08)

    취직까지.. 2022년 2월 졸업을 하고 개인적인 사정으로 인해 4월부터 취업 준비를 시작했고 약 3개월 정도 빡세게 한 것 같다. 취준을 하면서 알게된 것은 나를 어필하는 능력이 부족하다는 것이다. 그래서 자소서 작성이나 포트폴리오를 만드는데에 노력이나 시간을 많이 쓴 것 같다. 사실 자소서에 어떤 내용을 쓸지, 어떤 걸 내 강점으로 내세우면 좋을지, 지원을 많이 해보면서 감이 생길 수 있을텐데 지원하는 데에 너무 많은 고민을 했다. 취준 관련 글들을 찾아 보면 일단 지원을 해라. 내가 들어가고 싶은 회사를 우선순위 매겨서 리스트화하고 내림차순으로 지원하면서 감을 잡으라. 등등의 조언들이 많고 나도 그래야겠다🔥 생각 했는데 실제론 그러지 못했다.💦 입사한 지 한달하고 1주일이 지난 시점인데, 취업하기 ..