4달 동안의 교육과정이 끝났다.
아직 2달이라는 프로젝트 기간이 남았지만
코드스테이츠의 정식적인 교육 기간은 종료되었다.

image

길면 길었고 짧으면 짧았지만 4개월간 새로운 내용들을
계속해서 배워가고 찾아보고 공부하는 과정이 정말 즐거웠다.

평일,주말 가릴 것 없이 수업 진도를 따라가기 위해서
거의 점심,저녁 먹는 시간을 제외하고는
계속 공부했던 것 같다. 주말에는 조금 더쉬긴 했지만
공부하는 습관이 길들여진게 가장 중요한 것 같다.

아직 배울 것도 까마득하고.. 시간이 모자라다는 생각이 정말 많이 들었다.
프로젝트에 앞서 어떤 기술을 배웠는지 회고해보고
어떻게 이용할 수 있을지? 공부를 앞으로 어떻게 할지를 적어보려한다.


네달차에는 어떤걸 배웠었지?

섹션1 에서는 웹에 대한 CS지식과 Java에 익숙해지기
섹션2 에서는 Java를 활용한 알고리즘 풀이와 Spring 맛보기
섹션3 에서는 Spring을 씹고 뜯으면서 즐기기
섹션4 에서는 Spring에 대한 인증과 보안에 대해 공부했고
빌드와 배포 과정을 배우면서 여태 배운걸 모든걸 적용해 웹을 만들고 배포하는
그러한 시간을 한달동안 가졌었다.

이번 섹션에서는 정말로… Spring Security를 배우면서
배움의 깊이가 깊어지고 어떻게 공부를 해야할지 깨닫는 시간이었다.


image

사실 이전까지는 그냥 만들어진 기능만 잘 사용하면 그만아닌가? 라는 생각을 했다.
Spring Seucrity를 배우면서 내가 사용하려는 프레임워크에 대한 이해도가 깊어야
비로소 내가 구현하고자하는 것을 자유롭게 사용할 수 있다라는걸 느꼈다.

보안관련된 부분과 CI/CD에 대해 배웠었는데
모든걸 당장 적용해보라하면 당연히 할 수 없다.
하지만 이번에 확실히 배운건.. 보안과 CI/CD에서 몰랏던 용어들이 친숙해진점과
어떤 기능들이 어디에 있는지..? 그림이 머릿속에 그려지는 것, 그리고
이제는 어떤 것을 찾아봐야하는지 안다는 점이다.


여태까지의 회고, 앞으로의 계획

네달이라는 긴 시간동안 공부하면서
한번도 빠지지 않고 지킨 것들이 2개가 있다.

  • 하루에 한번씩 커밋하기 🌱

image

정말 평일 주말 빠짐없이 커밋을 했다. (물론 의미있는 내용으로 !!)
주로한 커밋은 섹션중 배운 코드 정리한 내용들과 Github 블로그 커밋
그리고 알고리즘 풀이 커밋 등이 있었다.
앞으로도 계속 잔디를 심어갈 예정이다.


  • TIL 꾸준히 작성하기 📖

TIL 작성하느라 대부분 시간을 쏟은 것 같다.
정규시간이 끝나면 배운내용 정리하는 일이 정말 쉬운일이 아니였다.
하지만 내가 오늘 배운 내용을 다시 정리해보는 일은
대충 넘어갔던 내용이라든가 제대로 이해하지 못했던 것들이라든가..
개념을 다시한번 정립하는 시간을 가짐으로서 기초가 조금더 탄탄해진 느낌이 들었다.

image

오늘 글을 기점으로 TIL은 종료하려고한다.
부트캠프에서 배우는 내용을 정리하고자 시작했던 일이었고
이제 프로젝트때 공부한 내용이라든가, 에러 처리 글이라든가
각각 카테고리에 맞게 글을 써서 작성해보려한다.

다시말해 이제는 정말 프로젝트에 집중해 기술을 익히고 공부해서
정리가 필요하다고 생각하는 부분만 정리하려는 것이다.


모두가 공감하겠지만…
사람이 정말 부지런하고 꾸준하다는 것은 정말 힘든 것 같다.

image

