[인프런 워밍업 클럽 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'이라는 개념이 가장 신선하게 다가왔던 것 같다.



미션

image

  • 아직 스터디 초기 단계! 레포지토리 만들고 commit 하는 미션에 어려움은 없었다.

  • 프로젝트의 목적: 우리 동네 도서관의 사물함 예약 서비스를 이용하는데 불편함을 느껴 한번 만들어보고자 함

 

댓글을 작성해보세요.

채널톡 아이콘