김승교
@vvmain
수강평 작성수
-
평균평점
-
블로그
전체 2#카테고리
- 백엔드
#태그
- 워밍업클럽
![[인프런 워밍업 클럽 3기 / 백엔드 프로젝트] 1주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2025. 03. 16.
0
[인프런 워밍업 클럽 3기 / 백엔드 프로젝트] 1주차 발자국
1.강의 요약1.개요이번주는 컨트롤러, 서비스, 리포지토리, DTO설계와 개발 테스트 그리고 Thymeleaf를 중점으로 공부했던 시간을 가졌다. 2.이번에 배운 내용들@Controller용도: 컴포넌트 스캔 대상이 되어 빈으로 등록되며, 주로 서버 사이드 렌더링(SSR) 방식에서 사용특징: 리턴된 문자열과 동일한 이름의 HTML 템플릿 파일을 찾아 클라이언트에 응답한다@RestController용도: 컴포넌트 스캔 대상이 되어 빈으로 등록되며, 클라이언트 사이드 렌더링(CSR) 또는 API 개발 시 사용특징: 리턴 값이 HTTP 응답 본문에 직접 포함되며, String 이외의 객체는 JSON 등으로 자동 변환@RequestMapping용도: 클래스 또는 메소드에 붙여 HTTP 요청 경로를 지정특징: 클래스에 적용 시 해당 클래스의 모든 메소드에 기본 경로가 붙으며, 메소드 단위로 세부 경로와 HTTP 메서드를 설정할 수 있음@GetMapping용도: HTTP GET 요청에 대한 처리를 명시특징: @RequestMapping(method = RequestMethod.GET)과 동일하게 동작하며, 특정 경로에 GET 요청이 왔을 때 해당 메서드가 실행 @Service용도: 비즈니스 로직을 담당하는 서비스 레이어의 클래스에 사용특징: 빈으로 등록되어 컨트롤러와 리포지토리 사이의 중재자 역할을 수행@Repository용도: 데이터 접근 계층의 클래스를 지정하는 어노테이션특징: 데이터베이스 관련 작업을 수행하며, 컴포넌트 스캔을 통해 빈으로 등록@Component용도: 특별한 역할 분류 없이 범용적으로 사용되는 빈을 등록할 때 사용@Transactional 용도: 트랜잭션을 자동으로 시작하고 종료하며, 예외 발생 시 롤백할 대상을 지정할 수 있음특징: readOnly, rollbackFor, isolation 등의 속성을 통해 트랜잭션의 세부 동작을 설정할 수 있음@ExtendWith용도: JUnit 5에서 테스트 확장을 지원하기 위한 어노테이션@InjectMocks / @Mock용도: Mockito를 사용한 단위 테스트에서 대상 클래스에 필요한 의존성을 주입하거나 모의 객체를 생성할 때 사용@SpringBootTest용도: Spring Boot 애플리케이션의 전체 컨텍스트를 로드하여 통합 테스트를 실행할 때 사용@AutoConfigureMockMVC용도: Spring MVC를 모의 테스트할 수 있도록 MockMVC 객체를 자동 구성 2.미션이번주는 REST API 설계를 했다. https://github.com/Seunggyo/GameReviewHub/commit/95871575bcd3f9680b6089401de86df43e4abe9b 처음으로 원칙을 두고 API를 설계하다보니 어려움을 많이 느꼈지만 노력해보는 시간을 가져보았다.
백엔드
![[인프런 워밍업 클럽 3기 / 백엔드 프로젝트] 1주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2025. 03. 09.
0
[인프런 워밍업 클럽 3기 / 백엔드 프로젝트] 1주차 발자국
이번주에는 한번 이론을 길게 살펴보는걸로 시간을 보냈던것같다1. 강의1. 웹 개발 개요웹 개발은 클라이언트(사용자의 브라우저)와 서버(데이터를 처리하고 반환하는 시스템) 간의 상호작용을 통해 이루어집니다.기본적으로 클라이언트가 요청(Request)을 보내고, 서버가 응답(Response)을 반환하는 방식으로 작동합니다. 2. 웹 프레임워크와 Spring웹 프레임워크란?웹 개발을 편리하게 만들어주는 도구로, 공통적인 기능을 쉽게 활용할 수 있도록 지원합니다.대표적인 백엔드 프레임워크:Java, Kotlin: SpringJavaScript: Express.js, Nest.jsPython: DjangoRuby: Ruby on Rails Spring Framework와 MVC 패턴Spring은 Java/Kotlin 기반 웹 프레임워크로, MVC 패턴을 따릅니다.Model: 데이터 관리View: 사용자에게 표시되는 UIController: 클라이언트 요청을 받아 Model과 View를 연결레이어드 아키텍처 (Controller-Service-Repository)Controller: 클라이언트가 요청할 수 있는 인터페이스를 정의Service: 목적에 맞게 데이터 처리Repository: 데이터베이스에 접근하여 작업 요청 3. HTTP와 REST APIHTTP 기본 개념요청(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와 ORMJPA (Java Persistence API)Java에서 ORM(Object-Relational Mapping)을 지원하는 표준 인터페이스장점: SQL 작성 없이 객체 지향 방식으로 데이터 조작 가능단점: 학습 곡선이 높고, 성능 최적화 필요이번주는 이런식으로 이론을 정리해보았는데 다음주에는 실습과 함께 이론을 정리한거를 이해해보는 시간을 가져보려고 한다.2.미션나의 미션은 게임을 좋아하는 사람으로서 게임 리뷰와 관련된 사이트를 만들어보고자 한다.유저가 게임에 관련된 리뷰를 하고 거기에 리뷰가 좋았다는 좋아요를 달아주는 형식의 사이트를 구성해보았다.내가 구상한 DB는 이러한 느낌이다.
백엔드
・
워밍업클럽




