[인프런 워밍업 클럽 2기] 백엔드 프로젝드 - 1주차 발자국
강의
학습 내용
클라이언트, 서버, 데이터베이스, DNS
요청을 보내는 주체가 클라이언트이고, 요청을 받아 처리를 하는 주체가 서버이다. 그래서 어떻게 보면, 서버가 클라이언트가 되어 데이터베이스에게 요청을 보내고, 데이터 베이스가 처리를 하는 서버가 될 수도 있다.
DNS는 도메인 주소와 IP 모음을 가지고 있는 주소록 같은 서버이다. 우리가 www.inflearn.com이라고 도메인을 치면 그에 맞는 ip를 dns서버에서 받아와서 보낸다.
웹 프레임워크, Spring 프레임워크, MVC 패턴, 레이어드 아키텍쳐
웹 프레임워크는 라이브러리와 헷갈릴 수 있는데 가장 큰 차이는 누가 제어권을 가지고 있냐이다. 큰 틀이 프레임워크이고, 라이브러리는 도구 같은 역할을 하기 때문에, 프레임워크는 프레임워크라는 틀의 제작자가 주도권을 가지고 있다고 볼 수 있고, 라이브러리는 사용자가 주도권을 가지고 있다고 볼 수 있다.
그 중, 동적 웹을 만드는 프레임워크가 웹 프레임워크 이다. 웹을 만드는 공통적인 기능을 편리하게 개발할 수 있게 해준다. 그 중 Spring 프레임 워크는 Java기반 웹 프레임워크로 Java 또는 Kotlin으로 백엔드 개발할 때 사용한다.
MVC 패턴은 소프트웨어 아키텍쳐 디자인이다. Spring에서 사용한다. Model, View, Controller로 이루어져 각각의 역할을 담당한다. Model은 데이터를 담는 역할을 하고, View는 사용자에게 보여주는, Controller는 요청을 받아 작업을 수행하는 역할을 한다. 레이어드 아키텍쳐는 가장 대중적인 소프트웨어 아키텍쳐로 Spring 개발시 많이 이용한다.
크게 Presentaion, Business, Data Access 세 레이어로 나뉘어 진다.
회고 및 다짐
스프링 프레임워크 등 웹개발 기초에 대해서 복습할 수 있는 시간이었다. 들으면서 헷갈렸던 개념도 정리할 수 있었다. 다음번 발자국에서는 강의 내용 외에 내가 알게 된 내용도 정리하면 좋을 것 같다는 생각을 했다.
미션
테이블 설계하기
과정 및 회고
1대 다 연관 관계가 있어야 해서 여러가지 주제를 떠올려 보다가, 결국 음식 레시피 공유 서비스를 선택하게 되었다. 요즘 흑백 요리사를 보며 다양한 음식의 레시피를 알고 싶어하는 수요가 많을 것이라는 생각에서였다. 일단, 재료들을 다 따로 구분할 수 있도록, 재료테이블을 만들었고, 음식마다 재료를 선택할 수 있는 레시피 테이블을 만들었다. 이렇게 해두면 일단은 한 음식에 한 레시피 밖에 못 올리지만, 나중에 sn 칼럼을 추가하면 한 음식에 여러 버전의 레시피도 올릴 수 있게 발전 시킬 수 있지 않을까 생각이 든다.
댓글을 작성해보세요.