목록백엔드 (16)
leehyeon-dv 님의 블로그

해당 화면들에 대해 작성했던 쿼리를 QueryDSL로 작성하여 리팩토링하기⭐미션목록1. Mission2. Review3. MemberRepository/Custom/Impl구조로 나누는 이유1. 기존 SpringDataJPA와의 통합 JpaRepository를 통해 기본 CRUD기능 + 커스텀 기능 동시에 사용가능 하나의 레포지토리 인터페이스로 모든 기능 접근 가능2. 관심사 분리 기본 기능과 복잡한 쿼리의 명확한 분리 인터페이스와 구현체 분리로 결합도 감소3. 확장성 새로운 QueryDSL메서드가 필요할때 인터페이스에 추가하고 구현만 하면 됨 기존 코드 변경없이 기능 확장 가능 Repository = SpringDat..

⭐ 목차영속성 컨텍스트란?왜 영속상태가 좋을까 지연로딩(FetchType.LASY)N=1JPQLQueryDSL실습목표 = JPA의 영속성 컨텍스트의 개념, JPQL과 QueryDSL의 차이점, QueryDSL이 가지는 유리함에 대해 알기 📌영속성 컨텍스트란? JPA의 핵심개념 중 하나로 엔티티 객체를 영구적으로 저장하고 관리하는 일종의 메모리 공간이다 쉽게 말하면, 애플리케이션 내부에 존재하는 가상의 데이터 베이스라고 이해할 수 있다 왜필요할까? → ORM은 객체와 관계형 데이터베이스를 자동으로 매핑해주는 기술이다. JPA는 이러한 ORM기술을 제공하며 영속성 컨텍스트는 JPA에서 엔티티 객체를 효율적으로 관리하기위해 존재한다 동작방식데이터를 조회하거나 저장시, JPA는 다음과 같은 흐름으로 동작합..

⭐ 목차JPA사용 이유spring 프로젝트 설계엔티티 매핑매핑테이블 설계연관관계 매핑양방향 매핑칼럼 별 세부적인 설정 목표 = JPA를 사용해 엔티티를 만들고 DB에 테이블이 만들어지는지 확인하기 📌JPA사용이유 자바의 목표 : 캡슐화/상속/다형성을 활용하는 것, RDBMS(관계형 데이터베이스)는 데이터를 정교하게 구성하는 것예)// 중복 회원인지 먼저 확인해주는 작업pStmt = conn.prepareStatement("SELECT * from member WHERE id = ?");pStmt.setLong(1, newUser.getId());res = pStmt.executeQuery();if(res.next()) { return "이미 가입한 사용자입니다. 다른 id를 사용해주세요.";}J..

💡aws rds에서 db를 만든다 aws에서 과금이 안되도록 설계하려는 과정입니다 1. aws에서 rds에 들어가 데이터베이스를 생성한다MySQL을 선택합니다 템플릿은 프리티어로 만듭니다 이름을 설정합니다 암호도 적습니다 ( 기억해둬야함) 혹시 몰라서 백업도 꺼줍니다 데이터베이스 생성 버튼 누르면 생성 성공~!🔥 이렇게 생성됐으면 datagrip에서 aws를 연결한다 🤔연결안되는 이슈datagrip에 연결하려했더니 연결이 안됨 1. aws 데이터베이스에 들어가서 수정으로 간다 2. 퍼블릭 엑세스를 한다 🤔그래도 안됨 보안설정홈으로간다 EC2로 간다 대시보드에서 보안그룹으로 들어온다 인바운드 규칙편집으로 들어간다 규칙을 추가함 이렇게 만든 규칙을 추가한다 호스트에 엔트포인트를 넣고 사..

✨목차데이터베이스란?알아야할 DB용어SQL 문으로 데이터베이스 조작하는 연습하기연습문제조건 넣어보기: WHERE절데이터 추가하기: INSERT문데이터 삭제하기: DELETE문데이터 수정하기: UPDATE문연습문제ORM이란?JPA와 하이버네이트엔티티 매니저란?영속성 컨텍스트란?엔티티의 상태스프링 데이터와 스프링 데이터 JPA예제 코드 살펴보기📌데이터베이스란?데이터베이스는 데이터를 매우 효율적으로 보관하고 꺼내볼 수 있는 곳이다데이터베이스를 사용하면 얻을 수 있는 가장 큰 이점은 굉장히 많은 사람이 안전하게 데이터를 사용하고 관리할 수 있음 DBMS(데이터 베이스 관리자)많은 요구사항을 만족하면서도 효율적으로 데이터베이스를 관리하고 운영함MySQL, 오라클 등이 해당함관리 특징에 따라 관계형, 객체 관계형..

