Coding Diary/diary, 회고 및 계획

[210831] 현재까지 나의 공부상황

kth990303 2021. 8. 31. 19:45
반응형

요즘은 개발: ps 비중을 거의 1:1로 공부하고 있는 듯하다.

지난 번 포스팅때와 달라진 점은 6월달쯤부터 운동을 시작해서 개발:ps:운동 비중이 1:1:0.8 이다보니, ps 시간이 많이 줄어들었다는 점.

 

* 지난 번 포스팅은 아래와 같다.

https://kth990303.tistory.com/37

 

[일기] 21년 4월 12일, 현재 내 전체적인 공부상황

가끔 한 종목에 종속되지 않고 그냥 하루 일기처럼 포스팅하고 싶을 때가 있어서 추가한 카테고리다. 그냥 자랑 겸 최근 있었던 일을 적는거라 생각하면 될듯 ㅎㅎ 코딩얘기 많이 안할거라 부담

kth990303.tistory.com

8월 마지막이기도 하고, 오랜만에 한번 전체적인 내 상황을 써보겠다.


PS (BOJ)

  • 구현 실력이 4월에 비해 많이 늘었다. 구현을 목표로 ps를 한 것도 아닌데, 자연스럽게 늘은 듯하다.

 

  • 다이아몬드 티어를 달성하였다. 그런데 어차피 티어는 의미없는 것. 실질적인 내 실력이 중요한데, 4월달보다 상승은 하였지만, 크게 상승하진 않은 듯한 느낌? 그렇지만 실망스럽지는 않은 것이, 내실을 튼튼히 다지고 있는 과정인 듯한 느낌이 들어서 낫배드.

 

  • 대회 문제들을 많이 풀고 있다. 특히 6월달 쯤에는 대회 참여에 비중을 많이 두었다. 대회 참여는 매우 중요한게, 시간 내에 효율적으로 많은 문제를 푸는 연습을 할 수 있는 유일한 수단인 듯하다. 최근에는 귀차니즘 때문에 대회 참여를 거의 안했는데, 다시 맘잡고 9월부터는 대회에 많이 참여하려 한다. 이번 2022 카카오 블라인드 채용 코테에도 참여한다! 목표는 1차 코테 합격이다.

Java

  • 그 동안 크게 신경쓰고 있지 않았던 '소박하지만 그룹입니다' 프로젝트. 개인 프로젝트 공부용으로 요즘 다시 만져보고 있다. 시작한 지 1~2주 정도 됐는데, 목표는 아래와 같다.
Todo List (~22.04.11)

1. 로그인 / 로그아웃 thymeleaf 좀 더 손보기
2. 게시판 기능 (포스트, 댓글, 대댓글)
3. 소셜로그인 기능
4. RestTemplate을 이용한 회원 티어 자동 표시하기 (단, ROLE_GUEST는 제외)
5. 웹소켓을 이용한 댓글알림 기능
6. 채팅방 기능 구현

현재 1번까지 진행이 된 상태이다.

1번은 Spring Security의 Bcrypt 기능으로 암호화하여 db에 넣는 작업을 거쳐주었다.

우선 구현을 먼저 하고, 나중에 깊게 파볼 예정.

나중에 시간이 되면 포스팅할 예정이다.

 

2번과 3번은 순서가 바뀔 수 있으며, 중간에 프론트 쪽을 thymeleaf 템플릿 엔진이 아닌 react로 바꿀 수도 있을 듯하다.

만약 3번 소셜로그인 과정이 추가된다면, ROLE_GUEST 등급을 추가한 ROLE_ADMIN, ROLE_USER, ROLE_GUEST 로 진행할 듯하다. ROLE_GUEST는 백준그룹이 아닌 손님 계정으로, 게시판에 간단한 글만 쓸 수 있는 권한만 부여하려 한다.

 

2~3번 과정을 마친 후에, 또는 과정 중에 AWS를 이용하여 배포해볼 예정이다.

AWS, 도커는 아직 거의 다뤄본 적이 없는데, 마침 내가 공부하고 있는 nodejs 강의에서 aws 배포를, 그리고 도커 배포도 기회가 되면 할 수 있을 것 같아 간단하게 입문한 후에 이 프로젝트도 배포해볼 듯하다.

 

