2024/12 48

Spring 본캠프 Day 061 - 1단계 및 2단계 일정 관리 앱 만들기 중, DTO와 VO 알아 오기 과제 통과!

[인용 및 참고 출처]1. 강의: 스파르타코딩클럽, "[Spring 4기] CH 3 일정 관리 앱 만들기", 부트캠프 소개, (2024.12.06)2. 구글 검색: Dremio Corporation, "what is value object docs", What is Value Object, (2024.12.06) "개발 공부하신 지 얼마나 되셨죠?" 생각해 보니 사전캠프를 포함해도 겨우 두 달이, 본캠프만 따지면 이제 막 한 달이 지났다. 그러니까 이 일정 자체를 소화하는 Spring 4기가 모두 대단한 사람들이었다. 튜터님의 질문에 대답하면서 곰곰이 지난날을 되짚어 보니, '알게 모르게 성장 중이구나' 싶었다. 문득 처음 과제를 받은 날 쓴 TIL이 머릿속을 스쳤다. 그때는 구현은커녕 API 명세서조차..

2단계: "꿈쩍 안 하는 수정일과 얼음땡!"

[문제]분명히 일정을 수정했는데, createdDate와 updatedDate가 동일했다. 다시 말해 수정한 날짜에 해당하는 updatedDate가 그대로였다. 이번 문제는 튜터님과 함께 디버깅(debugging)을 진행하며 원인을 찾아냈다. [원인]위의 사진처럼 디버깅을 몇 번 해본 결과, createdDate와 updatedDate 설정에 원인이 있다고 추측했다.package com.spring.weekthree.entity;import lombok.Getter;import lombok.Setter;import java.time.LocalDateTime;@Getterpublic class Plan { // [1] 속성 @Setter private Long id; private S..

1단계: "컴퓨터가 200 OK라는데 [ ] 밖에 안 보여요."

[문제]Postman으로 API가 잘 작동하는지 확인했는데, 막상 GET 메서드(method)를 실행하니 아무것도 나오지 않았다. 처음에는 오류인 줄 알고 심정이 철렁했는데, '200 OK'라는 Http 상태 메시지를 보니 원인이 어느 쪽인지 짐작할 수 있었다. 이번에 발생한 문제는 리턴(return), 즉 반환하는 부분을 제대로 작성하지 않아서 생긴 듯했다. 여기까지 추측한 다음에는 DTO(Data Transfer Object)나 엔티티(Entity)는 건너뛰고 각 레이어(layer)를 다시 찬찬히 읽었다.  [원인]package com.spring.weekthree.controller;import com.spring.weekthree.dto.PlanRequestDto;import com.spring...

Spring 본캠프 Day 060 - 1단계 일정 관리 앱 만들기 중

아침에 API 명세서 관련 글을 슬랙(Slack) 잡담방에 올린 다음, 무언가가 막힐 때마다 튜터님을 찾아가고 하루 종일 과제를 붙잡았더니 금세 밤이 되었다. 오늘 베이식(Basic) 반에서 진행된 보충 특강 청강까지 합치면 여섯 분께 찾아갔다. 개인 프로젝트라고는 하지만, 코드를 어떻게 짤지 구상할 때면 진짜 제품 출시를 준비하는 1인 사업가가 되곤 한다. package com.spring.weekthree.entity;import lombok.Getter;import lombok.Setter;import java.time.LocalDateTime;@Getterpublic class Plan { // [1] 속성 @Setter private Long id; private Strin..

Spring 본캠프 Day 059 - '일정 관리 앱 만들기' API 명세서 작성 중, 추가 과제를 받았다!

어제 새벽 2시 반 넘어서 잠들었으니까 다섯 시간은 잤으려나. 시도 때도 없이 피로가 몰려와서 아침에 비몽사몽 상태로 허리 근력 강화 운동을, 저녁 먹기 전에 운동을 간단히 했다. 점심때는 API 명세서를 작성하는 데에 푹 빠져서 운동을 다음 날로 미루었다. 오늘도 꽤 일정이 빡빡했다.  1. 아침에 자바(Java) 1문제 풀기 2. API 명세서 작성하기 3. 스탠더드(Standard) 반 특강 듣기 (오후 2시~3시)4. ERD(Entity Relationship Diagram) 끄적이기 5. 과제 프로젝트 생성 및 초안 작성하기 미니 프로젝트를 했을 때도 팀원이 작성했으니 API 명세서를 이번에 처음 작성하는 셈이 되는데, 정말 공들여서 적어 내려갔다. 처음에는 'todo'를 썼으나 사전에 단어를 ..

Spring 본캠프 Day 058 - 기초 Spring 6주차 완강, API 명세서 작성 시작

오늘 6주 차 강의를 들으며 각각 1시간에 달하는 실습을 모두 끝냈다. 코드스니펫(code snippet) 양만 봐도 알 수 있지만, 정말 하루 종일 실습했다고 해도 과언이 아니었다. 강의를 보고 따라서 코드를 치다가 이해 안 가는 부분이 생기면 다시 몇 초 돌아가고 다시 듣기를 반복하다 보니, 금세 저녁이 되었다.오늘은 아침에 일어나서 허리 근력 강화 운동을 먼저 끝냈고, 점심과 저녁때 10분씩 운동했다. 자기 전에 거북목 스트레칭만 하면 된다. 오늘 엄청나게 집중해서 강의를 듣고 실습한 여파인지 피로가 확 몰려온다. 내일은 API 명세서와 ERD(Entity Relationship Diagram) 두 가지를 오전 중에 모두 작성하고 필수 과제에 들어가기가 목표이다. 벌써 연습용 저장소를 두 개나 만들..

Spring 본캠프 Day 057 - 기초 Spring 4주차 및 5주차 완강

"과제 하기 전부터 트러블(Trouble) 일으키는 사람?" "저요!" 오늘 사전캠프 기간부터 우수 TIL에 선정된 수강생 전원에게 5,000포인트씩 지급되었다. 주머니가 두둑해져서 기분이 좋기도 했지만, '필수로 구현해야 하는 과제를 전부 무사히 제출하면 꼭 우주 비행기랑 플라밍고 튜브 사야지!' 같은 의욕이 샘솟아서 포인트를 쓰기가 망설여졌다. 강의 5주 차부터 직접 메모장을 만드는 실습이 있어서 '모르지만 일단 따라 친다'는 마음으로 코딩했는데, 별의별 트러블(Trouble)을 일으키거나 머리에 쥐가 날 때 '꼭 사고 만다'는 생각으로 5주 차 학습을 마쳤다. 주말에 실습할 부분을 무작정 따라 작성하며 눈에 보이는 족족 다시 강의 자료에서 해당 용어를 찾아 공부했는데, 효과가 있긴 한 듯했다. 어제..

Spring 본캠프 Day 056 - 책 『비전공이지만 개발자로 먹고삽니다』 추가 정리

"아무래도 Spring의 진정한 뜻은 봄이 아니라 용수철 같아요. 전부 튕겨 나가서!" 겨울에 맞이한 프레임워크(framework) Spring은 톡톡히 이름값을 했다. 어제 새벽까지 쉬이 잠이 오지 않아 뒤척였다가 또 늦게 일어나고, 집중이 되지 않아 그동안 미뤄온 게임 영상을 보며 쉬었다가 다시 강의 자료를 읽었다.강의 자료를 읽다가 머리로 외우기보다 손으로 익히자는 마음이 들어 Spring 연습용 저장소를 깃허브(GitHub)에 새로 열였다. 자바(Java)를 공부할 때와는 차원이 다르게 막막하고 지금도 숨이 막히는 기분이 맴돌다 보니 우선 '5️⃣ 슬랙(Slack) 메시지 및 실습 때 주석으로 남긴 메모 내용을 모두 TIL에 옮기기' 먼저 어느 정도 끝내기로 했다. 도서관에 가서 저번에 읽은 책 ..