분류 전체보기

· TIL
통합 테스트 코드를 짜는 중에 환경 변수를 못읽어서 계속 스트레스 받고 있었다.. Application Run 때는 환경 변수를 잘 읽어오는데, 왜 안 되는 거냐...ㅠㅠ 검색해도 안 나오고, 해결법 같은 것들 아무리 해봐도 고쳐지지 않고 그래서 테스트 코드 돌릴 때만 properties에 쌩값 넣어서 작업 하고 있었는데 너무 불편해서 직접 인텔리제이 뒤져보면서 찾았다.. 문제 정의 (원인) 사실 수집 통합 테스트 환경 ActiveProfiles 셋팅을 해줬는데도, 환경 변수를 못 읽어서 실행이 안 되는 오류가 발생했다. java.lang.RuntimeException: Driver org.h2.Driver claims to not accept jdbcUrl, ${TEST_DB_URL} at com.za..
· TIL
로컬에서 특정한 브랜치에 푸쉬를 한다. 깃허브에서 푸쉬가 된 걸 Jenkins가 Webhooks 으로 캐치를 해준다. CI 작업 (그레이들을 쓴다면 빌드) 후 통과면 ssh 명령어로 development.sh 실행 시키게 한다. development.sh 에는 순서대로 이거 해라~ 하는 명령어가? 서버 중지 -> jar 파일 삭제 -> 도커 허브 jar 다운로드 -> jar 파일 실행 (배포) 순이다. CI/CD 툴이 젠킨스만 있는 것은 아니다, GitAction도 있고, 코드 쉽도 있고... 오늘은 여기서 끝
· TIL
오늘 통합 환경 테스트 코드를 작성하면서, 갑자기 헷갈린 게 있는데, 단위 테스트랑 통합 환경 테스트가 헷갈렸다. 어디서 헷갈렸나!!!! 나는 통합 환경 테스트를 서비스 레이어 부터 DB까지 건들이는 테스트 코드로 짜고 있었는데 내가 지금 단위 테스트를 하는 건가? 통합 환경 단위 테스트인건가? 머릿속이 복잡해지면서 헷갈리기 시작했다. 그래서 검색을 해봤는데 어떤 글은 컨트롤러부터, 어떤 글은 서비스 부터... 등등 다 다른 것이다 뭐지??? 우선 결론부터 통합 환경 테스트 스프링 기준으로 통합 환경 테스트는 스프링 컨테이너가 돌아가는 환경이다. 통합 환경 테스트는 실제 DB를 건들인다. 실제 어플리케이션 환경에서 동작하는 방식을 테스트하려는 목적 단위 테스트 단위 테스트는 스프링 컨테이너가 돌아가지 않..
· TIL
구현 기능 중에 컬럼 위치 변경 기능이 있어서 어떻게 구현할까? 고민을 많이 했다. 우선 첫번째로 생각난 것은 Entity 내부에 Position 값을 주고 정렬 그 값을 기준으로 정렬하는 것이다. Position을 어떻게 주고, 변경할 때는 Position을 어떻게 변경해야할까? Entity 내부에 List For문으로 하나하나 돌면서 업데이트 쿼리 보내기? 효율이 진짜 안좋아질 거 같았다. 그래서 쿼리를 최적화를 하는데 어떻게 할까? 하다가 연산하는 쿼리를 한 번에 날리게끔 생각했다. 우선 포지션 값은 2의 제곱으로 사용하기로 정했는데, 이유는 1,2,3,4,5 와 2,4,8,16,32 를 했을 때, 하나만 순서 변경하는 데에는 문제가 없지만 여러개를 한 꺼번에 옮기라는 요구가 있으면, 1,2,3,4..
· TIL
오늘 팀 프로젝트를 시작하며 @ColumnDefault 어노테이션을 사용했다 코드 @Entity @Getter @NoArgsConstructor @AllArgsConstructor @Table(name = "boards") public class Board extends TimeStamp { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String title; @Column(nullable = false) private String username; @ColumnDefault("'#ffffff'") private String backgroundColor; @C..
· TIL
최근 코드 리팩토링을 하면서, 이미지 파일 업로드 기능 추가를 위해 기존 @RequestBody 에서 @ModelAttribute 로 바꿔 사용했다. @PostMapping("/todos") public ResponseEntity createTodoCard( @ModelAttribute @Valid CardPostRequestDto cardPostRequestDto, @AuthenticationPrincipal UserDetailsImpl userDetails) { CardResponseDto responseDto = cardService.createTodoCard(cardPostRequestDto, userDetails.getUser()); return ResponseEntity.status(201)...
wonow_
'분류 전체보기' 카테고리의 글 목록 (18 Page)