4번은 rest api GET, POST call 연습을 위해 진행하려 한다. 하기야, mysql에서 일일이 update해주는 것보단, solvedAC API 통신을 통해 멤버 티어를 자동으로 변경해주면 훨씬 편할 듯하긴 하다. 또한, Rest API call은 실무나 코테 단골 주제이기도 하므로 RestTemplate을 훈련하는 데에 좋을 듯하여 생각해낸 항목이다.

 

5번, 6번은 은근히 유용할 듯하여 추가한 개념이다. 다행히 생각보다는 자바로 웹소켓을 응용하는 것이 어려워보이지 않아 추가해보았다. (겉보기로만 봐서, 실제로는 엄청 어려울 수도 있다.) 이 기능까지 완성된다면 이 프로젝트는 매우 만족스러울 듯하다.

 

  • 프로젝트를 하면서 스프링 시큐리티를 사용하였는데, 스프링 시큐리티의 원리는 다행히 김영한님의 Spring MVC 1편, 2편을 통해 터득할 수 있을 듯하다. 1편에서는 스프링의 MVC 구조, 2편에서는 인증/허가/예외처리에 대해 배우는데, 스프링 시큐리티는 1편, 2편 모두 해당되는 내용이기 때문이다. 이제 2편 들어야되는데, 지금 매우 기대중이다.

 

  • 김영한님의 JPA 강의 또한 듣고 있다. 백엔드 개발자는 결국 DB와 대화하는 직업이라 생각하기 때문에 JPA 비중이 매우 높다고 생각하는 편이기 때문. JPA 강의랑 스프링 MVC 강의는 2회독하려 한다. 

 

  • 또한, 현재 집에 스프링5 프로그래밍 입문 책이 먼지만 쌓여있는 채로 덩그러니 놓여 있는데, 나중에 JS나 JAVA 공부가 어느정도 됐다 싶으면 한가해질테니 그 때 본격적으로 읽어보려 한다. 책을 천천히 정독하여 이론 베이스를 충분히 갖춰놓는 것 또한 중요하다고 생각하기 때문이다.

 

+) 너무 조급해하지 말자. 시간은 아직 많다. 3년동안 충분히 준비하자. 어차피 매일매일 코딩하잖아?


Javascript

  • 최근에 React 공부를 시작했다. 시작한 계기는 단순한데, 백엔드 + 프론트엔드 협업 경험을 조금이라도 해보고 싶어서 간단하게나마 익히기 위해 시작하였다. React 공부는 내 친구랑 매주 1~2시간 정도로 조금씩 꾸준히 진행해보려 한다. 현재는 노마드코더 기본 강의를 수강한 이후, 실전 리액트 프로그래밍 책/강의로 공부해보려 준비 중이다. 아직은 리액트 컴포넌트에 html, css로 꾸미고, useState같은 간단한 리액트 훅 외에는 아무것도 이용하지 못하는 수준. 특히 Redux는 아직 너무나도 어려운 영역이다. Action에 실행하고 Reducer로 넘어가서 어쩌고저쩌고... 11월 달 쯤엔 감 좀 잡을 수 있도록 하자!

 

  • NodeJS 공부는 현재 인강으로 진행 중인데, 조현영님의 NodeJS 교과서 강의, 그리고 John Ahn님의 노드+리액트로 만들어보는 강의를 공부중이다. 우선 인강으로 경험해보고, 산출물에 기능을 조금씩 추가하여 서서히 내 것으로 만들어보는 작업을 거쳐보려 한다. 또한, 강의에서 AWS, 도커 배포까지 가르쳐주는데, 이번 기회에 웹배포 경험도 많이 쌓아보자. aws는 마치 github과 같아서 많이 하면서 익히는 것이라 한다. 이번 기회에 발을 담궈보자.

ps도 ps지만, 최근 개발에 흥미를 붙인 게 정말 다행이다. 이렇게 조금씩 꾸준히 하다보면 언젠간 프로젝트에서 1인분을 해내는 개발자가 될 수 있지 않을까?

 

반응형