세미 프로젝트 (완). 프로젝트 회고록 -2

Bloooooooooooooog..·2023년 4월 24일
1

SemiProject

목록 보기
5/6

세미 프로젝트 (완). 프로젝트 회고록 -1

화면 구현 📺

HTML, CSS, JS를 배우면서 동시에 프로젝트 화면 구성을 시작했기 때문에 꽤 오랜 시간에 걸쳐서 화면 구현을 했었다. 내가 맡은 페이지는 장바구니, 환불 페이지, FAQ 페이지였는데 추후에 JSP 사용을 염두해두고 반복할 수행할 코드를 염두하면서 개발을 진행했다.

쇼핑몰이라서 디자인적으로 반짝이는 기능은 딱히 없었고, 깔끔하고 보기 좋게 구현하려고 애썼다. 꼭 할 필요 없기는 했지만 라이브러리를 써보고 싶어서, slick을 통해 상품 추천 슬라이더도 넣어봤다. FAQ의 경우 개인적으로 만든 슬라이더보다는 부트스트랩을 이용해 가져오는 편이 낫다고 생각해서 부트스트랩으로 구현했다. 어차피 FAQ에는 기능도 없고, 화면만 예쁘게 나오면 됐기 때문에 이 부분에서는 힘을 조금 뺐다.

나중에 추가한 부분이지만 헤더 메뉴바를 미디어쿼리를 통해서 반응형 페이지를 만드는 부분도 진행했다. 그렇게 많은 노력이 들지 않지만 꽤 깔끔하게 나온 것 같아서 마음에 들었는데, 정작 시연 때는 까먹고 발표하지 못해 아쉬운 맘이 든다.

bootStrapFaQ

부트스트랩으로 구현한 FAQ

미디어쿼리

미디어쿼리 구현

서버 학습, 기능 배분🈹

3월 즈음부터 서블릿, JSP를 본격적으로 공부하면서 기존에 HTML로만 이뤄진 페이지들을 하나하나 JSP로 이식했다. 기존부터 JSP를 염두하고 만들었어서 크게 어렵지는 않았다.

헤더와 푸터 등을 따로 구현하고 include하는 방식으로 바꿨고, 이 과정에서 깃 관리를 맡았던 조원 님이 많이 맡아서 신경을 써주었다. 지금 생각해보면 깃 관리, 템플릿 만들기, API 구현 등등 조금 어렵고 귀찮은 부분을 많이 도맡아 해주셔서 감사하다. 다른 조원들이 그 분 덕에 개발에 더 집중할 수 있지 않았을까싶다.

서버 공부를 마칠 즈음으로 본격적으로 어떤 기능을 맡을 지 회의를 했다. 꼭 자기가 맡은 화면이 아니어도 좋으니 기능을 자유롭게 나누려고 했다.

하지만 막상 회의 결과 자신이 맡은 프론트 페이지의 기능을 각자 구현하는 방향으로 가게 됐다. 나는 장바구니, 환불 페이지를 맡았다.

조원 이탈🚪

기능 구현에 열중하던 중 별로 좋지 못한 일이 있었다. 로그인과 회원 가입, 회원 정보 수정 기능을 맡으신 조원 한 분이 개인 사정으로 학원을 그만두셨다.
사실 어느정도 낌새를 못 느낀 건 아니지만 갑자기 나갈 거라곤 생각하지 못했는데 조금 안타까운 일이었다. 이 번이 두 번째로 그만둘 의사를 표현한 것이기 때문에 더 말릴 수 없다고 했다. 사실 조원 하나가 사라진다는 점도 안타깝지만, 그간 밥도 먹고 이야기도 나누었는데 인사 한 번 없이 사라졌다는 점도 아쉽기는 하다.
깃을 합쳤을 때, 사실상 기능 구현은 거의 되지 않았기 때문에 남은 부분을 적극적으로 나누어야 했다. 다행스럽게도 로그인과 회원가입은 따로 조원 분이 구현을 하고 있었기에 그대로 이어받았고, 주문 내역 조회는 사실상 환불 신청 페이지와 겹치는 부분이 많았기 때문에 내가 이어받아서 완료를 시켰다.
그 외 회원 정보 수정과 같은 부분은 기간이 모자르기 때문에 아쉽게도 개발 준비 중이라는 표시만 남기기로 했다.

Git 관리의 문제 🪶

협업을 하면서 가장 어려웠던 점을 꼽자면 git관리가 아닐까 싶다. 물론 후반부로 가면서 어느 정도 git을 운용하는 데 익숙해지긴 했지만 여러 가지 변수가 가장 많았던 부분이 git이었다.

문제상황 1

초반 git을 합치면서 충돌의 원인을 살펴보면 대개 git의 정확한 사용 방법조차 숙지하지 못한 이유가 컸다. 초반에는 각 명령어의 정확한 사용의 알지 못한 채로 그저 정해진 매뉴얼대로 따라 치는 경우가 있었다.

정확한 예는 아니겠지만 'git add .'에서 오류가 났는데 에러 메세지를 안 보고 'git commit'을 계속 날리거나 하는 식이다. 또는 git pull을 하면 병합까지 이루어지는 상황을 인지하지 못하는 등등의 문제도 있고 말이다.

git은 솔직히 말하면 지금도 어려운 부분이 있고, 공부를 더 해야겠지만 초반에는 정말로 혼란이었다. 누가 어느 정도 알고 있고 무엇을 모르는지가 정확히 파악이 되지 않으니 문제가 더 심각해지기도 했다.

문제상황 2

git 관리 방법도 조원마다 다른 것도 문제였다. 나를 포함한 다른 조원들은 개인 branch를 통해서 코딩을 하고, push 이전에만 따로 백업용으로 export를 했다. 한 분은 개인용으로 export한 부분에서 작업을 하고 push 이전에 branch에 병합 후에 push를 했다.

branch 내에서 작업을 하지 않고, 개인 작업 폴더에서 branch 폴더로 수동으로 옮기다보니 그 과정에서 파일 충돌이 많이 생겼고, 후에는 작업 방식을 맞춰달라고 부탁했다.

문제상황 3

git을 pull받은 뒤에 생기는 에러들이 있었는데, 대부분은 수정해야 하는 경우가 맞았지만, api나 라이브러리 사용 중 이유 없이 생기는 오류가 있기도 했다. 그 부분이 거슬려서 주석을 처리하고 개발을 하다가, 이후 다시 push를 하는 상황이 있었다.
이 때문에 주석 처리된 코드가 merge되면서 필요했던 기능이 동작되지 않는 경우가 있었다.

내가 주석을 풀고 push를 하던가, 미리 말을 해서 주석처리를 풀도록 했어야 했는데, 나도 부주의하고 무지해서 정확한 상황을 알지 못해서 벌어진 문제점이었다.

profile
공부와 일상

0개의 댓글