ep 6. 3월이지만 내 열정은 여름이다

이동엽·2023년 4월 1일
2

💡 심심한 인사말

지난 회고록에 시작부터 아쉬움을 팍팍 묻어냈던 2월과는 달리, 이번 3월은 감히 알차게 살았다고 나를 칭찬하고 시작하고 싶다!

아이고 잘했다~



💡 세미나

그동안 겨울 내내 진행했던 Vue.js 세미나가 끝났다.
진행하는 동안 사실 백엔드 개발자를 희망하는 내가, 왜 이걸 배우고 있는지 의문을 품을 때면
교수님은 "분명 언젠가 쓸 일이 있을거다"라고 말씀하시곤 하셨다.


3월 중순에는 졸업작품 기능 구현들을 끝내놓고, JPA 활용 1편에서 살짝 배운 타임리프라는 템플릿 엔진을 이용해 UI를 작성해보고 싶었지만 역부족임을 느꼈다 😭

물론 우리 팀에 프론티엔드를 담당하는 세나가 있기에, 이 부분은 내가 관여할 부분은 아니지만
예전부터 목표 중 하나였던 "1인 프로젝트 구현하기"에 당장은 어림없음을 느꼈다.


어쩌면 교수님이 말씀하셨던 "언젠가 쓸일이 있다.."가 벌써 해당될 줄 몰랐던 나로써 당황함을 숨기지 못했다.
하지만 요건 나중에 여유가 되면 배우기로 하고, 당장 사실 취업하는데 필요한 능력치는 아니라 생각해서 넘기기로 했음!



💡 개인 공부

웨비나

3월이 들어서면서, 겨울잠이 끝났는지 여러 웨비나와 해커톤들이 마구 생겨나기 시작했다.
그 중에서 내가 이번에 참가한 웨비나는 원티드 프리온보딩 백엔드 3월!

소프트웨어 아키텍처에 대해서 제대로 배운 적이 없던 나로써, 시작 전에 사전과제부터 어렵게 다가오긴 했지만
생각보다 어렵지 않았던 내용이라 느낄만큼 좋았다. (멘토님이 라이브코딩을 하실 때 Java로 하셨던 것이 한 몫을 했던 것 같다.)

가장 좋았던 점을 뽑자면 400명이나 되는 인원임에도 불구하고 모두가 적극적으로 참여를 했던지라,
주말에 진행을 함에도 듣는 내내 재밌게 들었던 것 같다!


웨비나는 아니지만, 참여했던 온라인 행사들!

오늘의 집은 내가 가장 가고싶은 회사 중 하나이다.
비록 행사 당일에는 일정이 있어 생방송을 모두 보진 못했지만, 감사하게도 다시보기를 남겨주셔서 모두 시청했다.

영상을 통해서 간접적으로나마 어떤걸 추구하는 회사인지를 느낄 수 있었고, 덕분에 더 가고 싶은 회사로 자리잡았다!!
아직 내가 어딜 선택해서 갈 실력과 경력은 안되고 뭐 그림의 떡일지라도 목표가 있는건 좋은 점이 아닐까?


내가 가고 싶은 회사를 뽑는 이유에는 여러가지 요소들이 있다.
그 회사에서 다루는 서비스에 재미를 느끼거나... 내 롤모델이 다니는 곳이라 같이 일할 수 있는 회사거나..


여기서 인프랩은 후자에 해당하는데 이유는 이동욱님은 오래전 eo 채널에 출연하셨을 때부터 내 롤모델이기 때문!
내 첫 회고록을 보면 개발 블로그를 시작한 이유도 이동욱님의 말씀 덕분이였다.


이번 강의에서는 단지 기술에 대한 이야기를 다루는 것 뿐만 아니라, 각자 흔들리지 않고 살아갈 수 있는 방향에 대해서도 자연스럽게 이어가 말씀을 해주셨다. 어쩜 저렇게 말을 잘하시지?


언젠가 나도 취업을 하고, 같이 일하는 날이 왔으면 좋겠다


