
문제 상황동화들 중 즐겨찾기한 동화를 조회했을 때 발생한 문제입니다. 쿼리를 확인해보면2024-09-06T17:22:14.628+09:00 DEBUG 7032 --- [storyteller] [nio-8080-exec-1] org.hibernate.SQL : select pe1_0.id, pe1_0.birthDate, pe1_0.imageUrl, pe1_0.name, pe1_0.pinNumber, pe1_0.user_id from ProfileEntity pe1_0 where pe1_0.id=? 2024-09-06T17:22:14...
문제 상황유저 정보를 업데이트하는 API를 확인해 보자.이 API는 @PatchMapping을 활용해 특정 칼럼(birth, intro, nickname, profileImage)만 업데이트하는 경우이지만실제 UPDATE 쿼리를 확인하면 모든 컬럼에 대해 set이 들어가 있다..?2024-08-23T22:04:40.768+09:00 DEBUG 14232 --- [moongge] [nio-8080-exec-5] org.hibernate.SQL : /* */ select ue1_0.userId, ue1_0.badgeList, ue1_0.birth, ue1_0.fcmToken, ue1_0.group..

문제 상황사용자 회원가입하는 API 의 쿼리를 찍어보면 아래와 같이 Select 문장이 두 개 + Insert 문 하나가 찍히는 것을 확인할 수 있다. 2024-08-23T11:22:30.710+09:00 DEBUG 148 --- [moongge] [nio-8080-exec-2] org.hibernate.SQL : /* */ select ue1_0.userId from UserEntity ue1_0 where ue1_0.userId=? limit ?2024-08-23T11:22:41.611+09:00 DEBUG 148 --- [moongge] [nio-8080-exec-2] org.h..

최근 면접을 통해 Docker와 GitHub Actions를 활용한 자동 배포 경험이 있으면 좋다는 이야기를 듣게 되었다. 실제로 적용해보기 전에 도커가 무엇인지 그리고 왜 사용하는지에 대해 먼저 이해하고 나서 사용하는 것이 좋을 것 같아 적어보는 글이고, 실습보다는 이론적인 내용들로 정리해 볼 생각이다. 가상화 나오게 된 배경을 알아보자내가 만든 웹서비스를 실행하기 위해 서버로 쓸 컴퓨터를 하나 구했다고 가정해 보자. 웹서비스를 위해 필요한 Java, MySQL 등의 소프트웨어를 설치하고, 많은 사용자가 사용할 수 있도록 서버를 설정했습니다. 시간이 지나, 또 다른 웹서비스를 개발하게 되었고, 이 새로운 서비스도 같은 컴퓨터에 설치하고자 합니다. 그러나 여기서 문제가 발생합니다. 새 웹서비스는 최신 ..

회원 관리 시스템은 로그인과 회원가입 기능을 중심으로 구성됩니다. 이 두 가지 핵심 기능은 사용자의 편의성과 보안을 모두 고려해야 한다는 점입니다. 이번 프로젝트에서 로그인과 회원가입 기능을 맡게 되면서, 보안적인 측면에 대해 정리하고자 합니다. 로그인, 회원가입 기능을 만들고자 했을 때 쿠키, 세션, 토큰, JWT과 같은 단어를 많이 볼 수 있을 것이다.이번 포스팅에서는 쿠키, 세션, 토큰에는 어떤 차이점이 있는지 JWT는 무엇인지 설명드리고자 합니다. 1. 쿠키란? 쿠키를 이용하면 서버가 브라우저에 데이터를 넣을 수 있게 됩니다.우리가 웹사이트를 방문하게 되면, 브라우저는 서버에게 요청을 보내게 됩니다. 서버는 이 요청에 대해 응답을 하게 되는데, 그 페이지를 위한 여러 데이터들이 응답에 담겨있을..
- 단일 테이블 전략
- 비영속
- 엔티티 매니저
- 인메모리 db
- @Cacheable
- 조인 전략
- @Table
- 메일
- onetoone
- 즉시 로딩
- @Entity
- 변경감지
- 최적화
- 스키마 자동 생성
- @joincolumn
- N + 1
- @Id
- mappedBy
- 연관관계
- Redis
- 1차 캐시
- @TransactionalEventListener
- 준영속
- @ManyToOne
- JPA
- 비동기
- 영속성 컨텍스트
- @GeneratedValue
- @OneToMany
- @MappedSuperclass