4주차 프로젝트 종료

이정기·2022년 12월 10일
0

TIL

목록 보기
29/71

프로젝트 회고

화면구현 프로젝트가 끝나고, 회고 느낌으로 정리해본다.

필수 구현해야했던 기능 정리

  • GIT

    • git add / commit / push 활용
    • git pull / merge 활용
  • CRUD

    • 게시글 쓰기 기능 구현
    • 게시글 글 보여주기 구현
    • 게시글 글 수정 구현
    • 게시글 글 삭제 구현
  • DB

    • MySQL 정규화 작업
    • MySQL Join 쿼리문을 활용 하여 데이터 전달
  • 회원 기능

    • 회원 가입, 로그인 구현
    • 마이 페이지 프로필 수정 구현
    • 비밀번호 DB에 암호화
  • 기타 기능

    • Logging 데이터 확인 가능
    • Pagination 정상 동작
    • 세션 관리

우리가 구연해야할 기능들을 가이드라인으로 제시하고, 이제까지 보았던 기본들을 토대로 직접 검색해 나가며, 홈페이지를 제작해야하는 프로젝트였다.

우리는 웹개발종합반에서 배운 게시글 올리기를 토대로 위에있는 모든 기능들을 구현해야했기에 공통적으로 게시물올리기는 모두 구현하였지만, 로그인 로그아웃, 이미지 올리고 내리기, 페이지네이션, 암호화 등은 거의 맨땅의 해딩을 한다는 듯이 프로젝트를 해나가야했다.

모든 UI 는 부트스트랩 템플릿을 활용해 내가 만들어냈고, 기능구현을 팀들에게 거의 맡기다 싶이 했다. 이 프로젝트의 가장 아쉬운 부분이였다. 백엔드 개발자로 왔는데 프론트만 해내다니.. 다음 프로젝트때는 백엔드 위주로 도맡아 해야겠다.

프로젝트 완성 이미지

로그인 페이지

세션을 활용해 로그인 로그아웃 을 구현했다고 한다.

회원가입페이지

이 부분은 내가 맡아서 했지만, 데이터베이스와 연동해 데이터를 넣는 것까지만 구현해 아쉬움이 많이 남았다.

유니크 키값을 활용해 아이디 중복체크 기능을 만들지 못했던게 아쉬웠다.

템플릿을 찾는건 그렇게 어렵지 않았는데, 내가 생각했던 기능들(유효성 검사, keyup JQuery 를 이용해 즉시 적합성 표출)은 모두 프론트엔드적인 부분이었기에 백엔드부분에 시간을 많이 쏫지 못하였다.

다음 프로젝트때는 내가 맡은 부분이 있더라도 백엔드 부분부터 개발 후, 프론트엔드에 대해 신경쓰도록 하자.

메인페이지

마찬가지로 수정 삭제기능도 나중에 꼭 구연해봐야 할 기능들 목록이다.
페이지네이션도! 우리팀 한분이 페이지네이션을 제대로 구현하지 못해 못내 아쉬워하던 모습이 아른거린다.

서브페이지

여기선 수정을 눌러 데이터베이스를 수정하는 기능도 있었는데 팀원분이 애를 먹었다한다.

git $ github 사용

처음 프로젝트에서 깃과 깃허브를 사용했는데, 많은 애로사항이 나왔다.

  • 문제점
    • 깃헙 플로우에 대한 설계를 하지 않아 프로젝트를 진행하는데 혼란이 빚어짐
  • 해결 방안
    • 깃헙 플로우 설계 방법을 조금 더 공부해서 처음부터 팀 멤버들이 참고할만한 틀을 만을면 수월할 것 같음
    • 기능마다 원격 깃으로 푸쉬하는 브랜치 설정하기
    • 각 로컬 브랜치에서 작업하기

깃에 대한 지식과 경험이 많이 부족했던것을 느꼈다. 아직 공부가 더 필요한 부분이다.

데이터베이스 추가와 삭제 반복

MySQL 은 관계형 데이터베이스로 명확하게 정의된 구조가 있다. 하지만 일단 테이블을 만들고, 계속 칼럼을 추가 삭제 하며, 시간을 소비했던 부분들이 있다. 이런 삽집을 통해 nosql 의 중요성도 알아간 것 갓다.

