21년 1월 27일~ 2월 9일까지 진행했던 팀프로젝트에서 내가 담당했던 부분을 기록해보려고 한다.
나는 사이트의 게시판과 댓글부분을 담당했다.
조장님이 메인을 엄청 깔꼼하게 뽑아줘서 다행이었다ㅜㅠ 회원가입과 로그인도 잘해줘서 게시판의 허접함이 좀 가려졌다^.^
완전 백지인 상태로 DB연동을 하려고 부딪혀야 했다는 것과... 사람 때문에 순탄치 않았지만...
어떻게 하냐 왜 안되냐 욕하면서 하나하나 구글링하고 생활코딩 영상을 보면서 익혀나갔다.
멘탈 나간게 복구되고나서 보니 참 허전하다. 게시판의 이미지 크기랑 간격을 좀 더 늘렸으면 좋았을 것 같은데 동물 버프로 히히 귀여워 하고 넘어갔음ㅠㅠ
우선 내가 담당한 부분은 게시판 + 댓글이었고, 그 때는 뭐가뭔지 몰라서 여기에 db가 이렇게 많이 들어갈지 몰랐다. 근데 알고보니까 그냥 처음부터 끝까지 db였다^.^
그래서 db를 어떻게 연결하는지 알아봤더니 php+mysql 을 쓰는 방법과 jsp를 쓰는 방법 등이 있었다.
수업시간에 js나 jquery를 그나마 좀 배웠어서 jsp를 써야하는거 아닐까? 하고 여쭤보고 알아보고 했는데 php가 만만하긴 하다고 해서 바로 php+mysql로 방향을 정했고, 그대로 생활코딩 페이지의 php와 게시글 만드는 강의들을 싹 들어서 기반으로 작업을 시작했다. 아래에 더보기로 참고한 파트 링크를 첨부한다.
정말 많은 도움이 됐고 없었다면 도전도 하기 힘들었을 것 같다. 정말 감사한 마음... 코딩에 도전하는 일반인들의 마음의 안식처....
이번 프로젝트에서 코딩을 하면서 느낀 아쉬웠던 점은,
- 생활코딩 영상을 보고 php_top과 html_top의 모듈화를 하고 시작해서 어떤 코드가 어디에서 어떻게 돌아가는지, 구조가 어떻게 생겨먹은건지 끝까지 헷갈렸다는 점이다. 결국 거의 마지막 단계에서 이렇게 보면 편한 것 같지만 엄청 헷갈리는구나 하면서 전체적으로 수정을 해야했다. 그냥 모듈화를 어떻게 해야하는지 잘 몰랐던 내 잘못이었고, 그래도 한번 크게 불편해보고 나니 앞으로는 어떤 식으로 모듈화를 해야 개발 및 유지보수를 하기 좋을지에 대해서 감이 잡힌 듯하다.
- 타임어택 식으로 db를 혼자 빠르게 공부해내고 써야한다는 생각을 가지고 하다보니 conn -> sql -> result -> row 의 순서와 원리가 처음에 잘 와닿지 않았다. $_GET, $_POST 에 대해서도 빠르게 넘기면서 들었더니 어떤 원리로 id와 page 등을 가져올 수 있는지, 천천히 들었다면 후반 작업에서 사용할 때 좀 더 통제하기 쉽지 않았을까 싶다.
- 이미지의 크기와 노출 위치를 조정하는 js가 끝까지 완벽하게는 작동하지 못했다. 적용을 위해 코드에 자동 새로고침을 하는 넣었음에도 게시판 기능을 사용하다보면 가끔 적용되지 않을 때가 있었는데, 이 원인을 알지 못해 답답했다.
- 보안을 위해 사용하는 mysqli_real_escape_string과 htmlspecialchars가 있었는데, 이 부분도 급하게 설명을 스킵하면서 들어서 예제를 따라하며 짰던 초기 코드 외에는 제대로 사용해보지 못한 것 같다. 원리를 이해하지 못하고 쓰다보니 사용하기도 어려웠고, 다른 php 파일에 어떤 식으로 넘어가는지를 이해하기도 힘들었다. 그래도 한편으로는 추후 프로젝트를 진행하며 겪었던 시행착오와 사용해본 경험을 토대로 좀 더 잘 사용할 수 있지 않을까 한다.
- 게시판 정말... 디테일을 많이 잡아줘야 하는데 고생한게 티가 안나는 파트다...... 억울하다............... 생성 수정 삭제 다 따로 만들어줘야 하고 거기 css랑 sql도 잡아줘야하고 이미지 첨부 안했을 때는 디폴트 이미지 첨부되게 고려했고 수정할 때 이미지첨부 안하면 빈경로 저장되는 것도 잡아주고 오류는 또 왜 그렇게 잘 나는지...... php 페이징은 또 왜 그렇게 복잡하고 기껏 구현했더니 페이지에 있는 게시글 누르면 첫페이지로 돌아가는 것도 잡았는데 발표날 아침에 오류가 나서 잡느라 휴...... 애썼다 나......
근데 무슨 숟가락으로 땅굴파듯이 공부하다보니 뭐가 되긴 하는게 신기했고, 어떻게든 구현을 해서 성과가 눈으로 확인이 될 때마다 재밌었다. 진짜 차근차근 스택 쌓는 느낌?
이번에 한 팀프로젝트의 난이도가 높은지 낮은지 감이 안 잡혀서 막 대단한건지는 모르겠다. 구글링으로 겨우겨우 알아내고 사용했던 방법들(파일업로드라든지 디버깅방법이라든지)을 다른 조원들한테 조금 알려주면 막히던 조도 다시 진행이 되는 걸 보고 다들 잘하는구나 하는 생각도 들었고...
다음에 내가 구현/사용해보고 싶은 건 api와 modal이다. 특히 api는 제공하는 사이트별로 사용하는 난이도가 천차만별이라고 들었는데 아직 안 써봐서 너무 궁금하다. 내가 잘 못 다루는건지 어려운 사이트 걸 건드리는건지 써보려다가 자꾸 포기하게 된다ㅠㅠ 수업에서 구글 지도api 사용하는 법을 배웠었는데 그냥 받아쓰기 식으로 겨우 따라가다보니 머리에 남은 게 없다... 혼자라도 공부를 해야겠다.
과정이 진행되고 있는 중간에 참여를 해서 html이랑 css를 제대로 안 배우고 시작하고 과정을 잘 못 따라가고 있다는 느낌이 있었는데, 그래도 이번 프로젝트를 통해 좀 극복한 것 같다는 생각이 든다. 열심히 하다보면 잘하게도 되겠지~~~ 잘해보자~!~!