몸이 자꾸 침대로 먼저 가있는 나를 보면서.. 정말 나태하구나
라는 생각을 했던적이 많은 것 같다.

처음엔 뭐든 할 것 같은 포부로 덤벼들 었지만 2~3달차가 정말 고비였다.
물론 게을리 놀고만 있진 않았지만, 시간을 내서 공부하는일이 쉽지는 않았다.

회의감이 들 때 쯔음에 정신을 바짝 차리고 강의라도 듣자는 마음에
큰돈을 들여 인프런 강의를 구매했다. 돈을 주고 구매했다보니
계속 듣는 습관이 생기고 지속적으로 나를 그러한 환경에 노출시키다 보니
어느 순간 내가 알아서 찾아서 공부하는 단계까지 온 것 같다.

아마 혼자 계속 공부를 했으면 정말 힘들었을 것 같다.
다행이 우리 1일1커밋 스터디원들과 떠들기도 하고
지식공유도하고 서로 의견들 나눠가면서 공부를 하다보니까
동기부여도되고 앞으로 나아가는데 추진력을 준 것 같아서 스터디 활동하길 잘했다고 생각했다.


이제는 본격적으로 프로젝트에서 사용하는 기능들을
체득해야하는 시간이 다가왔다. 여태까지는 한번씩 사용해보고
머리로만 이해를 했다면, 이제는 사용해보고 체득해야한다.

앞으로의 2달을 알차게 보내기 위해
내가 정말 깊이있게 공부해보고 자연스럽게 사용하고 싶은 항목들을 쭉 적어본다.

  1. Spring MVC
    -. Spring MVC 계층에 대한 깊은 공부 ex) DispatcherServlet, HandlerMapping …등
    -. 항상 사용하는 어노테이션과 클래스 외에 여러 방법으로 처리해보기
  2. Spring JPA
    -. 연관관계 맵핑하는 것이 자연스러워 질때까지 연습과 공부
    -. Transaction에 대한 깊은 이해
    -. JPA 기술을 이용하지않고 구현해보는 연습 ex) JDBC만 이용하기.. 등
    -. JPA - JDBC - DataBase 까지의 관계도를 그려보고 큰 아키텍쳐를 깊숙히 이해해보기
  3. Spring AOP
    -. AOP 기술 적용을 자연스럽게할 수 있을때까지 체득하고 공부하기
    -. 아직 어색한 포인트컷 지시자에 대해 공부
  4. Spring Validation
    -. 유효성 검증에 대한 어노테이션 및 문법을 체득할떄까지 연습
    -. 정규 표현식에 대한 공부
  5. JUnit
    -. 계층별 테스트에 대한 코드를 익숙하게 작성할 수 있게 연습
    -. API 문서 자동화에 대한 연습
  6. Docker
    -. Docker를 이용하는 법이 익숙하게 체득하여 여러가지 용도로 활용해보고 싶음
    (로컬환경 통일화, 프론트엔드 테스트 이미지 전송하여 테스트하도록.. 등)
  7. CI/CD
    -. AWS S3, EC2, RDS 등 인스턴스 만드는 것이 자유롭도록 연습
    -. 수동으로 배포하는 과정을 수시로 연습 및 EC2 초기 환경에 필요한 목록들 정리
    -. GitHub Action을 통한 빌드, 배포 자동화하는 과정에 대한 깊은 이해하기
    -. 여유가 된다면 AWS 파이프라인까지 공부


이렇게 크게 파트를 나눠서 적어보긴 했지만 분명 더 공부해야하는 범위들이 생길 것이다.
내가 이렇게 적어놓은 이유는 적어도 2달동안 위에 있는 내용들에 대해
자연스럽게 술술 코드를 작성하거나 잠깐만 찾아봐도 할 수 있는 정도까지 체득하려고하는 것이다.
그래야 앞으로 더 깊이있는 내용을 공부할 수 있을 것 같고
추가적인 사항에 대한 공부를 지속할 수 있을 것 같기 떄문이다.

위에 있는 7가지의 목표를 가지고 2달동안 진짜 죽어라 다시 공부에 전념해볼 생각이다.
이상 여태까지 부트캠프에 대한 회고와 앞으로의 계획을 적어보았다.