중간점검의 중요성

팀원들이 맡은 기능들을 잘 수행해 나가고 있는지 팀장은 점검을 소홀히 하지 않았고,그 또한 배울 부분이였다. 팀장이 팀원에게 질문을 할때 요점은 두가지였다.

  • 해당 기능 구현에 대한 감이 잡혔나 or 잡히지 않았나.
  • 해당 기능 구현을 포기 할것인가 or 하지 않을 것인가.

이것은 해당 팀원이 감을 못잡았을 시 피말리는 말이지만, 반드시 거쳐야할 과정이라 생각한다. 그래야 무사히 기한안에 프로젝트를 마무리 할 수 있고, 팀원 분위기를 좋게 유지할 수 있는 길 이기 때문이다. 같은 부트캠프 학생이지만 팀장을 맡은 팀장님께 많은것을 배울 수 있었다.

VSCode 환경설정 삽질

내가 가장 시간소모를 크게 한 부분이다. 처음 강의를 들을 때, 파이참 유료버전을 IDE 로 골라 환경설정이 어려운 부분이라는 것을 전혀 느끼지 못했다. 파이참은 무겁기 때문에 (무엇을 하든 느리고, UI 가 쓸데없이 많다.) VScode 로 넘어가고 싶었지만, 이 작업을 하루를 통채로 소모했는데도 해결하지 못했다.

이 부분은 미리 했었어야 했는데, 프로젝트 기간을 잡아먹은 치명적인 실수를 했다 할수 있다. 미리 환경설정을 해놓자!. 파이참은 유료버전인 만큼 세팅을 편리하게 도와주지만 VScode 는 파이참보다 친절하지 않다!

라이브러리 확인

난 맥북M1 Air 로 작업을 하고 있는데, 이 노트북이 지원하지 않는 라이브러리들이 존재했다. 사용할 라이브러리들이 일단 내 노트북에 동작하는지 확인 해보고, 사용하는 습관을 들여야 한다는 것을 느꼈다.

또다른 문제점들

오류가 무서워 시도하지 않았다.

검색 한 코드들을 그대로 쓰려만 했다.

우리는 해당기능들이 몸에 익지도 않았고, 제대로 배우지도 않았기 때문에 모르는 것이 당연하다. 만약 로그인 로그아웃을 만들려고 한다면

  1. 아이디와 비밀번호가 맞는지 확인한다.
  2. 아이디와 비밀번호를 정확히 입력했다면 데이터 베이스에 저장한다.
  3. 세션값을 유지하며, 메인페이지로 이동한다.
  4. 로그아웃 버튼을 클리갛면, 세션값을 종료하며 로그인 페이지로 이동한다.

라는 스텝을 밟게 된다.

그렇다면 첫 번째, 스텝을 해결하기 위해 기능들을 시도 후 오류를 내보며, 정답으로 가야하는 과정을 거쳐야 했다.

로그인과 로그아웃의 기능의 방법은 다양하고 또, 넘쳐난다.
그것의 기능들을 내가 배운것에 녹여내여 나만의 코드를 만드는 과정을 반드시 거쳐야 성장한다는 것을 느낄 수 있다.

더 이상 오류 내는것에 두려워 하지말고, 스텝을 하나 씩 시도해 나가자.
그리고 나만의 코드를 만들고, 그 코드에 애정을 가지자..

내 코드를 사랑할 수 있도록 내 코드에 온 힘을 쏫는 과정도 한번 거쳐보자...

마무리

뿌듯하고, 감동적인 팀 프로젝트를 마무리 하고, 모두 긴장이 풀리고, 마치 진짜 개발자가 된 느낌을 느낄 수 있었다. 하지만 자만하지 말고, 내가 구현하지 못했던 부분들을 정리해 나가며, 한 번 시도해보는 과정을 거치도록 하자.

노션 프로젝트 정리 링크

github 주소

https://github.com/wjdrl3122/talmo

profile
Node.js 로 꿈을 꾸었다..

0개의 댓글