[인프런 워밍업 클럽 3기 / 백엔드 프로젝트] 1주차 발자국

이번주에는 한번 이론을 길게 살펴보는걸로 시간을 보냈던것같다

1. 강의


1. 웹 개발 개요

웹 개발은 클라이언트(사용자의 브라우저)와 서버(데이터를 처리하고 반환하는 시스템) 간의 상호작용을 통해 이루어집니다.
기본적으로 클라이언트가 요청(Request)을 보내고, 서버가 응답(Response)을 반환하는 방식으로 작동합니다.

 

2. 웹 프레임워크와 Spring

웹 프레임워크란?

웹 개발을 편리하게 만들어주는 도구로, 공통적인 기능을 쉽게 활용할 수 있도록 지원합니다.
대표적인 백엔드 프레임워크:

  • Java, Kotlin: Spring

  • JavaScript: Express.js, Nest.js

  • Python: Django

  • Ruby: Ruby on Rails

     

Spring Framework와 MVC 패턴

Spring은 Java/Kotlin 기반 웹 프레임워크로, MVC 패턴을 따릅니다.

  • Model: 데이터 관리

  • View: 사용자에게 표시되는 UI

  • Controller: 클라이언트 요청을 받아 Model과 View를 연결

레이어드 아키텍처 (Controller-Service-Repository)

  • Controller: 클라이언트가 요청할 수 있는 인터페이스를 정의

  • Service: 목적에 맞게 데이터 처리

  • Repository: 데이터베이스에 접근하여 작업 요청

 

3. HTTP와 REST API

HTTP 기본 개념

  • 요청(Request): 클라이언트 → 서버 (예: GET, POST, PUT, DELETE)

  • 응답(Response): 서버 → 클라이언트 (예: 200 OK, 404 Not Found)

REST API란?

  • 리소스를 URL로 표현 (GET/members/1 → 특정 회원 조회)

  • HTTP 메서드를 활용하여 작업을 구분 (GET: 조회, POST: 생성, PUT/PATCH: 수정, DELETE: 삭제)

 

4. 데이터베이스 개념

DBMS (Database Management System)

  • 관계형 데이터베이스 (RDBMS): 데이터를 테이블 형식으로 저장 (예: MySQL, PostgreSQL)

  • 비관계형 데이터베이스 (NoSQL): 문서, 키-값 저장 방식 사용 (예: MongoDB, Redis)

 

5. JPA와 ORM

JPA (Java Persistence API)

Java에서 ORM(Object-Relational Mapping)을 지원하는 표준 인터페이스

  • 장점: SQL 작성 없이 객체 지향 방식으로 데이터 조작 가능

  • 단점: 학습 곡선이 높고, 성능 최적화 필요



이번주는 이런식으로 이론을 정리해보았는데 다음주에는 실습과 함께 이론을 정리한거를 이해해보는 시간을 가져보려고 한다.

2.미션


나의 미션은 게임을 좋아하는 사람으로서 게임 리뷰와 관련된 사이트를 만들어보고자 한다.

유저가 게임에 관련된 리뷰를 하고 거기에 리뷰가 좋았다는 좋아요를 달아주는 형식의 사이트를 구성해보았다.

내가 구상한 DB는 이러한 느낌이다.

image

 

댓글을 작성해보세요.

채널톡 아이콘