✨목차테스트 코드란?스프링 부트3와 테스트JUnit을 실제로 사용해보기AssertJ로 검증문 가독성 높이기테스트 코드작성 연습문제 풀어보기제대로 테스트 코드 작성해보기테스트 코드 패턴 연습하기테스트 코드 연습문제 풀어보기1.📌테스트 코드란?테스트 코드는 작성한 코드가 의도대로 잘 작동하고 예상하지 못한 문제가 없는지 확인할 목적으로 작성하는 코드이다 테스트 코드의 여러 패턴중 given-when-then 패턴을 알아보자테스트코드를 세 단계로 구분해 작성하는 방식given = 테스트 실행을 준비하는 단계 when = 테스트를 진행하는 단계 then = 테스트 결과를 검증하는 단계 예) 새로운 메뉴를 저장하는 코드 테스트 @DisplayName("새로운 메뉴를 저장한다.")@Testpublic void s..

✨목차 @SpringBootApplication 이해하기 @SpringBootApplication 의미 파악 프로젝트 이해 스프링에서의 계층 디렉터리 구성 main 디렉터리 구성 build.gradle에 의존성 추가하기 프레젠테이션, 서비스, 퍼시스턴스 계층 만들기 작동 확인하기 스프링 부트 요청-응답 과정 이해하기 1📌@SpringBootApplication 이해하기//springBootDeveloperApplication.java@SpringBootApplicationpublic class SpringbootDeveloperApplication { public static void main(String[] args) { SpringApplication.run(Springboot..

01. 📌TestController.java 파일을 만들어 코드 입력 (/test GET요청시 "test"문자열 반환)@RestControllerpublic class TestController { @GetMapping("/test") public String test() { return "test"; }} 02.📌 실행 localhost(현재사용중인 컴퓨터) : 8080(포트번호) / test(경로)이처럼 웹 브라우저에서 요청할 주소에 맞게 코드를 작성하면 웹 사이트나 웹 애플리케이션을 개발 할 수 있다 ✏️스프링 부트 스타터의존성이 모여있어 필요한 기능을 간편하게 설정할 수 있다 spring-boot-starter-webSpring MVC를 사용해..

엔터프라이즈 애플리케이션이란? 대규모의 복잡한 데이터를 관리하는 애플리케이션 이게 복잡해져서 스프링 프레임워크가 등장! 스프링 프레임워크서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구 스프링의 설정이 복잡하다는 단점 → 스프링 부트 출시 📌 스프링 부트와 스프링의 차이 구성스프링 = 애플리케이션 개발에 필요한 환경을 수동으로 구성하고 정의스프링부트 = 스프링 코어와 스프링 MVC의 모든 기능을 자동으로 로드해 수동으로 개발환경을 구성할 필요없음내장 WAS의 유무 스프링 = 톰갯과 같은 WAS에서 배포스프링 부트 = WAS를 자체 보유 (jar 파일만 만들면 WAS를 설정하지 않아도 애플리케이션 실행가능) 📌IOC(제어의 역전)다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에..

✨목차서버와 클라이언트데이터베이스RDBSQL/ NoSQLip와 포트라이브러리와 프레임워크백엔드 개발자의 업무 자바 애너테이션 ✏️서버와 클라이언트 클라이언트 = 서버로 요청하는 프로그램을 모두 일컬어 말한다 (예 : 웹 브라우저)서버 = 클라이언트의 요청을 받아 처리 ✏️데이터베이스 여러사람이 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소 데이터베이스를 관리하기 위한 시스템(DBMS) = MySQL, 오라클, 포스트그레SQL ... ✏️RDBRelational DataBase (관계형 데이터베이스)가장 많이 사용하는 데이터베이스 → REB가 아닌 DB = NoSQL, NewSQL관계형 데이터베이스는 데이터를 행과 열로 이루어진 테이블로 관리하고 기본..