TIL

230111 TIL

미노킴 2023. 1. 11. 23:58

오늘 배운 것 & 한 일

노션의 실시간 저장과 웹 소켓

원래 지금 진행하는 프로젝트에서 노션 같은 실시간 저장 기능을 구현하려고 하였다. 웹 소켓에 대한 개념이 없었어서 처음에는 실시간 저장을 하려면 웹 소켓이 반드시 필요한 줄 알았다.

 

그런데 노션의 기술 블로그를 보니 '실시간 저장''다른 사람과의 실시간 통신'은 다르다는 걸 알게 되었다.

 

웹 소켓은 다른 누군가와 실시간 통신을 할 때 필요한 것이고, 실시간 저장은 프론트의 로컬 스토리지 만으로 구현할 수 있었다. 실제로 노션도 적은 내용을 실시간으로 저장하는 건 로컬 스토리지를 사용하고, 그 내용을 다른 사용자에게 바로 보여주는 부분에서만 웹 소켓을 사용한다.

 

우리가 이번 프로젝트에서 만드려는 서비스는 투두리스트 + 다이어리 이다. 아직은 다른 사람과 소통하는 기능이 없기 때문에 웹 소켓을 적용할 부분이 아예 없다. 넣으려면 억지로는 넣을 수 있겠지만, 오히려 서비스의 완성도를 해칠 수 있다.

 

이번 실전 프로젝트 때 도전해보고 싶은 기술이었지만, 아쉽게도 이번에는 다른 기술을 도전해 보아야 할 것 같다.

 

이번 프로젝트에서 무엇을 배우고 어필할 수 있을지 한번 잘 생각해보자.

 

RDS와 Data Grip

오늘 RDS로 MySQL을 만들었고, 스프링부트와 연결하는 작업을 끝냈다.

 

구글링을 통해 따라하기만 해서 글로 따로 정리하기는 힘들 것 같다. 글을 써도 어차피 글을 그대로 가져오는 수준이 될 것 같기에...

 

DB를 보기 위한 GUI 툴은 Workbench 대신 Data Grip 을 사용하였다. 팀원분께 추천을 받은 Jet Brains의 GUI 툴인데 "이클립스 쓰실래요? 인텔리제이 쓰실래요?" 하는 비유를 듣고 바로 Data Grip을 사용하기로 결심했다..ㅎ

 

아직은 사용법이 익숙하지 않지만, 이후에 테스트 하는 과정에서 Data Grip을 다루는 것도 많이 연습해보자.

 

팀의 동기 부여

리더로서 팀을 이끌 때 중요한 요소 중 하나는 팀원들의 능률을 높이는 것이라 생각한다. 능률을 높이기 위해 할 수 있는 일들은 정말 많다. 그런데 내 능률을 끌어올리는 것이 아니라 다른 사람들의 능률을 끌어올리는 건 생각보다 어려운 일이었다.

 

사람마다 효율적으로 일을 하는 스타일이 다르고, 동기 부여를 하는 방법이 다르고, 그 내용이 다르다. 그 외에도 다른 것들은 정말 많다. 결국은 제일 중요한 건 많은 소통일 것 같다. 

 

6주는 짧은 기간이 아니다. 6주 동안 프로젝트를 진행하다 보면 분명 지칠 때도 있고, 갑자기 의욕이 떨어질 때도 있을 것이다. 이러한 상황에 잘 대처할 수 있는 프로세스를 생각해두어야 할 것 같다. 막연히 '열심히 하자!' 로는 안된다. 제대로 문제로 인식하고, 예방하고 해결할 수 있는 방법을 찾아야 한다.