[인프런 워밍업 클럽 3기] 1주차 발자국
[1주차]
강의수강
웹 서비스를 구성하는 요소 - 클라이언트에 요청에 의해 동작하는 과정 학습
클라이언트: 요청하는 주체
서버: 응답하는 객체(CRUD 작업)
데이터베이스: 데이터의 집합 (ex) DBMS: Oracle, MySQL 등
MVC 패턴 - 요청을 받은 서버의 동작을 개발자가 기능 역할에 따라 분류한 소프트웨어 아키텍처 디자인 패턴
Model: 데이터를 담는다. Controller는 데이터를 넣고, View는 데이터를 꺼내온다.
View: User에게 보여지는 화면을 담당한다. Model에서 데이터를 꺼내온다.
Controller: 요청을 받으면 그에 합당한 기능을 수행한다. 작업의 결과물을 Model에 넣는다.
레이어드 아키텍처: 세 개의 계층으로 된 소프트웨어 아키텍처. 스프링에서 자주 사용함
Presentation(Controller): Service의 함수 호출
Service: MVC에서 Controller의 기능을 담당한다. Repository에서 데이터를 불러와 CRUD 작업을 수행.
Repository: DB에 접근하여 작업을 요청한다.
스프링 Bean과 컨테이너에 대한 개념 - 흔히, 자바에서 가장 중요한 "객체"와 "상속"의 개념으로 이해했다.
REST API: HTTP 통신으로 동작하는 어플리케이션 기능을 정의하는 일종의 규칙, 컨벤션
Query Parameter, HTTP Request Body, Path Variable
Using @RequestParam, @RequestBody, @PathVariable
데이터베이스: 이론적으로는 데이터의 집합. Excel, Access 같은 것도 DB에 속하지만 웹 개발에서는 DBMS를 뜻함.
관계형 데이터베이스: 데이터를 행과 열로 이루어진 표의 형태로 저장 (Oracle, MySQL, PostgreSQL)
한 행은 한 개의 데이터, 한 열은 하나의 데이터 특성
'키(key)'라는 개념에 따라 1:1 또는 1:N 또는 N:M의 관계를 가질 수 있게 함
비관계형 데이터베이스: 관계형 데이터베이스를 제외한 모든 종류 (MongoDB, Redis)
학습 회고
- 학교 수업과 동아리에서 배웠던 내용들이라 친숙했다. 아마 웹 개발에 필요한 핵심 개념들은 모두 들어있다고 생각한다. 특히나 Spring을 다뤄본적 없는 내 입장에서는 'Bean'이라는 개념이 가장 신선하게 다가왔던 것 같다.
미션
아직 스터디 초기 단계! 레포지토리 만들고 commit 하는 미션에 어려움은 없었다.
프로젝트의 목적: 우리 동네 도서관의 사물함 예약 서비스를 이용하는데 불편함을 느껴 한번 만들어보고자 함
댓글을 작성해보세요.