공존’s BLOG
/
Database
/
Projects
/
워밍업 클럽 1기
Search
Share
⚙️
워밍업 클럽 1기
인프런 워밍업 클럽 study 1기
백엔드 - Java, Spring Boot
프로젝트 사용 기술
•
Java
•
Spring Boot
•
JPA
•
MySQL
•
AWS
갤러리 보기
프로젝트 사용 기술
미션
목표
1.
스프링 프로젝트 설정하고 실행해보기
2.
서버, 네트워크와 HTTP, API, JSON 무엇이고 서버 개발에 필요한 개념 익히기.
3.
스프링 부트를 이용해서 GET API, POST API 만들기
1. 스프링 프로젝트를 시작하는 두 번째 방법
1. 생애 최초 API 만들기
프로젝트 사용 기술
미션
목표
1. 디스크와 메모리의 차이를 이해하고, Database의 필요성을 이해한다.
2. MySQL Database를 SQL과 함께 조작할 수 있다
3. 스프링 서버를 이용해 Database에 접근하고 데이터를 저장, 조회, 업데이트, 삭제할 수 있다.
4. API의 예외 상황을 알아보고 예외를 처리할 수 있다.
2. 생애 최초 Database 조작하기
프로젝트 사용 기술
미션
1. 좋은 코드가 왜 중요한지 이해하고, 원래 있던 Controller 코드를 보다 좋은 코드로 리팩토링한다.
2. 스프링 컨테이너와 스프링 빈이 무엇인지 이해한다.
3. 스프링 컨테이너가 왜 필요한지, 좋은 코드와 어떻게 연관이 있는지 이해한다.
4. 스프링 빈을 다루는 여러 방법을 이해한다
좋은 코드(Clean Code)는 왜 중요한가?
3. 역할의 분리와 스프링 컨테이너
프로젝트 사용 기술
미션
1. 문자열 SQL을 직접 사용하는 것의 한계를 이해하고, 해결책인 JPA, Hibernate, Spring Data JPA가 무엇인지 이해한다.
2. Spring Data JPA를 이용해 데이터를 생성, 조회, 수정, 삭제할 수 있다.
3. 트랜잭션이 왜 필요한지 이해하고, 스프링에서 트랜잭션을 제어하는 방법을 익힌다.
4. 영속성 컨텍스트와 트랜잭션의 관계를 이해하고, 영속성 컨텍스트의 특징을 알아본다
문자열 SQL을 직접 사용하는 것이 너무 어렵다
4. 생애 최초 JPA 사용하기
프로젝트 사용 기술
미션
책 생성 API 개발하기
책 요구사항 구현 하기
1. 책 생성, 대출, 반납 API를 온전히 개발하며 지금까지 다루었던 모든 개념을 실습해본다.
2. 객체지향적으로 설계하기 위한 연관관계를 이해하고, 연관관계의 다양한 옵션에 대해 이해한다.
3. JPA에서 연관관계를 매핑하는 방법을 이해하고, 연관관계를 사용해 개발할 때와 사용하지 않고 개발할 때의 차이점을 이해한다.
5. 책 요구사항 구현하기
프로젝트 사용 기술
미션
1. 배포가 무엇인지 이해하고, 배포를 하기 위해 어떤 준비를 해야 하는지 알아본다.
2. 스프링 서버를 실행할 때 DB와 같은 설정들을 코드 변경 없이 제어하는 방법을 알아본다
3. git과 github의 차이를 이해하고, git에 대한 기초적인 사용법을 알아본다.
4. AWS의 EC2가 무엇인지 이해하고, AWS를 통해 클라우드 컴퓨터를 빌려 본다.
배포란 무엇인가
배포
최종 사용자에게 SW를 전달하는 과정
6. 생애 최초 배포 준비하기
프로젝트 사용 기술
미션
1. EC2에 접속하는 방법을 알아보고, EC2에 접속해 리눅스 명령어를 다뤄본다.
2. 개발한 서버의 배포를 위해 환경 셋팅을 리눅스에서 진행하고, 실제 배포를 진행한다.
3. foreground와 background의 차이를 이해하고 background 서버를 제어한다.
4. 도메인 이름을 사용해 사용자가 IP 대신 이름으로 접속할 수 있도록 한다.
EC2에 접속해 리눅스 명령어 다뤄보기
이제 지난 시간에 빌린 컴퓨터에 접속해보자!
7. 생애 최초 배포하기
프로젝트 사용 기술
미션
build.gradle 이해하기
build.gradle
빌드 스크립트라고도 불리며, gradle을 이용해 프로젝트를 빌드하고 의존성을 관리하기 위해 작성되었다.
groovy 언어를 사용해 작성되었고, kotlin이라는 언어를 사용할 수도 있다.
둘다 JVM 계열의 언어다.
8. Spring Boot의 이모저모
미션
갤러리 보기
프로젝트 사용 기술
미션
주제
어노테이션을 사용하는 이유 (효과) 는 무엇일까?
어노테이션
자바 언어에서 추가적인
메타데이터를 제공
하는 데 사용되는 기호다.
어노테이션은 주로 컴파일러에게
코드에 대한 정보를 제공
하거나 런타임 시
동적으로 처리
되도록 한다.
어노테이션은 "@"로 시작하며, 클래스, 메소드, 변수 등에 적용될 수 있다
어노테이션을 사용하는 이유
주 목적은 코드의 가독성을 높이고 유지보수를 용이하게 해준다.
1일차) 어노테이션
프로젝트 사용 기술
미션
주제
두 수를 입력하면 값을 주는 GET API
주요 내용
키워드
POST API
HTTP Method
2일차) GET API , POST API
프로젝트 사용 기술
미션
주제
자바의 람다식은 왜 등장했을까?
주요 내용
키워드
익명 클래스
람다
함수형 프로그래밍
3일차) 람다식에 대해서
프로젝트 사용 기술
미션
주제
GET API와 POST API를 만드는 방법을 배웠다! 추가적인 API 들을 만들어 보며 API 개발에 익숙해져 보자.
주요 내용
키워드
GET API
POST API
함수형 프로그래밍
4일차) 추가적인 API 개발
프로젝트 사용 기술
미션
주제
클린코드에 대해서 이해하고 실제로 경험해보자.
주요 내용
키워드
클린 코드
클린 코드를 적용해보자
5일차) 클린코드
프로젝트 사용 기술
미션
주제
스프링 컨테이너의 개념을 배우고, 기존에 작성했던 Controller 코드를 3단 분리해보았다. 앞으로 API를 개발할 때는 이 계층에 맞게 각 코드가 작성되어야 한다
주요 내용
키워드
3단 분리
3단 분리
6일차) 3단 분리
프로젝트 사용 기술
미션
주제
JPA라는 개념을 배우고 유저 테이블에 JPA를 적용해봤다. 이제 JPA 연습해보자.
주요 내용
키워드
JPA
JPA 적용 및 연습
7일차) JPA 적용
프로젝트 사용 기술
미션
<미니 프로젝트>에서 사용될 기술 스택
•
자바 17 버전
•
Spring Boot 3XX
•
JPA
•
MySQL
<미니 프로젝트>에서는 간단한 출퇴근 사내 시스템을 만들어 가게 됩니다!
화면까지 개발할 필요는 없고, 각 기능 을 담당하는 API가 있어, API의 역할을 설명할 수 있다면 충분합니다.
직원 저장 기능 ( POST/member )을 사용하면 직원이 데이터베이스에 저장되는데, 이렇게 저장된 직원은 직원 조회 기능 (GET/member )을 통해 확인할 수 있습니다.
8일차) 미니 프로젝트