일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 후기
- AWS
- 플러터
- 레디스
- grafana
- 코딩테스트
- FLAB
- 알고리즘
- 데이터구조
- 성능테스트
- F-Lab
- 백엔드
- 도커
- Spring
- EC2
- 에프랩
- Flutter
- error
- redis
- 트러블슈팅
- 자바
- 로드밸런서
- 멘토링
- 부트캠프
- 자바백엔드
- MySQL
- github
- nGrinder
- backend
- 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;..
F-Lab Java Backend 과정 5개월 후기 글이다.F-Lab Java Backend 과정 멘토링 5개월 후기에프랩 멘토링을 한 달 연장하였고, 5개월을 끝으로 5개월의 멘토링을 마무리하였다.공채 시즌4개월차와 5개월차는 공채 시즌으로 다양한 기업에 원서를 쓰고 코딩테스트를 준비하면서 보냈다.자기소개서프로젝트를 계획적으로 진행하기 어려운 가장 큰 이유가 자기소개서였다. 프로젝트도 시간이 얼마나 걸릴지 완벽히 계획하기 어려운데, 자기소개서는 더 예측하기 어려웠다. 과거의 나의 이야기를 쓰는 것일 뿐인데 참 작성이 안된다. 하지만 그렇다고 시스템에 의지해 투두리스트를 채우듯 하기엔 글쓰기가 그정도로 능숙하진 못하다. 결론적으로 정말 많은 시간을 자기소개서를 작성하는 시간으로 보냈다. 스스로를 돌아보는..
F-Lab Java Backend 과정 4개월 후기 글이다.F-Lab Java Backend 과정 멘토링 4개월 후기원래 처음 계획된 F-Lab에서의 4개월이 끝났다.네 달 동안 진행 내용공부 주제매 달 후기글에 작성하는 커리큘럼 내용이다.1주차 : 객체지향 프로그래밍 / 객체지향 4가지 속성/ 자바 컴파일 과정2주차 : JVM 메모리 구조 / 자바 GC / Thread Safty와 동기화 / static, final3주차 : Exception, Generic, Collection, Synchronized Collection, Concurrent Collection, HashMap4주차 : JSP, Servlet, MVC Pattern, Cookie, Session, HTTP Method, HTTP St..
F-Lab Java Backend 과정 17주차~18주차 후기글입니다.F-Lab Java Backend 과자어 17주차 ~ 18주차17주차 ~ 18주차 멘토링 주제라이브 코딩1. 동시성 컨트롤이론1. Database View2. url 요청 보낸 후 일어나는 일들3. RDBMS vs. NoSQL4. LRU/LFU/FIFO 캐시 알고리즘프로젝트라이브 코딩17주차에는 16주차에 이어서 동시성 컨트롤에 대한 라이브 코딩을 진행했다. 동시성 컨트롤이라는 걸 한다면 직관적으로 아주 간단하게 synchronized를 적용하는 것을 생각했었다. 하지만 여기까지만 해서는 단순히 동시성 컨트롤을 했지만, 잘했다 소리는 듣지 못한다. 왜냐하면 synchronized는 해당 로직에 접근하는 모든 경우에 lock을 걸기 때문..