요즘 나는 졸업작품 기능 개발을 하는 도중, 동적 쿼리의 필요성을 느끼고 있다.
Java + SpringBoot와 함께 JPA를 공부하는 입장에서 필수로 배워야 하는 QueryDSL에 대해서
2년 전이지만, (방금 위에서도 말했지만) 내 롤모델 이동욱님께서 해당 주제로 발표를 했던 자료가 눈에 들어와 정독했다.


JPA를 사용하며 Update 로직의 경우, '직접 호출하지 않고 DirtyChecking(변경 감지)를 이용하라!'라고 배우기만 했는데, 역시나 실무는 매우 다름을 느낀다..


수십억건에 해당하는 데이터를 다루는데, 각각의 데이터를 변경감지하기 위해선 조회가 필요하다.
물론 데이터의 양이 적다면 변경감지를 사용함에 무리가 없지만, 말 그대로 데이터의 양이 방대하다면 무리가 있다.


이 영상에서 이동욱님은 "객체지향적인 설계" 혹은 "가독성 좋은 코드" 등을 위해 "성능"을 버리진 않는지 꼭 확인하자고 하셨다.
모든 일에는 트레이드오프가 있음을 느낄 수 있던 강의였다. 역시 실무는 어렵다..


정보처리기사 필기

가볍게 공부했던 정보처리기사 필기를 다행히 합격했다.
필기에 너무 시간을 쏟아, 내 개발 공부에 소홀해하기 싫어서 시간 관리를 엄격하게 하곤 했는데 뿌듯해지는 순간이다.

실기 시험은 4월 23일로 예정되어있다. 접수한 지 얼마 되지도 않았는데 벌써 3주밖에 안 남았다는게 실감이 안난다.


모던 자바 인 액션

졸업 작품을 진행하면서, Optional에 대한 이해도가 부족해 공부를 했어야 했고,
다행히 이전에 공부하다 멈춘 이 책에서 옵셔널에 대한 내용을 다루고 있었기에 다시 공부를 시작했다.

이번에 느낀 점으론 옵셔널에서 지원하는 API가 스트림 API와 동작이 굉장히 유사했다.
따라서 설명이 생략된 부분들이 간간히 나타나곤 했는데, 이전에 chapter 4~5장을 학습했던 경험들이 이때 돌아온 듯 싶다!

정리한 내용은 TIL 혹은 노션에서 확인할 수 있다.


Effective Java 3/E

원래 이펙티브 자바는 모던 자바 인 액션을 학습한 후에 보려했던 책이다.
그러던 중 졸업 작품에서 객체를 생성하는 코드가 가독성이 좋지 않았고, 빌더 패턴의 필요성을 느꼈다.

다행히 이 책에서 ITEM 2에서 다루는 내용이 빌더패턴이였기에, 지금처럼 필요한 내용들이 있으면 찾아서 공부하려한다!


  • 아래는 빌더 패턴의 적용 전과 후 비교 사진이다.

→ 정리한 내용은 TIL에서 확인할 수 있다.


JPA 기본편 & 활용 2

  • JPA 기본편

이전에 chapter 6까지는 정리를 해놓았지만, 졸업작품의 기능구현을 우선시하다보니 진도를 나가지 못했었다.
그러던 중 당장 필요한 지식들이 10장에 위치한 것을 그제서야 확인하고선, 다시 책을 읽기 시작했다..

아직 10장까지밖에 정리를 끝내지 못했지만, 1학기가 끝나기 전에 마무리하는 게 목표다!


  • JPA 활용 2편 마무리

졸업 작품의 기능 구현은 끝냈고, 다음 차례는? → API 개발!

다행히 JPA 활용 2편에선 API 설계에 대한 내용을 주로 다루었고, 덕분에 막힘없이 진도를 나갈 수 있었다.
다만 아쉬운 점은 API 명세서를 짜는 데에 있어서, 요청과 응답 형식 그리고 REST API uri에 대한 이해도는 아직 미숙하다고 생각한다.


곧 늘겠지?


Spring Data JPA

3월에는 그나마 공부에 집중할 수 있었던 시기라, 결제해놨던 강의들도 막힘없이 진행할 수 있었다.
운좋게 활용 2편을 끝내자마자, 인프런에서 봄 맞이 세일을 해주었고 기가 막히게 다음 로드맵을 결제!


