본문 바로가기
반응형

스프링부트12

[JPA] N+1 문제 개념, 원인, 해결방안 [JPA] N+1 문제 ,개념, 원인 해결(@EntityGraph, Fetch) 관계를 갖고 있는 엔티티안에서 조회시에 발생할 수 있는 문제 1개의 쿼리를 원했지만 추가적으로 N번의 쿼리가 더 발생한다. @EntityGraph, Fetch 연관된 엔티티들을 SQL 한번에 조회하는 방법 Member N : 1 Team Member.class @ManyToOne Team team 실무에서는 지연로딩(FetchType.LAZY)을 사용하자 Team.class @OneToMay List members OneToMany는 Default가 Lazy전략이다 지연로딩 (LazyLoading) Member 조회시 Team은 각자객체로 조회해놓고 team을 사용하는 시점에 SQL이 별도로 날라간다. 설명 구현코드 //To.. 2021. 7. 13.
[AWS] EC2 초기 설정 (Springboot, Java 11) AWS EC2에 접속하기 Mac OS: Mac은 ssh가 있어서, 명령어로 바로 접근 가능! 터미널을 열기 (spotlight에 terminal 입력) 방금 받은 내 Keypair의 접근 권한을 바꿔주기 sudo chmod 400 받은키페어를끌어다놓기 SSH로 접속하기 ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피 예) 아래와 비슷한 생김새! ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20 Window: ssh가 없으므로, git bash라는 프로그램을 이용! gitbash를 실행하고, 아래를 입력! ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피 예) 아래와 비슷한 생김새! ssh -i /path/my-key-pair.pem.. 2021. 4. 10.
[프로젝트] 스프링 부트 게시판 (+ 댓글기능) 만들기 완료 05 (드림리멤버 v2) 프로젝트 특징 스프링부트 Jpa를 기반으로 꿈을 기록하는 웹서비스 드림리멤버(v1)에서 회원기능(소셜로그인 포함), 게시판 댓글기능, 게시글 검색 및 전체 페이지 페이지네이션 기능 추가 요구 명세서에 따라 프로젝트 설계 및 구현 개요 명칭 : 드림리멤버 (v2) 개발 인원 : 1명 개발 기간 : 2021.03.26 ~ 2021. 03.31 주요 기능 : 전체 게시글 조회, 회원기능, 게시글 기능, 댓글기능 개발 언어 : java 8, javascript 개발 환경 : springboot 2.4.4, jpa, spring-security, junit5, thymeleaf 데이터베이스 : mysql 형상관리 툴 : git 간단 소개 : 꿈(진짜 밤에 꾼 꿈)을 기록하는 커뮤니티 사이트 : 드림리멤버 시연영상.. 2021. 4. 1.
[프로젝트] 스프링부트 빌드 후 실행시 JSONExeption 발생할 경우 프로젝트를 빌드하고 java -jar 명령어로 실행하니 어플리케이션이 에러를 뱉었다. JSONException Caused by: java.lang.NoClassDefFoundError:org/springframework/boot/configurationprocessor/json/JSONException 무엇인고 하니 org.json을 임포트 한게 하니라 스프링프레임워크 컨피규레이션 프로세서에 있는 Json을 import해서 에러를 뱉는 것이었다. 해결방안 pom,xml에 json을 의존성 주입을 받는다. org.springframework.boot.configurationprocessor.json.JSONExeption 앞에 빨간 부분을 org.json으로 바꿔준다 org.json json 20200518 2021. 4. 1.
[프로젝트] 스프링 부트 게시판 만들기 화면 설계 04 (드림리멤버 v2) 1. 드림리멤버에 공통으로 적용되는 부분 2. 로그인시 로그아웃, 비 로그인시 회원가입 로그인 버튼을 활성화 한다. 3 게시글 작성, 로그인 클릭시 로그인 페이지로 이동한다. 4. 회원가입 클릭시 회원가입페이지로 이동한다. 5. 로고 클릭시 전체페이지로 이동한다. 1. 닉네임과 패스워드를 입력받고 로그인 버튼을 클릭시 로그인을 진행 후 전체페이지로 이동한다. 2. 카카오톡으로 로그인 클릭시 카카오api를 이용하여 로그인을 진행 후 전체페이지로 이동한다. 1. 닉네임, 비밀번호, 비밀번호 확인을 입력받고 회원가입 버튼 클릭시 회원가입을 진행하고 로그인 페이지로 이동한다. 1. 제목 작성자명 작성날짜가 조회된다.2. 제목 클릭시 꿈 상세페이지로 이동 2. 작성날짜 기준으로 내림차순 정렬 3. 게시글을 페이지.. 2021. 3. 27.
[프로젝트] 스프링부트 게시판 만들기 API 설계 03 (드림리멤버 v2) API 설계 유투브 youtu.be/khGIC19uLgU API 관련 수정영상 youtu.be/T03bA6pDKEM 다음 게시글 2021.03.27 - [Projects/remember_dream] - [프로젝트] 스프링 부트 게시판 만들기 화면 설계 04 (드림리멤버 v2) 2021. 3. 26.
[프로젝트] 스프링 부트 게시판 만들기 테이블 설계 02 (드림리멤버 v2) ERD 테이블별 상세 정보 유투브 영상 youtu.be/ldqnjPDvWfg 다음 게시글 2021.03.26 - [Projects/remember_dream] - [프로젝트] 스프링부트 게시판 만들기 API 설계 03 (드림리멤버 v2) 2021. 3. 26.
[프로젝트] 스프링부트 게시판 만들기 요구사항 01 (드림리멤버 v2) 요구사항 회원 가입 페이지 회원가입 버튼을 클릭하기 닉네임, 비밀번호, 비밀번호 확인을 입력하기 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기 비밀번호 확인은 비밀번호와 정확하게 일치하기 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 프론트엔드에서 보여주기 회원가입 버튼을 누르고 에러메세지가 발생하지 않는다면 로그인 페이지로 이동시키기 로그인 페이지 로그인, 회원가입 버튼을 만들기 닉네임, 비밀번호 입력란 만들기 로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지 않.. 2021. 3. 26.
[Web] 포트포워딩 적용이 안될 때 (80 -> 8080) 포트포워딩 관련 명령어 sudo iptables -t nat -L (현재 포워딩한 포트를 확인한다) sudo iptables -D PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000 80포트에서 5000으로 리다이렉트 것을 제거하는 명령어이다. sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 80포드로 접속시 8080으로 리다이렉트 하게 만들어 주는 명령어이다. 문제 발생 8080포트로 리다이렉팅 하려고 하였는데 적용이 되질 않았다 확인해보니 80으로 들어올 때 5000으로 리다이렉트 되는 것이 남아 있어서 그랬던 것이다... 2021. 3. 23.
[프로젝트] 스프링부트 게시판 만들기 (드림리멤버 v1) (03.23 완료) 프로젝트 특징 스프링부트를 기반으로 CRUD 기능이 포함된 웹서비스 AWS에 스프링부트 프로젝트 배포 개요 명칭 : 리멤버 드림 개발 인원 : 1명 개발 기간 : 2021.03.20 ~ 2021. 03.22 주요 기능 : 전체 게시글 조회, 게시글 CRUD 개발 언어 : thymeleaf, css, javascript, java 8 개발 환경 : springboot 2.4.4, jpa, spring-security, junit5 데이터베이스 : mysql 형상관리 툴 : git 간단 소개 : 꿈(진짜 밤에 꾼 꿈)을 기록하는 커뮤니티 사이트 드림 리멤버 드림리멤버 꿈 꾼 내용을 기록하는 커뮤니티 seongbindb.shop 코드 설명 www.youtube.com/watch?v=WEPJDpo-PQU 화면 .. 2021. 3. 20.
[project] 스프링부트와 AWS로 혼자 구현하는 노트정리 스프링부트와 AWS로 혼자 구현하는 웹서비스 Service URL: https://bit.ly/2UvbHkD Feedback Service ec2-3-34-29-36.ap-northeast-2.compute.amazonaws.com Springboot-AWS 프로젝트는 아래의 기능을 연습하기 위한 프로젝트입니다. Intellij 사용하기 github로 버전관리 Spring Boot를 활용한 Spring 프로젝트 생성하기 Spring Boot에서 테스트코드 작성하기 Spring Data JPA를 활용한 관계형 데이터베이스 엑세스하기 H2 인메모리 관계형 데이터베이스 사용하기 @RestController를 활용한 REST API 제공하기 Mustache를 템플릿 엔진으로 사용하기 Spring Security.. 2020. 11. 8.
[책 후기]스프링부트와 AWS로 혼자 구현하는 웹서비스 리뷰 (+정리 링크) 개요 스프링부트와 AWS로 혼자 구현하는 웹서비스 책에 관한 리뷰와 내용들을 정리한 노트를 제공합니다. 😀 목차 이 책을 읽은 계기 노트 정리 총평 이 책을 읽게 된 계기 이 책은 2월 말에 구입하여 3월 초까지 읽었던 책이었고 처음 블로그를 생성한 6월과는 다소 차이가 있지만 처음으로 구입해서 읽은 책이다. 필자는 개발에 대한 교육은 6개월 동안 수강한 JAVA 웹개발자 과정을 이수하였다. 교육 과정에서 배운 것은 레거시한 것 (Spring MVC, JSP, JQUERY)을 이용해서 웹 페이지를 구현하였다. Github Link 그 것과 달리 이 책에서는 지금 까지 내가 배우지 못한 것 (Spring security, spring-boot, NginX, JPA, TDD 기반 설계) 등등의 기술을 다뤄 .. 2020. 11. 8.
반응형