Search
Duplicate

web-socket-chat

상태
완료 🙌
기술스택
Springboot
작업기간
2022/03/15 → 2022/08/07

프로젝트 설명

목적

Redis, Mysql 등 다양한 스택 경험 및 SpringBoot 전반적 이해를 위함
WebSocket Protocol 기반의 채팅서버 구축을 통한 Http 통신 이해
Layer Architecture 형태의 프로젝트 구조 경험
AOP, DI 개념 학습

구현하고자 했던 기능

Session 기반의 로그인 구현
WebSocket 기반의 채팅 기능 구현
친구 추가 및 관리 기능

기술스택

Redis
Java
Spring Boot
Jooq

KPT

Keep

그냥 내가 많이 부족하다는 것을 느낀 프로젝트였다. 프로젝트를 진행하기 전까지 스프링, 스프링 부트의 차이점을 설명할 수도 없는 상태였다. 그런 부분에 있어서 굉장히 많은 것을 배울 수 있었던 시간이었던 것 같다.
third party 라이브러리를 도입하는 방법에 대해서 배웠다.
기존의 jdbc라던지 jpa와 같은 기술들을 도입하기 위해 사용법을 검색해보기보다 Jooq라는 라이브러리가 어떻게 1:N 매핑을 지원하는지, 도입하기에 적합한지를 검토해볼 수 있었다.
리뷰를 해주시는 선배와 기술 스터디를 진행하면서 어떠한 기술을 도입하기 전에 어떤식으로 접근해서 어떻게 파악하고 실제로 도입으로 이어지기까지 전과정을 체험해볼 수 있어서 정말 좋았다.
Github에서 협업하는 방법에 대해서 배울 수 있어서 좋았다. 또 기술 전파가 이리도 좋은 것이라는 것을 깨달았다. 나도 나중에 남들에게 선한 영향력을 끼치는 개발자가 되고 싶어졌다.

Problem / Try

내 능력이 처참했다.
DB, Architecture 등 프로그래밍적 이해 부족
Github 활용 능력 부족
HTTP, Spring 동작 구조 이해 부족
Java 기본 라이브러리 이해 부족
차근차근 공부한 것들을 정리해나가면서 역량을 키워나가야겠다.

느낀점

중간에 훈련소에 다녀온 기간을 제외하고 3월부터 8월까지 대략 4개월 정도에 걸쳐 진행한 프로젝트였는데, 너무 좋았다.
코드에 대해서 고민하고 이 코드가 좋은 코드인지 생각하는 시간들이 당시에는 정말 힘든 시간들이었는데 돌이켜 생각해보니 정말 좋은 시간들이었다.
개발자로써 마인드셋을 어느정도 장착하는 시간이 되었던 것 같다.
개발자로써도 인간적으로도 존경할 수 있는 좋은 선배의 조언들로 개발을 대하는 자세나 개발을 함에 있어서 어떤 자세로 다가갈지 학습할 수 있는 시간들이었다.