[인프런 워밍업 클럽 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는 이러한 느낌이다.

댓글을 작성해보세요.