반응형 [서버]/[SpringBoot Kotlin]63 [Kotlin + Spring] 내가 QueryDSL을 도입하게 된 이유 개인으로 새로 개발하고 있는 프로젝트가 있습니다. 원래는 이전 프로젝트들처럼 FireBase or SupaBase 로 간단하게 MVP 개발 후에 백엔드를 추후 구축하려 했으나 오래 걸릴 것 같지 않고 백엔드가 필요해져셔 Kotlin + Spring 으로 백엔드를 구축하고 있습니다. 단순 JPA로만 구현을 하다가, 확장성을 높여보기 위해서 QueryDSL 도입을 추진하게 되었습니다. N+1 문제 JPA를 사용해보신 분들이라면 모두 한 번쯤은 겪으셨을만한 문제입니다. 다른 라이브러리는 문제 없지만, JPA 는 이렇습니다. N + 1 문제 또는 1 + N 문제는 (같은 말입니다) OneToMany 관계에서 LAZY 조회를 하던 EAGER 조회를 하던, 프록시 객체를 이용하는 JPA 특성 상 발생하는 문제입니다.. 2024. 4. 8. [Kotlin + Spring] 2. Spring data JPA 활용하기 (feat. cherry pick) 이전 글 : [Kotlin + Spring] 1. 새 프로젝트 시작 (NginX 연동까지) 이번에는 이전 글에 이어서 Spring data JPA 를 활용해보겠습니다. MySQL을 사용할 것이므로, 아직 설치하지 않으신 분은 이 글을 통해 설치하고 와주세요 먼저 Spring Data JPA와 Mysql Connector 두 개의 dependency가 필요합니다. implementation("org.springframework.boot:spring-boot-starter-data-jpa") runtimeOnly("com.mysql:mysql-connector-j") Spring data JPA JPA는 ORM 프레임워크입니다. ORM은 객체와 데이터베이스 테이블을 1:1로 매핑해주는 프레임워크로, 객체지향.. 2024. 3. 27. [Kotlin + Spring] 1. 새 프로젝트 시작 (NginX 연동까지) 코프링으로 프로젝트를 만들어본지 꽤나 오래, 1년이나 되었습니다. 이번에 우아한테크코스에서 안드로이드 코틀린 과정을 진행하면서, 코틀린에 대해서도 알아가고 있습니다. 그리고 개인적으로 준비하고 있는 서비스의 백엔드를 코프링으로 계획중이었기에, 코프링의 기본을 복습하며 쓰는 강의글입니다. (제가 나중에 까먹으면 보려고) IntelliJ Ultimate 버전이 아니면 자체적으로 Spring 프로젝트를 만들기 까다로우므로 Spring initializr 사이트를 이용하겠습니다. https://start.spring.io/ 에서 다음과 같이 만들어줍니다. 자바 버전은 17로 했고, Gradle Maven 중에 Gradle 을 선택, Groovy 대신 Kotlin을 통해 Kotlin DSL에 대한 마이그레이션 공.. 2024. 3. 27. SpringBoot Mysql 프로젝트 EC2에서 Docker로 실행하기 AWS EC2 인스턴스를 일단 생성한다. 프리티어 EBS 볼륨은 최대 30G 이므로 30G로 설정하면 좋다. 그리고 탄력적 IP 주소도 할당받아서 이 인스턴스에 붙여준다. 프리티어에서는 붙여놔야 요금이 나가지 않는다. 그리고 스프링부트 서버는 8080으로 열 것이기에 8080에 대한 인바운드 규칙을 추가한다. 이제, 인스턴스에 대한 ssh 로그인을 하기 위해 pem 파일을 400으로 설정해서 나만 읽을 수 있게 한다. chmod 400 xxx.pem 그리고 안내되어 있는 것 처럼 ssh 로그인을 하면 되는데, 이 명령어가 상당히 길다. ssh -i ~~~~~ 매번 이 명령어를 복붙해서 쓸 수도 없고.. 간편하게 쉘 스크립트 파일을 만들어놓자. login.sh 파일을 만든다. #!/bin/bash ssh .. 2023. 4. 21. 이전 1 2 3 4 5 6 ··· 16 다음 반응형