슬슬 JPA에 대한 기초 이해는 되었다고 생각해서 마침 JpaRepository를 도입하려 했던 타이밍인데 딱 좋다.
이번 4월은 Spring Data JPA 너다.



💡 캡스톤 디자인(졸업작품)

이번 3월도 역시나 캡스톤에 몰두했다!

큼지막하게 진행한 성과들을 보면 아래와 같다! → 지극히 (백엔드) 내 위주다.

  • 모든 도메인별 기능(초안) 개발 완료하기
  • 모든 도메인의 API를 개발하고, API 명세서 작성하기
  • null check 로직을 Optional로 대체하기
  • Builder Pattern 적용하기
  • JpaRepository 적용하기

지난 3월을 돌아보니, 3월 6일에 교수님과 미팅을 가지며 세웠던 세부 계획들을 다시 보았다.

  • 3월 20일까지 모든 기능 개발 끝내기
  • 3월말 부터는 API 개발 시작하기

당시에는 타이트하다고만 생각했던 일정들이였지만, '그래도 하면 하는구나..' 라는 생각이 드는 요즘이다.
현업에서는 당연히 이거보다 훨씬 빠른 속도로 진행하지 않을까? 라는 생각이 들기에, 나도 뒤쳐지지 않으려면 열심히 해야할 것 같다.


그리고 요즘은 private으로 운영하던 졸업작품 레포지토리를 슬슬 public으로 돌릴까? 하는 생각도 종종 든다!

생각보다 주변에서 주는 피드백이 힘이 된다는 것을 느끼곤 하니, 퍼블릭으로 열어놓고 욕을 해도 좋으니 피드백을 받고 싶다.
(근데 진짜 욕하진 말아요)


추후 4월의 목표

  • Spring Security를 이용하지 않고, JWT만을 이용한 로그인 구현하기
  • DTO 대신 record 키워드를 이용해보기!
  • JPA 기본편, 모던 자바 인 액션, 이펙티브 자바 공부하기.
  • 간간히 시간내서 정보처리기사 실기 준비하기..
  • QueryDSL 공부 시작하기.


💡 마무리

개인적으로 여러 일정에 치여 몸이 피곤했고, 정신적으로도 여유가 없어 아쉬움이 많이 남았던 2월과 달리
3월달은 개인적으로 휴식도 제대로 취해가며 공부에 몰두할 수 있었던 시간인 것 같다!


지난 달에 스크린타임이 주평균 6시간 30분정도였는데, 이번 3월은 주평균이 7시간 ~ 8시간 30분인 것을 보니
이게 객관적인 지표가 되지는 못하지만 적어도 엉덩이 오래 붙이기는 성공했구나!를 느낄 수 있어 기분이 좋다.


이번 3월에 파이팅을 얻고 지낼 수 있었던 이유 중 가장 큰 건 주변 사람들에게 도움을 많이 받고, 힘도 많이 받았다.

주변에서 들었떤 취업 얘기와 각종 피드백들은 물론이고, 종종 갖는 술자리에서 푸는 낭만적인 미래 이야기들부터
"열심히 사는게 부럽다", "너무 열정맨이라 기빨린다" 등등의 최고의 칭찬들이 나를 불태우지 않았을까?


벌써 토끼의 해 계묘년이 1분기가 끝나고 2분기에 접어들었다!
계묘년의 힘을 제대로 받아보겠다며 연말 회고록을 썼던게 엊그제 같은데..


당장 떠오르는 소박한 목표로는 3분기에 접어들 무렵,
스스로에게 '지난 2분기가 시작하기 전에 비해 성장했는가?' 라고 물었을 때
자신있게 대답할 수 있는 2분기가 되었으면 한다.

다같이 힘내고 다같이 나중에 웃자. 파이팅~!!

profile
백엔드 개발자로 등 따숩고 배 부르게 되는 그 날까지

4개의 댓글

comment-user-thumbnail
2023년 4월 6일

언젠가 웃는 날 오지 않겠습니까~

1개의 답글
comment-user-thumbnail
2023년 4월 21일

진짜 열심히 사시네요 👍

1개의 답글