분류 전체보기
-
[Spring Boot] 슬라이스테스트, Validation 유효성 검사Backend/개발 2021. 8. 28. 22:58
TIL 43일차 개인프로젝트 RepositoryTest -> ServiceTest -> ControllerTest 순서대로 작성해보면서 참가자 생성부터 다시 해보려고한다. 너무,, 가독성이 떨어져서 그냥 기록용 ㅠ_ㅠ Repository - @DataJpaTest JUnit5부터 @DataJpaTest에 @Transactional 과 @ExtendWith(SpringExtension.class)를 이미 포함하고 있다. @Test @DisplayName("참가자 등록 및 이름 조회") public void saveParticipantsTest() { // given final ParticipantsEntity entity = ParticipantsEntity.builder() .summonerName("감..
-
[Spring Boot] @configuration과 WebMvcConfigurer의 addCorsMappingBackend/공부,개념 2021. 8. 26. 00:33
TIL 42일차 cross origin 설정을 해줄 때, 전역적으로 config클래스를 만들어 설정해줄 수 있다. 그리고 앞으로 spring security를 사용하게 될 때도 config파일을 작성했던 기억이 있는데 예전에 할땐 너무 베끼듯이 사용해서 작은 단위라도 어노테이션이나 사용하는 인터페이스의 의미를 알고 넘어가보려고 한다! @Configuration vs @Component @Component는 개발자가 직접 작성한 클래스를 bean으로 등록하고자할 때 사용한다. @Configuration은 @Component를 포함하는데, 외부 라이브러리 또는 내장 클래스를 bean으로 등록하고자할 때, 1개이상의 @Bean을 제공하는 클래스에 붙여 사용한다. WebMvcConfigurer WebMvcCon..
-
[디자인 패턴] Builder patternBackend/공부,개념 2021. 8. 25. 01:25
빌더 패턴 (Builder pattern) 생성자에 인자가 많을 때는 빌더 패턴을 고려하라 - 이펙티브 자바 #2 null 기본적인 생성자 생성 방식은, 모든 파라미터를 포함하는 생성자를 만들고, 객체 생성 시 사용하지 않는 파라미터에는 null을 넣었다. 이런 생성자 생성방식에는 가독성, null에 대한 오류 문제 등이 발생한다. 점층적 생성자 패턴 1개의 생성자가 아닌, 여러 파라미터가 들어오는 경우를 모두 오버로딩 하여 생성자를 생성할 수도 있다. 하지만 이렇게 되면 같은 타입의 파라미터 순서를 변경했을 경우 알아차리지 못하는 문제 등이 발생한다. java bean 패턴, setter 사용 기본 생성자를 만들고 set을 통해 값을 세팅해주는 방법이 있다. 하지만 이 패턴은 좋지 않아보인다. 생성자로..
-
[Java] 제네릭,enum, java8Backend/자바 2021. 8. 22. 21:22
TCP SCHOOL 글을 참고하였다. Enum 클래스 열거체(enumeration type) 실제 값 뿐 아니라 타입 체크 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없다. enum Rainbow { RED(1, "hello"), ORANGE(2,""), YELLOW(3,""); private final int value; private final String message; Rainbow(int value, String message ) { this.value = value; this.message = message; } public int getValue(){ return value; } } 열거체에 필드를 추가할 수 있고, 추가할 때는 생성자가 필요하다 (private) 제네릭 (Gene..
-
[Spring Boot] SVG와 PNG , 준우승 은별 표시Backend/개발 2021. 8. 19. 16:31
TIL 41일차 개인프로젝트2 svg 파일 Scalabe Vector Graphics 의 약자로, 2차원 벡터 그래픽을 표현하기 위한 XML 기반의 파일형식 ( w3c 주도하에 개발된 오픈 표준의 벡터 그ㅐ픽 파일 형식이다.) xml 텍스트파일들로 정의되어 검색화,목록화,스크립트화, 압축이 가능하다. png파일 Portable Network Graphics 비손실 그래픽 파일 포맷. bitmap으로 되어있다 PNG의 경우, 확대 축소시에 aliasing 현상이 생기는데 SVG의 경우 형태가 유지된다. 색 표현이 수학 계산이 필요하기 때문에 이미지가 복잡할수록 로딩 시간이 오래걸린다. css의 style="fill:color"로 색을 제어할 수 있다. 출처 wiki 그래서 우승자 금별에 준우승자 은별을 달..
-
[Spring Boot] GlobalExceptionHandlerBackend/개발 2021. 8. 18. 23:30
TIL 40일차 개인프로젝트 globalExceptionhandler를 만들어보려고 한다. Controller를 작성할 때 예외상황을 고려하며 처리해야 하는 작업이 늘어남에 따라, 스프링 MVC에서는 @ExceptionHandler와 @ControllerAdvice를 이용해 처리하고, ResponseEntity를 이용해 예외 메세지를 구성한다. @ExceptionHandler @controller, @RestController가 적용된 Bean 내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해주는 기능을 한다. Controller 내부에서 호출한 Service에서 예외가 발생하더라도 잡아낸다. @ControllerAdvice AOP를 이용하여 공통적인 예외사항에 별도로 @ControllerAdvic..
-
[Spring Boot] 예외처리, 테스트코드에 관한 고민Backend/개발 2021. 8. 13. 00:12
TIL 39일차 38일차: 우승멤버 등록 controller 테스트 코드 작성하기 1 를 진행하는 중에, 스프링부트에서 JUnit을 이용한 테스트코드를 작성할 때, 어떤 로직으로 구현하는건지에 대한 정리가 스스로 필요할 것 같아서 적어본다. 테스트코드를 작성하며 개발을 처음 해보고있고, 그래서 하는것이 중요한것 ! 같기는 하지만 아직 "와 이렇게 이렇게 테스트코드를 작성해서 이걸 예방하고 이런걸 미리 테스트해보고, 통합테스트는 이런데 단위테스트는 이래서 나눠서하는거고 막 그러는구나~~ 이걸 근데 이런식으로 하는구나~~" 뭐 이런 엄청난 깨달음을 얻은 상태는 아니다. 그래서 아직 엄청 정리가 되어있진 않고, 여러 구글링한 글들과 지금까지의 경험, 그리고 오늘 동기한테 물어보면서 확인받은 내용을 바탕으로만 ..
-
[Spring Boot] 우승멤버 등록, controller 테스트 코드 작성하기 1Backend/개발 2021. 8. 12. 02:37
TIL 38일차 플젝 잠시 지원할것 들도 있고 주말에는 노느라고 공부를 쉬었다! 마요에 빨리 별 달고 아크샨 사진 넣어야되는데 테스트코드부분에서 걸려서 푸시를 못하고 있는게 .. 너무 마음에 걸린다 그치만 기능 대충 만들려고 공부 시작한거 아니니까 빨리 테스트코드 안되는거 해결하고 글 마저 쓰고 기능 업데이트 해야겠다! 일주일 넘게 잡고있으려니 답답 ㅠㅠ 대회 결과 - 우승자 등록 하기 37일차: 우승 멤버 별표표시 글에 대한 세부적인 테스트와 예외처리 과정을 나타낸글이다. 리그의 결과를 저장하기 위해 , 우승 멤버와 대회의 차수를 PostMapping으로 받아오려고 한다. 입력 값은 우승 멤버 5명의 닉네임과 몇번째 대회인지를 나타내는 리그번호 이다. 다음의 틀에 맞게 구현을 해볼 것이다. 1,2번에 ..