국비학원 파이널 프로젝트 회고 - 3

기르기르·2023년 1월 15일
2

파이널프로젝트

목록 보기
6/6
post-custom-banner

주소록은 사실 시간이 없었어

주소록 ㅎㅎ.. 뷰 페이지를 거의 이전 기수의 프로젝트를 복사했다. 물론 그대로 쓴 것이 아니다. 그대로 쓸 수 없었다. 강사님이 달라서 하는 스타일도 아예 달랐고 자신이 따로 공부한건지 배운 적 없는 것들이 많이 들어가 있었기 때문이다. 게다가 주소록이 거의 다 AJAX로 되어있어서 사실 상 틀만 빌리고 내 입맛에 맞춰서 거의 손을 보았다. 하지만 남의 것을 가져와서 쓰는게 이리도 편한거구나 하는 나쁜 쾌감이 들었다ㅋㅋㅋ

모달~ Modal~ 이 녀석 물건이야!

본래 메일 부분에서 내가 따로 Modal을 공부해서 사용하려고 했으나, 시간이 없어서 전혀 사용하지 못 했는데 이 분이 쓰신 거에 Modal이 있어서 덕분에 공부가 되었다. 주소록 추가, 그룹 추가, 물어보는 메시지 띄우기 부분에 쓰여있는데 Modal을 써서 굉장히 좋은 점 이라고 생각된건 그것들을 한 페이지에서 다 처리할 수 있는 것이다. 마치 일반 사이트처럼! 나는 그 정도의 실력이 되지 않기에 놀라움을 금치 못 했다. 그러면서 어쩌면 메일도 한 페이지에서 다 처리할 수 있지 않을까 하고 다른 사람들 거를 뒤적거리고 네이버, 다음 메일도 보며 내 코드를 다시 천천히 보았는데 다들 그냥 페이지를 나눈 것 같았다. 할 순 있을 것 같지만 사람들이 굳이 하지 않는데에는 이유가 있지 않을까싶어서 그대로 두었다. 아니 사실 시간도 없었다 ㅜㅜ

하여튼 기능적인 부분은 똑같았다. 아무래도 웹 개발이 그런거겠지

우리가 배우는 수준이 비슷해서이겠지만 기능적인 부분은 크게 차이나는게 없었다. 거의 기본적인 CRUD. 다만 패턴? 이라 불리는 것이 다른 듯 했다. 다른 사람들의 코드를 찾아봐도 그랬다. 이번에 우리가 배워서 하는 패턴을 대부분 안 쓰는 것 같던데 흠... 강사님이 오히려 세련된 방식으로 알려주는거라 기존의 것(기초)부터 배우는지라 안 배워서 안 쓰는건지 아니면 그냥 우리 수준에 맞게 더 쉬운 방식으로 알려준거라 굳이 쓸 필요가 없어서 안 쓰는건지 그거는 현업에 들어가봐야 알 것 같다.
주소록을 개발하며 아쉬운건 내 머리로 구상한게 아니라는 것과 내 스타일로 뷰 페이지를 리팩토링 할 시간이 없던 것이다. 아마 면접 볼 때 내 깃을 보았다면 물어보겠지. 아무리 봐도 다른 사람이 작성한 코드 같던데 진짜 본인이 한게 맞느냐고. 애초에 코드도 일관성이 있어야 보는 사람도 개발하는 사람도 쉽게 알아볼 수 있는데 이것저것 섞여있으니 그 서류에서 이미 나 광탈하지 않을까 흑흑 조금이라도 고쳐놔야겠다는 생각을 했다.

마지막 주는 에러잡기 그리고 CSS

사실 내 CSS도 3주차에 거의 끝내두었었다. 더 입히고 변형시키고 싶었으나 나의 도움을 기다리는 사람들이 많았기에 도저히 할 수 없었다. 그래서 또 어디선가 발견한 CSS를 참고해 메일 파트의 CSS를 구현했고 주소록은 뭐.. 거의 비슷하게 썼다. 다행인 것은 받은 메일함, 보낸 메일함, 휴지통 페이지가 하나의 css파일로 처리가 가능했던 점이다. 형식이 똑같아서 하나만 만들면 다른 페이지는 크게 손 볼 부분이 없었다.
생각보다 걱정한건 메인 페이지였는데 조원이 그룹웨어에 쓸 수 있는 무료 CSS 템플릿을 아예 찾아와서 영어로 된 부분들, 마크, 메뉴 파트 등을 입맛대로 손 볼 수 있었다. 내 CSS가 끝나고는 header와 footer의 분리, 메인 페이지 손보기, Spring Security를 쓸 순 없었지만 session에서 가져온 정보를 통해 직급에 따른 뷰 조정 등을 했다. 안타까운 점은 수요일까지는 계속 조원들의 에러를 잡아주다가 더이상은 무리라서 CSS만 해야될 것 같다. 더 추가하면 고칠 시간도 없다. 라고 조장에게 건의해서 조장님이 조원들에게 '이제 개발 그만하고 CSS만 하자'고 했음에도 다들 개발하느라 정신이 없었던 것이다. 물론 마지막 휴일 때 다들 알아서 CSS를 해왔지만 그때 당시엔
이 꼴인 상태로 프로젝트를 끝낼 것 같아서 조마조마했다.
아 그리고 정말 슬픈 일이지만 내 오류를 제대로 볼 수 없었다.. 흑흑 조원들 걸 잡아주고 CSS해주고 MySQL로 변환하느라 정신이 없어가지고... 그래서 발표하는 당일 아침에 내 메일이 제대로 날아가지 않는 것을 확인하였다.

