Spring 입문 주차 8.12(금) ~ 8.18(목)
1. 개인 과제: 게시판 CRUD 기능을 하는 백엔드 서버 만들기, AWS 배포 2. 팀 과제: Spring 핵심 키워드 정리(필수 4개, 선택 4개) |
진행 계획
- 12일(금) Spring 핵심 키워드 정리
- 13일(토) Spring 핵심 키워드 정리
- 14일(일) 개인과제에 필요한 강의 수강 및 공부
- 15일(월) API 명세서 작성, Use Case 그리기
- 16일(화) 게시판 CRUD 기능 코드 작성
- 17일(수) 게시판 CRUD 기능 코드 작성
- 18일(목) 게시판 CRUD 기능 코드 작성 및 AWS 배포
1. 복습
1) 스프링의 구조 3영역
- Controller: 가장 바깥 부분, 요청/응답을 처리
- Service: 중간 부분, 실제 중요한 작동이 많이 일어나는 부분 / 업데이트(갱신, 수정)에 필요
- Repository: 가장 안쪽 부분, DB와 맞닿아 있음(Repository, Entity) / 데이터를 생성, 삭제, 조회
2)Dto
RequestDto: 요청 시 필요한 정보를 옮기는 것을 도움
ResponsetDto: 응답 시 필요한 정보를 옮기는 것을 도움
3) Front-End 기본
- HTML: 뼈대
- CSS: 꾸미기
- Javascript: 동적 기능
2. 새로 배운 것
1) RDBMS(Relational DataBase Management System): 컴퓨터에 정보를 저장하고 관리하는 기술
- RDBMS의 종류: MySQL, PostgreSQL, Oracle Database
- 강의에서 사용할 RDBMS
- H2: In-memory DB의 대표 주자로 인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스
- MySQL: 우리가 서비스를 배포할 때 사용할 데이터베이스로 (AWS RDS 라는 서비스를 사용해 붙여볼 예정). 스프링과 궁합이 좋아서 많은 회사에서 사용
- SQL(Structured Query Language): 생성, 삽입, 조회 등 명령문
- SQL 연습하기
// 테이블 courses 생성
CREATE TABLE IF NOT EXISTS courses (
id bigint NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
tutor varchar(255) NOT NULL,
PRIMARY KEY (id)
);
// 데이터 삽입
INSERT INTO courses (title, tutor) VALUES
('웹개발의 봄, Spring', '남병관'), ('웹개발 종합반', '이범규');
// 데이터 조회
SELECT * FROM tutors;
2) JPA: SQL을 쓰지 않고 자바로 데이터베이스 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기(자바로 코드작성하다가 SQL도 써야하는 불편함을 해소할 수 있음)
- 사용 방법: 스프링 프로젝트에 의존성 추가
// 스프링 프로젝트 build.gradle에 JPA 의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
- JPA의 Domain == MySQL의 테이블 / JPA의 Repository == MySQL의 SQL
3. 오늘 한 일 / 회고
- 스프링 강의 수강 및 복습
- AWS 관련 강의 수강
4. TO-DO LIST
- 개인 과제: 게시판 CRUD 구현 시작
'개발 일지' 카테고리의 다른 글
[TIL]이노베이션 캠프 15일차 (0) | 2022.08.15 |
---|---|
[WIL]이노베이션 캠프 2주차 (0) | 2022.08.14 |
[TIL]이노베이션 캠프 13일차 (0) | 2022.08.13 |
[TIL]이노베이션 캠프 12일차 (0) | 2022.08.12 |
TIL]이노베이션 캠프 11일차 (0) | 2022.08.12 |