ToyProject
-
[Spring Boot] Trouble ShootingBackend/개발 2022. 1. 27. 00:00
프로젝트 ControllerTest , 게임 조회 구현 기록 Jackson 버전 Pagable Pageable 객체 선언 방법 List를 Page로 바꾸는 방법 @PageDefault RequestParam에 List verify와 then should DeleteIn vs DeleteById vs DeleteInBatch Query로 Delete @Modifying의 clearAutomatically @Transcational @OneToMany의 Cascade와 orphanRemoval orphanremoval = true 매핑관계가 있을 때 delete(entity) 오류 findTopByOrderBy Jackson 버전 java.lang.NoClassDefFoundError: com/fasterx..
-
[Spring Boot] API구현 엔티티 설계 및 테스트 기록Backend/개발 2022. 1. 23. 13:20
프로젝트 에서 Spring MVC + handlebars 구조로 개발했던 웹페이지를 API용 백엔드와 React로 구현한 프론트엔드로 분리해보기로 했다. 같은 기능이지만 리팩토링할 부분이나 조금 추가해야될 기능들을 넣고, 계층별로 유닛테스트로 테스트코드를 모두 작성해보는것이 목표이다. 진행하면서 기록할만한 내용들 @IdClass Dto와 Entity @DataJpaTest @AutoConfigureTestDatabase JPA 양방향 매핑 Member - LeagueResult OneToMany + ManyToOne Enum default값 지정 Exception handling ErrorResponse ErrorCode 서비스 계층 테스트코드 작성 @IdClass PK가 여러개인 경우 PK만을 속성으로..
-
[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] 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] 우승멤버 등록, controller 테스트 코드 작성하기 1Backend/개발 2021. 8. 12. 02:37
TIL 38일차 플젝 잠시 지원할것 들도 있고 주말에는 노느라고 공부를 쉬었다! 마요에 빨리 별 달고 아크샨 사진 넣어야되는데 테스트코드부분에서 걸려서 푸시를 못하고 있는게 .. 너무 마음에 걸린다 그치만 기능 대충 만들려고 공부 시작한거 아니니까 빨리 테스트코드 안되는거 해결하고 글 마저 쓰고 기능 업데이트 해야겠다! 일주일 넘게 잡고있으려니 답답 ㅠㅠ 대회 결과 - 우승자 등록 하기 37일차: 우승 멤버 별표표시 글에 대한 세부적인 테스트와 예외처리 과정을 나타낸글이다. 리그의 결과를 저장하기 위해 , 우승 멤버와 대회의 차수를 PostMapping으로 받아오려고 한다. 입력 값은 우승 멤버 5명의 닉네임과 몇번째 대회인지를 나타내는 리그번호 이다. 다음의 틀에 맞게 구현을 해볼 것이다. 1,2번에 ..
-
[Spring Boot] 우승 멤버 별표표시 , @ElementCollectionBackend/개발 2021. 8. 5. 23:13
오늘은 경매프로그램은 아니구,, 지금 쓰고있는 내전 사이트에서 리그 우승멤버한테 별표를 달아주라고 해서 재밌을것 같아서 살짝 해봤다~ member에 우승 컬럼 추가해서 List isWin 1, 2, 이런식으로 넣고 조회? List을 추가하려 이런 에러가 생겼다. RDB에는 컬렉션과 같은 형태의 데이터를 컬럼에 저장할 수 없어, 별도의 테이블을 생성해야 한다고 한다. @Entity가 아닌 Basic Type이나 Embeddable Class를 테이블로 생성하여 onetomany관계로 만들어준다. @CollectionTable(컬렉션 테이블 이름, 조인 설정) 사용 이때 @ElementCollection과 @Entity의 @OneToMany 차이는 @ElementCollection 연관된 부모 Entity ..
-
[Spring Boot] 팀 생성, DB 슬라이스 테스트Backend/개발 2021. 8. 5. 01:49
TIL 36일차 개인프로젝트 오늘은 할 수 있던 시간 대비 공부한내용이나 구현한게 별로 많지 않다.. 많이 쉬었다..ㅠ_ㅠ 이렇게 쪼금씩쪼금씩 하면 거의 글 50개써야 겨우 완성될 것 같은데,, 사실 그래서 TIL 카테고리에 넣은거니까,,ㅎ 나중에 블로그용으로 쓰게되면 공부한거랑 구현한거 분리해서 다시 정리해야될 것 같다다ㅏㅏ... DB에 값 넣기 일단 DB에 참가자가 등록 된 후의 구현을 먼저 해야할 것 같아서 넣어줬다. 총 20명 다음 순서로 진행된다. 일괄적으로 특정 라인의 참가자를 모두 불러와 팀에 등록하며 leader로 만들어준다. 이때 등록되는 참가자는 point가 존재하지 않는다(팀장이므로) 이때 팀이 순서대로 생성된다. 경매가 진행된다 특정 참가자가 랜덤으로 추출된다 채팅을 통해서 경매가 ..