사두사미로 끝났으니 뭐.. 나쁘지 않은건가

애초부터 용을 기대하고 만든건 아니라서 토룡이 되지 않은거에 감사해야할진 모르겠으나 뭐 합쳐서 톰캣으로 돌릴 때 결과는 겉으로는 나쁘지 않게 보였다. 하지만 진짜 문제가 끝나갈 때 쯤 터지기 시작했다. 우리 학원은 호스팅까지 다 가르쳐주고 파이널 프로젝트에서 체험도 했는데 Oracle은 비용이 아주 비싸서 MySQL로 해야된다는 것이었다. 곰곰히 생각해보니 강사님이 MySQL로 변환해라 하긴 했는데 뭐로하든 그냥 자율로 하는거다 라고 다들 알고 있어서 처음부터 Oracle로 한게 실수였다. 당장 호스팅을 앞두고 우릴 포함한 여러 조가 부랴부랴 MySQL로 변환한다고 떠들썩했는데 개발 정도가 대부분 50% 밖에 안되는 우리 조는 아무리 봐도 여력이 없어 보였다. 호스팅까지 하루하고 반나절 밖에 안 남은 상황에서 Oracle과 비슷하지만 보충으로 하루 정도 배운 MySQL로 각자 부분 바꾸라고하면 못 할 것 같아서 아니 사실 어차피 내가 또 해줘야 될 것 같아서 그냥 내가 말 없이 sql파일과 모든 조원의 xml mapper를 MySQL로 바꾸었다.
그렇게 더이상의 문제가 없을 줄 알았으나 sts3를 쓴게 문제.. 까지는 아니고 아쉬운 점이 되었다. 강사님께서 왜 sts3를 썼냐며 sts4(부트)로 하라고 했던 이유가 호스팅 방식에 차이가 있다고 이야기 했기 때문이다. sts3로 했기 때문에 부트의 호스팅은 배울 수 없게 되었다며 호스팅 진행을 해주셨다.ㅜㅜ 사실 파일들도 다 sts4로 바꿔놓으려고 했는데 나의 손이 필요한 곳이 너무 많아서 도저히 바꿀 시간이 없었다. 뭐 핑계라면 핑계겠지만.
여튼 그렇게 호스팅이 끝나고 우리가 구현한 홈페이지가 돌아가는 걸 볼 때 아주아주 신기했다. 아 진짜 사람 손으로 이 정도로 만들 수 있구나 하는 뿌듯함. 조금 기뻤는데 오래가지는 않았다. 호스팅 후에 문제가 이것 저것 있었기 때문. 일단 첫번째로 이상하게도 수정을 해서 war 파일을 다시 export해서 올릴 경우 불특정한 부분들이 롤백 되는 경우가 있었다. 이거는 누가 뭘 잘못 만진건지 export 과정이 잘못된건지는 모르겠다. 근데 가장 중요한건 그로 인해 내 메일이 전송이 안된다는 것이다... 주소록에 사람 생성도 안되고 미치는줄 알았다. 수정해서 다시 올렸을 때 되었는데 다른 사람이 또 수정한 뒤에 다시 메일 발송이 안된다; 그래서 지금 호스팅된 페이지에 내 메일이 돌아가질 않는다 하아.. 사실상 포트폴리오에 걍 피피티로 보여줘야되는 상황.
두번째로는 그렇게 쌩쇼를 하고 매달렸던 Apache James가 용량 부족(Cafe24에서 조금 저렴한 걸로 구매했기 때문)으로 올라가지 않았다. 이 부분은 좀 당황했으나 쿨하게 포기하기로 하며 IMAP에서 가져오지 않고 DB에서 가져오길 잘 했다고 생각했다. 그럼 뭐하나 내 메일이 제대로 돌아가질않는데..
그런데 지금에 와서 보면 메일이 안되는게 아니라 서버의 타임아웃 비슷한게 아닌가 생각이 든다. 분명히 발표 직전 더미 파일을 만든다고 메일을 보낼 때는 다 갔는데 발표 당시와 지금 메일이 안 가는걸 보면 용량 문제나 서버 연결 문제 아닐까? 그런 의심이 든다.

