전체 글
[JUnit] JUnit에 대해
단위 테스트(Unit Test) 단위 테스트(Unit Test)는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트 여기서 모듈은 애플리케이션에서 작동하는 하나의 기능 또는 메소드 즉,"어떤 기능이 실행되면 어떤 결과가 나온다"를 테스트함 단위 테스트는 해당 부분만 독립적으로 테스트하기 때문에 어떤 코드를 리팩토링하여도 빠르게 문제 여부를 확인가능 실무에서는 단위 테스트를 선호하며, 요즘 많이 사용되는 TDD(Test-Driven Development, 테스트 주도 개발) 에서 얘기하는 테스트도 단위 테스트를 의미한다. 우리는 우리가 작성한 테스트 코드를 수시로 빠르게 돌리면서 문제를 파악할 수 있다. 통합 테스트(Integration Test) 통합 테스트(Integration Tes..
[SpringBoot] 자주쓰는 @(어노테이션) 익히기
ResponseEntity는 뭘까? Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스 HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다. ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다. 따라서 HttpStatus, HttpHeaders, HttpBody를 포함한다. 단순히 데이터만을 보내기보단 상태와 메세지 데이터까지 모두 보낼 수 있음 @GetMapping(value = "/user/{id}") public Res..
[SonarQube/Jenkins] SonarQube + Jenkins + GitLab 연동하기
SonarQube 정적 코드 분석 도구 실제 실행 없이 컴퓨터 소프트웨어를 분석 sudo ufw allow ssh >> 방화벽 설정 >> 간편설치 docker pull sonarqube docker run -d -p 8082:9000 --name sonarqube sonarqube >> Docker-compose를 이용하여 postgresql와 같이 설치 더보기 1.Docker-compose 설치 아래 명령어로 docker-compose를 설치한다. sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compos..
[CS] 데이터베이스 정규화와 이상현상(Normalization & Anomaly)
이상 현상(Anomaly) 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 할 때 발생할 수 있는 부작용 정규화를 수행하지 않으면, 데이터의 중복이 발생하고 전체적인 무결성이 저하된다. 이상 현상으로 인해 현실세계의 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제가 발생합니다. 이상 현상의 종류(Insert, Update, Delete) 1. 삽입 이상 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 2. 갱신 이상 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 문제 3. 삭제 이상 튜플을 삭제하면 꼭 필요한 데이터까지 같이 삭제되는 데이터 손실 문제 이런 이상 현상을 해결하기 위한 솔루션은 바로 정규화(Normalization) 정규화..
개발하면서 자주 만났던 이슈 및 용어 정리
개발 공부를 하면서 자주 들은 말들을 한번 쭉 정리해보고 싶은 마음이 생겨 글을 남기려고 한다. 데이터 무결성(Data Integrity) 데이터 값이 정확한 상태를 의미한다 데이터 정합성(Data Consistency) == 일관성 어떤 데이터들이 값이 서로 일치하는 상태를 의미한다. 더보기 ex) User Table, Product Table이 있다고 하자. 두 테이블에서 공통적으로 쓰이는 데이터에 대하여 서로 일치하면 -> 정합성 but, 데이터가 -1인데 이 데이터는 원래 양수여야 한다 => 무결성 멱등성(Idempotent) 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질, 연산을 여러 번 반복하여도 한 번만 수행된 것과 같은 성질 Q. 데이터를 Request 할 떄 변경되지 않은 값들도..
[Error] @RequestBody로 String or Integer를 받으려고 할 때
@PostMapping("{id}") public void testMethod(@RequestBody String value, @PathVariable long id) { System.out.println("value = " + value); } @RequestBody 동작 순서 HTTP Clients 가 request body에 데이터를 담아 request 를 보낸다. 컨트롤러 메서드에 @RequestBody가 명시되어 있으면 해당 어노테이션이 스프링에게 request body에 담긴 데이터를 도메인 객체로 역직렬화 처리 하라고 알려준다. 추가적으로 자바 Map 으로도 역직렬화 처리를 해준다 @RequestBody Integer id 로 받을 수 없는 이유는 이때 MappingJackson2HttpMe..