첫 프로젝트를 마치며

			프로젝트 후반의 나의 모습

이글은 내가 맡은 부분들에 대해서만 다룬다.

다음주 화요일이면 국비지원 6개월 과정이 끝난다.
정말로 열심히 했다.

학원 강사님이 내준 문제들을 재빨리 풀어냈었고
팀 프로젝트를 하기 전에 혼자 프로젝트를 시도해본 경험에
자신감이 넘쳤다.

하지만 지금 취업하면 어느 회사에 가든 민폐가 되겟다라는 것을
육감으로 느꼇고
내 기준에 과정과 결과 모두 만족스럽지 못하다.
알 수 없는 찝찝함이 계속 남아있다.

어떤 문제에 대해 기존에 알려진 해결 방식을 적용하기보다
우리가 직접 생각해내서 해결해보자라는 마인드로 프로젝트에 임했다.

그래서 프로젝트를 진행하는 과정이 예상외로 버거웠던 것 같다.


만족스러운 부분 😊

1. 화면이 꽤 봐줄만 함.
화면단은 EpicGames 의 홈페이지를 클론하기로 했다.
html, css, javascript에 익숙하지 않앗지만
그래도 어찌저찌 애니메이션들까지 구현했다.
완벽히 똑같진 않지만 뿌듯했다.

2. 기능이 많음.
OAuth2 로 소셜로그인을 구현하면서 머리가 진짜 무거워지는 느낌이 들었다.
그래서 '아임포트로 결제까지만 구현하자' 라는 마음이었는데
메시징, 메일링, 소셜 말고 일반(?)로그인 까지 구현했다.
OAuth2 때문에 API에 대해 겁이 생겻엇는데 진짜 나머지 것들은 별게 없엇다..

만족스러운 부분은 이 두개가 끝이다.
나머지는 전부 만족스럽지 않다 (내가 작업한 부분들).


만족스럽지 않은 부분 😒

0.기획
내가 주도해서 아이디어를 내고 기획했다.
조원들 모두 게임을 좋아하는 것 같아서
'Steam 이나 EpicGames 같은 서비스를 만들자' 라는
생각으로 프로젝트를 기획했다.
배포할 계획은 없엇고
사실상 클론 프로젝트였다.
우리가 직접 뭔가를 개발하는 것이 아니었기 때문에
조원들이나 나나 모두 후반으로 갈수록 흥미를 잃엇다.
다음에는 실제로 배포했을 때 사용자들이 이용할 수 있는 서비스를
만들어 봐야지.

1.화면이 모니터 해상도에 따라 구겨짐
말 그대로 내 노트북 화면에서는 봐줄만 한데
1920x1080 부터는 뭔가 납작하다.
솔직히 HTML, CSS 진짜 쉽다고 생각햇엇는데
여기도 생각할 변수들이 엄청나게 많다는 것을 느꼈다.
코드든 뭐든 잘 알고 쓰자....

2.DB설계가 비효율적임
내가 주도해서 설계를 했다.
그런데 최종적으로 테이블 한 8개는 더 추가됐던 것 같다.
그리고 분명히 반복되는 데이타들에 대한 정리를 할 수 있었는데
부족한 지식과 경험에 하지 못햇다.
실제로 서비스에 쓰인다면 정말로 망할 구조다.
다음부터는 DB 설계하는 데에 시간을 더 투자해야겟다

3.코드에 나쁜냄새도 아니고 하수구냄새가 남
핑계를 대라하면 시간을 대겠다.
한 페이지 안에 수많은 변수들과 기능들을 처리해야 할 것을 생각하지 못하고
프로젝트를 기획했기 때문에 급한 마음이 생겼었다.
로직을 구현하면서 찝찝한 느낌이 여러번 났지만
'일단 구현하고 나중에 시간이 있으면 정리하자' 라는
안일한 생각으로 결국 못했다.
누군가에게 코드 리뷰를 받는다면 정말 쪽팔릴 것 같다.
다음부터는 그때그때 정리하자.

4.전체적인 이해
Web Socket 이나 SMTP 같은 기술들을 이용했지만
구체적인 이해까지는 하지 못했다. OAuth2 도 프로세스는
이해하고 있지만 아무것도 보지 않고 구현하라고 하면
하지 못할 것이다. 네트워크나 기초적인 CS지식이 너무 부족한 것 같다.
와~ 배울게 많다~~ ....

이 정도가 지금 생각나는 만족스럽지 못한 부분이다.


개선 방향 🏍

1. 사놧던 Java, Spring 책들 다시보기
인터넷도 좋은 정보들을 주지만 개인적으로
책이 정말 좋은 것 같다. 더 구체적으로 나와있고
특히 눈이 덜 아프다 ㅋㅋㅋㅋ
토비의 스프링이나 자바의 정석 같은
책들을 여러권 사놨었는데
다시 한번 읽으면서 부족한 부분들을 채워야겟다.

2. OOP 와 디자인 패턴, 좋은 코드에 대한 공부
빠르게 개발하면서 동시에 OCP를 적용할 수 있도록 몸으로 익힌다.
코드를 항상 짧고 굵게 만들고 싶다.

3.네트워크와 CS기초지식 공부
백엔드는 네트워크를 갖고놀아야 하기 때문에
네트워크에 대한 깊이있는 이해는 정말 필수인 것 같다.
아직 Request Header 나 Request Body 가 정확히 어떤 정보를 담고 보내는지도 모른다. 그리고 더 좋은 코드를 만들고 더 복잡한 문제들을 해결하려면
CS지식은 필요하다고 생각된다.
뭐든 어떻게 동작하는지 원리를 알아야 문제 해결이 용이하다.

4.개인 프로젝트
뭐든 일단 만들어내보자.
잘 아는것도 중요하지만 뭔가를 만들어내는 것이 더 중요하다고 생각한다.
실제로 많은 사용자들이 즐길 수 잇는 서비스를 만드는 것이
일단 취업 전 목표다.

좋은 웹페이지 즐겨찾기