전체

· spring
section531강. 대출 기능 개발하기32강. 책 반납 기능 개발하기33강. 조금 더 객체지향적으로 개발할 수 없을까?34강. JPA 연관관계에 대한 추가적인 기능들35강. 책 대출/반납 기능 리팩토링과 지연 로딩1. 대출기능 개발 - 새로운 테이블 생성현재 user, book 2개의 테이블이 존재한다. 하지만 이 2개의 테이블 만으로는 대출 기능을 만들 수 없다. 새로운 테이블 user_loan_history 이 필요하다.create table user_loan_history ( id bigint auto_increment, user_id bigint,book_name varchar(255), is_return tinyint(1), primary key (id))user_id : 어떤 유저가 빌렸는..
· spring
진도표 7일차와 연결됩니다우리는 JPA라는 개념을 배우고 유저 테이블에 JPA를 적용해 보았습니다. 몇 가지 문제를 통해 JPA를 연습해 봅시다! 🔥 문제1JPA(Java Persistence API) 는 자바 객체를 관계형 데이터 베이스에 영속적으로 저장하고 조회할 수 있는 ORM 기술에 대한 표준 명세를 의미한다.JPA 를 통해 SQL 쿼리를 작성하지 않고도 객체를 통해 데이터베이스를 조작할 수 있어 보수성이 향상된다.Entity 클래스를 작성한 후 Repository 인터페이스를 생성해야하는데, JpaRepository를 상속받도록 하면, 기본적인 쿼리 추가, 조회, 수정, 삭제, findAll(), findById() 등의 메서드를 사용할 수 있다.1) Entity 클래스 정의@Entitypub..
· spring
진도표 6일차와 연결됩니다우리는 스프링 컨테이너의 개념을 배우고, 기존에 작성했던 Controller 코드를 3단 분리해보았습니다. 앞으로 API를 개발할 때는 이 계층에 맞게 각 코드가 작성되어야 합니다! 🙂과제 #4 에서 만들었던 API를 분리해보며, Controller - Service - Repository 계층에 익숙해져 봅시다! 👍 controller, service, repository로 분리해보자.파일의 폴더 구조는 아래와 같다. controller, domain, dto, repository, service 폴더로 이루어져 있으며, 각각에 해당하는 파일들이 위치한다.FruitController.javapackage com.group.libraryapp.controller.fruit;i..
진도표 5일차와 연결됩니다우리는 라는 개념을 배웠습니다. 에 대한 감각을 익히기 위해서는 어떤 코드가 좋은 코드이고, 어떤 코드가 좋지 않은 코드인지 이론적인 배경을 학습하는 것도 중요할 뿐 아니라, 다양한 코드를 읽어 보며 어떤 부분이 읽기 쉬웠는지, 어떤 부분이 읽기 어려웠는지, 읽기 어려운 부분은 어떻게 고치면 좋을지 경험해보는 과정이 필요합니다.이번 과제는 제시된 코드를 읽어보며, 코드를 더 좋은 코드로 고쳐나가는 과정입니다. 구글에 “클린 코드” 혹은 “클린 코드 정리”를 키워드로 검색해보면, 이론적인 배경을 충분히 찾아보실 수 있습니다. 🙂 그러한 내용들을 보며 제시된 코드를 더 좋은 코드로 바꿔보세요! (코드를 바꿀 때 왜 바뀐 코드가 더 좋은 코드인지 다른 사람에게 설명하신다고 생각해보시..
· spring
진도표 4일차와 연결됩니다우리는 GET API와 POST API를 만드는 방법을 배웠습니다. 👍 추가적인 API 들을 만들어 보며 API 개발에 익숙해져 봅시다!문제1 : "과일 정보" 저장하는 api 생성FruitController, Fruit, FruitCreateRequest 파일을 아래와 같은 폴더 구조로 만들었다.그런데 (문제2)에서 id 값이 필요한 것을 보고, primary key로 id 를 추가 설정하였다.Fruit.javapackage com.group.libraryapp.domain;import java.time.LocalDate;public class Fruit { private String name; private LocalDate warehousingDate; p..
· spring
진도표 3일차와 연결됩니다우리는 JdbcTemplate을 사용하는 과정에서 익명 클래스와 람다식이라는 자바 문법을 사용했습니다. 익명 클래스는 자바의 초창기부터 있던 기능이고, 람다식은 자바 8에서 등장한 기능입니다. 다음 키워드를 사용해 몇 가지 블로그 글을 찾아보세요! 아래 질문을 생각하며 공부해보면 좋습니다! 😊 [키워드]익명 클래스 / 람다 / 함수형 프로그래밍 / @FunctionalInterface / 스트림 API / 메소드 레퍼런스 [질문]자바의 람다식은 왜 등장했을까?람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까? 자바의 람다식 등장 배경람다식이 등장하게 된 이유는 불필요한 코드를 줄이고, 가독성을 높이기 위함이다.현재 실습하고 있는 '도서관리 애플리케이션..
· spring
진도표 1일차와 연결됩니다우리는 최초로 API를 만들어 보았습니다. GET API를 만들기 위해 사용했던 어노테이션에 익숙하지 않다면 자바 어노테이션에 대해서 몇 가지 블로그 글을 찾아보세요! 다음 질문을 생각하며 공부해보면 좋습니다! 😊 [질문]어노테이션을 사용하는 이유 (효과) 는 무엇일까?나만의 어노테이션은 어떻게 만들 수 있을까?어노테이션을 사용하는 이유 (효과) 는 무엇일까?어노테이션(Annotation)은 주석이다. 코드 사이에서 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록한다.일종의 프로그램에게 정보를 제공해주는 데이터를 위한 데이터인 메타데이터이다.따라서 코드량이 감소하고 유지보수하기 쉽고, 생산성이 증가한다.어노테이션에는 어떤 종류가 있을까?그렇다면 어노테이션은 어떻게 쓰일까? 어떤..
· spring
스프링 부트로 하는 첫 프로젝트라 좀 많이 힘들었다. 더욱이 스프링 기초가 제대로 잡혀 있지 않아서 더 힘들었다. 코드리뷰 할 게 너무 많이 밀려서 제대로 하나하나 보기 위해 정리하는 겸, 따로 실습해보는 겸 정리 글을 쓰려고 한다. 또 이렇게 글로 정리하면, 나중에 다른 스프링 부트 프로젝트를 진행할때 수월하게 따라가는 지침서의 역할도 만들 수 있으니 여러모로 장점일 거라는 생각이 들었다. 코드리뷰 #1 데이터베이스 구조 설계 feature branch workflow 새로운 기능을 개발할 때마다 branch를 만들어서 작업한다. 이렇게 작업하면, 새로운 기능은 새로운 branch에 작업하므로 master 브랜치는 항상 bug free 상태를 유지할 수 있어서 지속적 통합(Continuout Integ..
코딩신생아(0o0)
'분류 전체보기' 카테고리의 글 목록 (2 Page)