일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- backend
- Spring
- 알고리즘
- 부트캠프
- 백엔드
- 에프랩
- 레디스
- FLAB
- 자바백엔드
- github
- 성능테스트
- grafana
- MySQL
- AWS
- 데이터구조
- 후기
- 플러터
- 로드밸런서
- nGrinder
- 트러블슈팅
- 자바
- java
- 코딩테스트
- EC2
- F-Lab
- 멘토링
- Flutter
- 도커
- redis
- error
- Today
- Total
목록분류 전체보기 (132)
민스씨의 일취일장
Spring Data JPA의 클래스 프로젝션 적용 중 오류가 발생하는 이슈에 대한 내용이다.상황인프런 강의의 '섹션 8 - Projections' 실숩 중 class projection(클래스 프로젝션)이 적용되지 않는 이슈가 발생했다. 클래스를 작성후 Repository에 메서드를 등록하기만 하면, 실행 중 에러가 발생했다.작성했던 코드작성했던 코드는 아래와 같다.public class UsernameOnlyDto { private final String username; public UsernameOnlyDto(String username){ this.username = username; } public String getUsername(){ retu..
Mac에서 H2 실행 시 데이터베이스를 찾을 수 없을 때의 해결방법에 대한 글이다.Mac에서 H2 Database not found일 경우 해결 방법H2를 사용하려고 할 때, Database not found 에러메시지를 띄우며 연결이 안될 때가 있다.원인원인은 mv.db 파일이 생성되지 않았기 때문이다.해결책해결책은 간단하다. mv.db 파일이 생성되도록 하면된다.H2를 사용중이였다면 (처음 사용한다면 이번 단계는 건너뛰어도 된다)만약 H2를 사용중이었다면, 먼저 H2를 종료해줘야 한다.$ brew services stop h2H2 사용을 위한 mv.db 파일 생성하기아래 명령어를 터미널에서 입력한다.$ h2 -web그럼 아래와 같은 결과를 받을 수 있는데, 결과에 나온 url로 접속한다.그럼 아래와..
JPA Fetch Join에 distinct 적용안해도 중복이 제거 돼있는 이슈에 대한 내용이다.상황인프런 강의의 '섹션5 - 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화' 실습 중 distinct를 적용하지 않았음에도 중복이 제거되는 상황이 발생했다.혹시 코드를 잘못적은 것은 아닌지 여러번 확인해 보았지만 코드에 상에는 문제가 없어 보였다. 원인을 찾던 중, 버전 차이 때문은 아닌지 알아보았다.원인파악현재 실습을 진행환경은 Java 17, 스프링부트 3.3이다.스프링 3.3은 HIbernate 6을 사용한다.Hibernate 6 공식문서를 확인해 보면, 해당 내용이 명시 되어있다.하이버네이트 6부터는 distinct를 적용하지 않아도 중복 데이터를 메모리에서 제거하기 때문에, dis..
프로젝트 재실행 없이 UI 변경사항 반영되도록 하는 방법에 대한 글이다.Thymeleaf - 재실행 없이 변경사항 반영되도록 하는 방법 타임리프(Thymeleaf)와 같은 템플릿 엔진을 이용해 UI를 개발하고 있을 때, 변경사항이 제대로 반영되었는지 확인하기 위해 반복적으로 프로젝트 전체를 재실행하는 것은 생각보다 많은 시간을 잡아먹는다. 그렇다고 프로젝트 Rebuild를 진행한다고 반영되는 것도 아니다. 이럴 때 사용하면 좋은 도구가 있어 소개하려고 한다.devtoolsbuild.gradle(또는 pom.xml)에서 devtools를 추가해주면 된다. devtools는 알아서 캐시를 지워주고 UI를 빌드해줘, 프로젝트를 재싱행하지 않고, 브라우저 새로고침만으로 변경사항을 바로 확인할 수 있도록 해주는 ..
백준 1524를 해결하기 위해 작성한 코드를 리팩토링하는 글입니다.코드 클리닉 - 백준 1524 코드 리뷰 작성한 코드처음에 작성한 로직이다. Queue를 사용할 때 poll()만 사용한 한계가 엿보인다. 로직이 다소 복잡해, 어떤 걸 표현하고 싶은지 직관적으로 이해가 잘 안간다.private static String play(PriorityQueue A, PriorityQueue B){ int a = A.poll(); int b = B.poll(); while(!A.isEmpty() && !B.isEmpty()){ if (a >= b) { b = B.poll(); } else { a = A.poll(); } ..
백준 31217을 해결하기 위해 작성한 코드를 리뷰하는 글입니다.코드 클리닉 - 백준 31217 코드 리뷰요즘 '실용주의 프로그래머'라는 책을 읽고 있다. 이 책에서 '깨진 창문을 만들지 말라'는 팁을 받았다. 이 이야기를 듣고 조금 충격적이었다. 내가 작성하는 코드가 수없이 많은 깨진 창문들이지 않았을까 하는 생각에. 더이상 깨진 창문을 만들지 않고 싶어 작성하는 코드들을 들여다 보려고 한다. 오늘 푼 백준 31217 문제의 코드를 살펴보면서, 내가 작성한 코드가 깨진 창문인지 살펴보고, 깨져 있다면 수리해 보려고 한다.작성한 코드import java.util.*;import java.io.*;public class baekjoon31217 { // Part 1 static int N, M;..