BEYOND SW 캠프 21기 10회차 회고

컨테이너·2025년 11월 29일
post-thumbnail

📝10회차 회고록ㅣBEYOND SW캠프


🖥️ 10회차 학습 (25.11.24 ~ 25.11.28) 기록

어느 덧 11월이 다 지나가 참 시간이 빠르다고 느낀 한 주였다. 이번 주에는 새로 시작한 팀 스터디를 개시했다. 또 두 번째 단위 프로젝트가 시작했던 터라 할 일이 많아졌으며, 스프링 부트 강의가 공부할 새 없이 몰아쳐 정말 쉽지 않던 한 주였다.

이번주도 어떤 내용 학습했는지 링크 아래에 남겨두고, 회고 시작해 보겠다.

--- Spring Core ---

bean
AOP

--- Spring Boot ---

SpringBoot Series

👍 KEEP


  • 지난 미니 프로젝트 이후로 스프링 부트 수업과 프로젝트를 시작하기 전에 개인적으로 연습해 보기로 한 개인 프로젝트가 많은 도움이 되었다.

    하지만 정말 깨작거리듯 해서 정말 자그마한 예습만 되었다. 미리 어떻게든 해보니 예습이 되었고, 또 반대로 개인 프로젝트에 작성했지만 이해하지 못했던 것들이 이해가 되는 부분도 있었다.

  • 단위 프로젝트가 시작됐다. 개인 프로젝트, 사이드 프로젝트와 스터디가 겹치지만 어느 것 하나 타협할 수 없는 것 같다.

✏️ NEW


REST API

Rest API 와 PostMan, Swagger 사용 방법을 배웠다.
Rest API란 자원에 URL로 이름을 붙이고 이에 대한 작업을 HTTP메서드 GET, POST, PUT, DELETE 으로 표현하는 것이다. 표현은 JSON으로 주로 한다.

REST API 에서 JSON을 사용하므로, @ResponseBody + @Controller 조합을 통해 응답방식을 처리한다. 얘는 View를 반환하지 않고 JSON을 반환한다.

@ResponseEntity를 통해 상태코드 + 헤더 + Body를 개발자가 직접 구성하는 객체이다.

Swagger

이번 단위 프로젝트는 Swagger를 사용해야 한다. Swagger의 어노테이션은 아래와 같다.

어노테이션역할
@TagAPI 그룹 설명
@OperationAPI 설명, 요약
@ApiResponses여러 응답 코드 정의
@ApiResponse하나의 응답 코드 정의
@SchemaDTO 필드 설명

어노테이션 정리

기능어노테이션
REST API Controller@RestController
요청 URL 매핑@RequestMapping, @GetMapping 등
URL 경로 변수@PathVariable
단일 파라미터@RequestParam
Form → 객체@ModelAttribute
JSON → 객체@RequestBody
응답 상태코드@ResponseStatus
개별 예외 처리@ExceptionHandler
글로벌 예외 처리@RestControllerAdvice

여기서 중요하다고 생각되는 것 몇 가지만 정리해놓겠다.

@RequestParam

  • 쿼리스트링, form-data에서 단일 파라미터를 가져온다. 예: /users?id=3
@GetMapping("/search")
public String search(@RequestParam String keyword) {}

@ModelAttribute

  • form-data를 객체(DTO)로 자동 바인딩
  • setter 기반 자동 매핑이다.
@PostMapping("/join")
public String join(@ModelAttribute UserDTO user) {}

@RequestBody

  • HTTP Body(JSON)를 객체로 변환하는 녀석
  • REST API에서 가장 많이 사용된다.
@PostMapping("/users")
public String save(@RequestBody UserDTO user) {}

스터디 공부한 내용

1주차 때 공부한 내용은 DB, 서버, 스프링과 스프링 부트에 대해 공부했다. 주로 IoC, DI, SpringContainer, Bean에 대해 이야기했다.

이 시간을 통해 얻은 내용은 빈의 필드 주입보다 생성자 주입을 하는 이유, RDB의 중요성, @RestController의 역할 등이 있다.

어떤 공부를 했는지는 깃허브 링크에 들어가보면 확인할 수 있다.

💡 PROBLEM


  • 개인 프로젝트 공부 시간 부족으로 인해 수업 진도 따라가기 벅차고 뒤쳐짐. 새롭게 생긴 스터디와 그 위에 또 얹힌 단위 프로젝트로 개인 공부하고 정리할 시간이 정말 부족했다. 물론 스터딩 공부 내용과 프로젝트 경험이 소중하지 않은 것은 아니나 나의 페이스를 놓치고 싶지 않은 마음에 불안했던 것 같다.

    한동안 개인 데일리 스크럼 로그를 작성하지 않아서 내가 무얼하고 있는지 손에 잡히지 않는 기분도 들었다. 현재 우선순위를 파악하고 무엇을 먼저 하고 지켜야할지 판단하고 선택할 필요가 있다.

  • 단위 프로젝트에 대한 경각심이 첫 번째 단위 프로젝트보다 많이 떨어졌다. DB작성, 비지니스 로직 작성, 그리고 API 작성과 swagger 사용법 까지 오히려 해야할게 훨씬 많고 더 많이 준비하고 공부해야 하는 영역인데 속도가 나지 않고 무얼 해야할지 감이 잘 잡히지 않아 조바심이 날 때가 있다.

🪛 TRY


  • 개인 프로젝트를 계속 빼먹고 있는데 짬을 내서라도 진행해보자.

  • 스크럼 로그 다시 시작

  • 단위 프로젝트에 대한 마일스톤을 혼자라도 정해서 무엇을 언제까지 해야할지 정해놓아야 마음이 편할듯 하다.

    기록도 빼먹지 말고 이어가야 자산이 되므로 프로젝트 회고도 준비해보자.

  • 스토디 팀에서 진행중인 데일리 커밋, 스터디, 사이드 프로젝트도 속도 조절은 하되 멈추지는 말자.

profile
백엔드

0개의 댓글