프로젝트는 역시 주제가 중요하더라! 주제를 알라는거야

프로젝트 기간 동안 같은 학원에 있었지만 내거 하느라 정신이 없어서 다른 조의 작품을 볼 시간이 없었다. 그래서 전혀 모르고 있었는데 발표 때 왜 다들 이렇게 잘했는지.. 보는 내내 당혹스러웠다. 그룹웨어를 선택한 건 우리 조 뿐이고 다른 조들은 캠핑, 음악, 소모임의 주제로 배운걸 기반한 홈페이지를 만들었다. 어쩌면 배우지 않은 그룹웨어를 선택한게 실수가 아니였을까 하는 생각이 들었지만 금세 다른걸 선택했어도 크게 다르지 않았을 거라는 생각도 했다. 전체적인 퀄리티로 보았을 때에는 굉장히 아쉽기만 하지만 나 스스로에게는 배운게 많고 깨달은게 너무나 컸기에 이거면 파이널 프로젝트에서 얻을 수 있는 건 다 얻었지않나 싶다.
처음 발표한 조는 캠핑장 예약 사이트였는데 우리가 쇼핑몰에서 하는 것처럼 정보를 입력해 예약한 뒤 결제도 구현하고 캠핑장 등록, 댓글 등의 게시판도 다 구현되어 있었다. 불멍이라는 이름의 사이트로 마크도 직접 만든 것 같았는데 아주 귀엽고 느낌있었다.
다음 조는 우리 조로 대체적으로 다들 자신감이 없었다. 특히 나는 처음에는 잘 발표하다가 잘 되던 메일 발신도 안돼 ㅜㅜ 주소록 등록도 안돼 ㅜㅜㅜ 이러니까 당황해가지고 점점 목소리가 기어들어갔다고 한다. 솔직히 회사 들어가면 어떻게 될지 좀 착잡한 기분이 들었다.
그 다음 조는 코딩 공부 관련 소모임을 가질 수 있는 홈페이지였는데 모임 구하는 글을 올리면 메인 페이지에 자동으로 예쁜 모양으로 간략하게 내용을 볼 수 있게 생성되는게 아주 신기했다. 거기도 게시판을 주로 활용 했는데 신고 기능, 지도 API를 가져와서 지도에 위치도 찍을 수 있게 한 부분이 신선했다. 좋아요와 댓글도 잘 활용했었다.
다음 조는 운동하는 사람끼리의 소모임을 주제로 구현 했는데 프론트엔드를 하다가 온 사람이 있어 신기한 CSS를 많이 적용했다. 다른 조들과 차이점은 쇼핑 부분도 구현을 해서 장바구니 기능을 만들어 둔 것이다. 아마 비로그인 상태에 담은걸 구매 시에 로그인하게 되면 그대로 가져오는 기능도 구현한 것 같다. 그 외에는 다른 조와 같이 게시판 형식으로 비추 기능도 만들어서 일정 수 이상 비추를 받으면 관리자가 삭제할 수 있게 처리하는 걸 구현했다.
마지막 조는 음악 사이트를 구현했는데 보면서 제일 잘 했다 생각했다. 웃긴건 나뿐만 아니라 다들 그런 느낌이었고 수료식 날 상도 그 조에서 받았다. 강사님이 보기에도 똑같았다는 거지! 이용권 기능, 음악 업로드 듣기 다 신기했지만 가장 신기한건 음악 재생이었다. 음악을 재생하면 아래에 음악 재생과 관련된 키가 나오며 페이지를 옮겨도 계속 유지되었다. 내가 기존에 사용해보던 음악 커뮤니티 중 사운드 클라우드와 비슷했다. 처음에 그 조에서 음악 커뮤니티를 한다고 들었을 때 용량도 그렇고 저작권도 그렇고 쉽지 않을텐데 라고 생각했는데 확실히 어려운걸 해내면 대박을 치는구나싶었다.

나는 잘 한걸까요? 잘 해낸걸까요?

프로젝트의 발표까지 끝난 후 아쉽고 또 아쉬웠다. 더 잘할 수 있었는데 싶고 더 많이 배울 수 있었을까 싶어서. 그렇지만 이번의 프로젝트가 끝이 아닌 시작이기에 그냥 뭐 좋은 경험했구나 이걸 바탕으로 더 잘해보자 그렇게 생각하기로 했다.

post-custom-banner

0개의 댓글