서론

국비과정이 시작되고 새로운 마음으로 공부를 시작한지 벌써 일주일이 지났다.

개인적으로 기존에 독학을 해왔던 상황에서 시작해서 그런지 크게 힘든점은 없었다.

오히려 주변에 같이 공부할 사람들이 생기고 , 공부하는데 돈도준다니 일석이조 🥹

이번주는 최대한 기록을 많이 남기려고 노력했다.

공부를 하다가 막힌다고 좌절해하지 않고 다른 흥미가 생길만한 무언가를 또 찾아 공부하려고 했고, 나름 또 성공적인 한 주를 보낸것 같다.

본론

이번주는 기존에 정해둔 목표는 그룹스터디 팀원들과 진도를 어느정도 맞춰야겠다는 생각으로 나는 복습을 하기로 했다. 크게 정해두었던게 자바 자료구조와 스트림 부분을 복습하고 정리하는게 큰 목표였다.

근데 못지켰다.

못지켰다기 보다는 첫 목표와 다르게 다른것들을 더 이것저것 했었고, 그래서 결국엔 이렇게 진행이 되었다.

  • 하루에 적어도 TIL 하나이상 작성하기
  • 복습한 부분 단순히 정리만 하지 말고 해당 파트 내가 직접 코드로 구현해서 설명하는 TIL로 작성하기
  • 기존에 만들어두었던 게시판에 기능 추가해서 다듬기

이렇게 진행이 되었다.

그렇게 작성한 TIL 은 총 10개정도 되는것 같고, 그동안 겪었던 예외나 오류에 관해서 해결법까지 기록했다.

그렇게 이번 한 주는 이정도의 수확이 있었다.

  • 자바 자료구조 - 컬렉션 프레임워크에 대해서 정리하고 스택/큐 를 직접 실생활에 대입해서 코드로 구현해보았다.

기존에 단순히 그냥 아 컬렉션 프레임워크에는 이런게 있구나~ 이정도로 끝내지 않고
내가 직접 활용할 수 있는 부분은 구현을 해보면서 한번 더 활용할 수 있게 되었다.

  • 자바 스트림 - 스트림요소처리를 람다와 묶어서 한번 더 정리함으로써 해당 기능이 돌아가는 구조에 대해서 한번 더 돌아봄으로써 기존에 부족했던 람다식 부분이 보완이 되었다.

기존에도 스프링부트를 활용하면서 생각보다 스트림을 사용할 일들이 굉장히 많았다. 이런 상황에서 람다식을 써야되는 상황도 생각보다 많이 있었고, 인텔리제이와 코파일럿의 도움을 받긴 했지만 뭔가 겉핥기 느낌이었다.

따로 강의를 보면서 정리를 한번 더 했고, 여러 코드에 활용함으로써 코드가 한결 가벼워졌다

  • 게시판에 해시태그 기능을 좀더 디테일하게 구현해보고 문제해결능력과 함께 무언가를 구현해보는 능력이 좋아졌다.

기존에 내가 원하던 기능을 구현하기 위해 스택오버플로우까지 들어가서 검색해보았지만 적절한 방안이 없었다.

양방향 맵핑을 이것저것 해봄으로써 첫 ManyToMany 관계에서 중간연걸 엔티티까지 만들어주는 방향으로 천천히 시행착오를 겪어가면서 기능을 구현해보려고 노력했다.

결국엔 뷰템플릿까지는 신경을 못썼지만 해시태그 기능을 구현했다!
이 경우에는 저번 댓글 수정 기능을 구현했을때와 비슷하게 나같은 초보자들이 참고하기 편하게 작성된 글이 없었다. 내가 직접 해결한 느낌이라 큰 수확이라고 생각했다. (ManyToMany보다는 중간 엔티티로 관계를 맺어주는것이 좋다는 얘기를 보고 그부분 까지는 참고를 했다.)

  • 기존에는 그냥 넘겼던 문제해결 경험들을 기록으로 남겼다.

생각보다 내가 간과했던 문제들이, 지금까지 코딩을 해오면서 내가 겪었던 오류들이 수십가지였는데, 그 케이스들을 일일히 기록하지 않았다. 그냥 땅에 돈 버린 느낌이라고 해야하나..

그래서 새로운맘으로 시작하기로 마음먹고 나서는 오류만 기록하지 않더라도 TIL 로 해당 기능을 구현하는 진행상황을 공유할때 틈틈히 기록하려고 노력했고, 10개의 오류가 있었다면 8개정도는 기록한것같다.

  • 스프링 시큐리티를 활용한 인증관련 기능추가, 코드 수정과 게시글 에디터 적용

