코드스테이츠 백엔드 과정 Section 4 후기
불타다 못해 증발해버린 나
KPT를 기반으로한 개인 회고
- 목표 상기하기
- Keep, Problem 작성하기
- Try 작성하기
- 우선순위 정하기
KPT가 무엇인지는 이쪽 블로깅 참고~
https://memodayoungee.tistory.com/112
Section4 KPT
Keep
7시 이후부터 꾸준히 개인공부하기
토이프로젝트 + 포트폴리오 사이트 재정리 + 코드스테이츠 복습 + SQL 1문제 + 알고리즘 1문제 + 노션 이력서 정리 등 남는 시간에 마무리 정리를 했다. Spring Security 부터는 너무 어려워서 코드스테이츠 학습 자료와 실습코드를 분석하여 이해하려 노력했다. 어떻게 작동하는 지 구조를 알게되니까 확실히 이해가 더 쉬웠다. Spring Security 관련 책을 읽지 못해서 혼자 공부했을 때는 예제 코드를 봐도 이해가 안됐는데, 이제는 코드를 보면 얼추 알 수 있게 됐다.
스터디 꾸준히 유지
현재까지 이탈없이 알고리즘 스터디, OOP(스프링으로 변경됨) 스터디를 진행 중이다. 스프링 스터디는 개인적으로 도움이 많이 됐고, 스터디원들에게 질문이나 도움을 요청하면 적극적으로 도와주셔서 너무 감사하다. 아마 향후 취업을 하더라도 꾸준히 유지할 것 같다.
Problum
나태해진 나
초반에 비해 공부량이 확실히 줄어 들었다. 곧 프로젝트에 돌입할거라 개인 공부 시간도 없을텐데. 나태해진 나 반성해 ㅠㅠㅠㅠ.
테스트 코드를 작성하자! 제발!
토이 프로젝트의 테스트 코드는 게시글 등록하는 것 빼고는 작성돼 있지 않다. 원래 있던 테스트 코드 마저 NPE이 발생하고 있다. 토이 프로젝트를 진행하면서 테스트 코드를 제때 작성하지 못한 것에 후회하며 이번 코드스테이츠 실습 TODO API 프로젝트에는 모든 테스트 코드를 작성했다. 의외로 재밌더라... 추후에 하게 될 팀 프로젝트에서도 테스트 코드를 꼭 작성할 것이다.
어떤 것이 부족한지 자아성찰이 필요하다.
Spring에 익숙해 지기 위해, 곧 있을 팀 프로젝트를 위해 토이 프로젝트를 하느라 내가 어떤 것이 부족한지 알지 못했다. 이번에 기술 면접을 준비하면서 느낀 바는 내가 아직 JPA에 대한 지식과 DB에 대한 개념이 부족하다는 점이었다. 쿼리 메소드가 실행되면, 영속성 컨텍스트 1차 캐시에 Entity가 있는 지 확인한다. 확인 후 객체가 존재하지 않다면 그때서야 쿼리문을 실행해 DB에서 데이터를 뽑아와 영속성 컨텍스트에 저장하고 그 저장된 값을 반환한다. 이 외에도 쓰기지연.. 지연로딩.. readonly옵션 설정 시 내부에서 일어나는 일... JPA에 대한 공부가 필요하다 생각해서 김영한님 책을 읽어볼 생각이다
.
DB에서 쿼리문만 알면 된다는 건 내 안일한 생각이었다. Index라는 개념, 클러스터링, 리플리케이션, 샤딩, 파티셔닝 등 내가 알지 못하는 개념이 수두룩했다. DB에 대해서도 깊이 공부해야 겠다.
Try
시간 나면 JPA, DB, CS 공부하기
다룰줄 안다고 해서 내가 이것을 할 줄 안다고 말할 수 있을까? 내부에서 어떻게 동작하는 지도 모르는데... ㅠ
시간이 되면 JPA와 DB쪽을 공부할 생각이다. 간간히 네트워크, 운영체제에 대해서도 공부하고... 프로젝트하느라 시간이 날지는 모르겠지만(?).
팀 프로젝트 성공적으로 끝내기!
이제 곧 있을 팀 프로젝트는 기능 구현이 우선시 되어야 하는 건 맞지만, 코드의 퀄리티를 생각하면서 천천히 코딩할 생각이다(물론 시간 없으면 후다닥 끝낼 거임).
여담
*지극히 주관적인 글입니다.
Section4에서는 인증,보안, webflux, cloud 쪽을 공부했다. Section4를 진행하면서 내가 얻어간 것은 개인 공부로는 도저히 해낼 수 없었던 Spring Security에 대한 이해(Spring Security가 어떻게 작동하는 지를 몰라서 이해가 안됐었다.), 깃허브 액션 사용법, S3, RDS 등이 있다. 여전히 컨텐츠는 불친절하다. 하지만 구글링하거나 다른 예제 코드를 참고하다보면 어느샌가 이해가 돼있다.
WebFlux 쪽은 깊이 이해하려 하지 않았다. 아, 이런게 있구나 ~ 라는 정도로만 소설 읽듯이 컨텐츠를 읽었다. Spring에 대해서 완벽한 상태가 아니라 WebFlux 개념을 머릿속에 욱여넣으면 또 번아웃이 올 것 같아 그냥 흘러가는대로 뒀다.
Section4에서는 질의응답 시간이 추가 됐다. 그 날 배웠던 내용에 대해서 현업자 분께 질의응답을 할 수 있는 시간이다. 이 질의응답 시간의 문제점은 오늘 배웠던 내용을 제대로 이해하지 못했기 때문에 어떤 걸 물어봐야할 지조차 모른다는 것이다. 그래서 나는 현업에서는 이런 기술을 어떻게 활용하고 구성하는지(?)에 대해 질문 했다. 쉽게 말해 현업에서 보는 관점을 중심으로 질문했다. 코드 스테이츠에서 배우는 내용은 구글링에서 볼 수 있듯 쉽고 개념적인 내용일 수 있다. 성능을 따져가며 다른 방식으로 코딩을 할 수 도 있는 현업의 시점과는 다르게 말이다. 그래서 나는 그 날 배운 내용보다 내가 궁금했던 점을 현업의 시점에서 질문했다. 이런 이유로 나름 질의응답 시간을 재밌고 뿌듯하게 보냈다.
Cloud 유닛은 도움이 많이 됐다. 덕분에 ci/cd도 실습해보고, S3, RDS가 무엇인지 알게 됐다. 추후에 직접 프로젝트에 적용해보고 싶었다.
아 그리고 학습 방법이 달라졌다. 전에는 목장에 자유롭게 풀어놓은 소 같았다면 지금은 작은 공간 우리에 갇혀 여물만 뜯어먹고 사는 소가 되었다.
변경 전에는 제약없이 자유롭게 공부했다면, 지금은 9시~6시 내내 줌에 들어가 카메라를 켜고 공부해야 한다. 그리고 중간 출석 링크가 올라오면 내가 현재 자리에 있다는 것을 알리기 위해 출석해야한다.
9시부터 6시까지 자리를 지킬 수 있다는 건 장점이었지만, 카메라를 켜야해서 내 모습이 어떻게 비칠지 신경쓰이는 건 단점이었다.. 하지만 이 단점은 시간이 지날수록 학습에 집중하게 돼, 내 모습이 어떻든 허니버터칩 와작와작 씹어대며 모니터만 바라보게 됐다.(포커스 모드라 호스트만 날 볼 수 있어서 다행이었다)
그럼에도 부트캠프 진행도중에 학습 방법을 바꾼다는 건 역시 약간의 거부감이 들었다. 처음부터 이런 방식으로 진행했으면 거부감이 없지 않았을까.. 아쉬웠다.
학습 방법이 바뀐 김에 이 방법의 장점을 극대화할 수 있도록 줌의 활용도가 높아졌으면 한다. 채팅으로 자유롭게 대화한다던가(?), 소회의실을 적극 활용해서 다른 사람들과의 토의? 토론이라던지 스터디 같은 ... 시간을 갖는 뭐 그런 교류가 활발해졌으면 한다.(이번에 Todo Api 프로젝트로 다른 사람들과 코드 리뷰 해보고 싶음, 서로의 코드를 가지고 피드백 해주는.. 그런 ...)
아무튼 ~! 다음 Section은 드디어 대망의 팀 프로젝트이다! 팀원들과 잘 갖추어진 프로세스 아래에서 질 좋은 코딩을 하고 싶다!
section 3 후기에서 section 4에서 이뤄내야 할 것들을 정리 했었다.
토이 프로젝트 구글 로그인, 네이버 로그인, 채팅, 챗봇 구현(채팅과 챗봇은 개인적으로 너무 해보고 싶음), 리팩토링알고리즘 문제, SQL 문제 하루에 1개씩 풀기PTU Study 병행
챗봇은 결제수단 추가해야해서 그냥 안했다ㅠ 괜히 돈이라도 나가면 어쩌나 싶어서 ㅠㅠㅠ. 그래도 채팅까지 구현하게 되어 뿌듯했다. STOMP를 사용해서 서버 쪽에서는 쉽게 기능을 구현할 수 있었지만, 프론트 쪽은 ㅎㄷㄷㄷ 난 이제 프론트 못하겠어,..
앗, 그리고 이번에 Spring 직무로 면접을 보고 왔다. 8월부터 이력서를 넣으려고 했는데, 이번에 지원한 이 회사는 내가 원하는 조건, 업무 환경, 기술 스택 모든 것을 다 가지고 있어서 여긴 무조건 넣어야 해! 라는 생각으로 이력서를 넣었다. 서류 마감 당일에 채용 공고를 봐서 기존에 가지고 있었던 문서들을 밤새가며 수정 작업했다. 하지만 포트폴리오 사이트는 미완성이라 활용할 수 없었고, 노션 이력서는 재정리하기에 시간이 빠듯해 내 성에는 차지 않아 불안했다. 그러나 하늘이 도왔는지 서류가 붙어 면접을 볼 수 있었다 ㅠㅠ.
but 면접에서의 내 답변이 만족스럽지 못했다. 내가 0개 국어임을 입증한 것 같다..
C언어를 하시다가 Java를 하셨을 때 어떠셨어요? 라는 질문에 신세계였어요... 라고 나도 모르게 답해버려서 매우 당황함.. 평소 친구들한테 C언어 하다가 Java하니까 신세계 ^^ 라고 말하고 다닌 폐해였다. 이제부터 내가 싫어하는 영화는 신세계. 싫어하는 백화점은 신세계 백화점이다.
그리고 회사가 원하는 인재상이 있었는데, 나는 그 반대로 대답을 해버렸다.. 난 분명 박진영이 짓는 표정을 하고 있었을 것이다. 아무튼 합격하면 정말 좋겠지만 ㅠㅠ 불합격이라 하더라도 기술 면접을 준비하면서 내가 부족한 부분이 어떤 것인지 깨달았고, 내 경험을 토대로 어떤 기술을 엮으며 어떤 것을 느꼈는지에 대해 조리있게 말해야 한다는 것을 깨달았다. 기술 면접만 주구장창 연습했던 내 밑바닥이 어제의 면접을 통해 여실히 드러났다. 내가 가진 강점과 경험, 기술을 잘 엮지 못해 아쉬운 면접이었다.
어쨌든 나 자신 화이팅..!
'CodeStates' 카테고리의 다른 글
[SEB BE 44] 코드 스테이츠 Main Project 후기 (0) | 2023.07.26 |
---|---|
[SEB BE 44] 코드 스테이츠 Pre Project 후기 (0) | 2023.06.27 |
[SEB BE 44] Section 3 회고록 (0) | 2023.05.09 |
[SEB BE 44] Section 2 회고록 (6) | 2023.04.10 |
[반딧불반] GitHub TIL 시작하기 (0) | 2023.03.29 |