기존에 스프링 시큐리티를 활용하면서 단순히 유저 ROLE 만 설정해두었고, 스프링 시큐리티에서 이것저것 활용해보세요! 하고 떠먹여주는데 다 갖다버렸다.

이번 국비 과정을 들으면서, 인풋아웃풋 스트림에 대해서 TIL을 작성해가면서 공부하는데 너무 재미가 없더라 ㅋ 그래서 평소에 궁금했던 스프링 시큐리티 부분에 대해서 강의를 듣기 시작했다.

내가 곧 추가하고싶었던 기능들은 좋아요와 조회수 기능인데, 세션을 활용하지 않고 JWT 토큰을 활용해서 중복 카운트 방지를 덤으로 가져간 기능들을 구현하고 싶었기 때문이다.

그렇게 강의를 들으면서, SecurityConfig 설정 클래스 속 메소드들이 무엇을 의미하는지 알게되었다.

여기서 이제 headerWriter 빼곤 다 뭔뜻인지 알게되었다.

마찬가지로 단순히 글이나 댓글을 삭제하는 로직에서 삭제하지 않고 deleted 컬럼을 만들어줘 Y/N 으로 입력하게 했고, 권한 인가를 활용해 관리자는 삭제된 게시글과 댓글을 열람할 수 있게 변경했다.

덤으로 작성은 따로 안했지만 Remember-me 메소드와 따로 게시판 에디터를 적용시켜서 디테일한 글 작성을 하게 기능을 추가했다.

좋았던점

  • 확실히 문제해결 능력이다. 도움받을 수 있는 부분은 도움 받긴 했지만,그 외의 본격적으로 구현하는데 문제가 있었던 기능 구현은 내 머릿속에서 나왔다. 굉장히 칭찬해줄 부분이었던것 같다.

  • 기록하는 습관이 더 좋아졌다. 이전 회고록을 살펴보면 TIL을 쓰는걸 깜빡하고 개발만 하기 급급해 회고록 내용이 정리가 거의 안됐고, 글이 너무 길어지는 경향이 있었다. 이번주는 확실히 TIL를 작성하고, 회고록에서 한번 더 작성한걸 기반으로 정리함으로써 배워간걸머릿속에 조금이라도 더 오래 남길 수 있게 되었다.

  • 남는 잔 시간들을 굉장히 잘 활용했다. 수업을 듣다보면 내가 기존에 많이 공부했던 부분들이 수업에 나와서 지루할 수도 있는 타이밍에 이때를 이용해 공부나 개발시간으로 활용했고, 쓸데없이 멍때리거나 하는 시간이 거의 없었다. 시간관리를 효율적으로 잘 했던것 같다.

  • 많이 차분해졌다. 공부에 임하는 태도가 몇주전까지만해도 남들보다는 더 열심히 잘 해야해!! 였지만 자연스럽게 공부 시간도 늘어나고, 주변에 그래도 같이 공부하는 사람들이 생기니 공부가 더더욱 일상이 되었고, 조급해지지 않아져서 오히려 기록도 더 많이 하게되고, 생각할 시간이 많아져 이제 확실히 매번 공부했던 것들이 온전히 내것이 되는것 같다.

아쉬웠던점

  • 확실히 나는 어느 면에서든 큰 목표를 잡아놓고, 완전히 안하는건 아니지만 자꾸 디테일한 계획이 옆으로 샌다. 내가 뭘 하고싶은지 뭘 알고싶은지를 정확하게 알려고 더더욱 노력해야겠다는 생각이 든다.

결론

이번주는 생각보다 내가 하고자했던거에 쓸데없는 시간낭비는 크게 없었고, 주말에도 계속 무언가를 할정도로 알차게 잘 보냈던것같다.

아싸리 계획을 바꿀거면 그냥 계획을 정하지 말고 그때그때 하고싶은거 공부하는게 맞는거같다. ㅠㅠ

소소한 목표가 있다면 11월 한달은 게시판 인증에 JWT토큰을 활용하고, 좋아요 조회수 기능에 +@로 파일 업로드 대댓글, 그리고 또다른 토이 프로젝트로 AJAX 를 활용한 비동기식 게시판 구현도 하고싶다.

천천히 풀어가면 될테니 조급해하지말자 😤

profile
자스코드훔쳐보는변태

0개의 댓글