2021 Semi Project

SOYEON·2021년 5월 5일

회고록

목록 보기
3/3

🎆세미 프로젝트

🏃🏻‍♀️주제 선정 및 메뉴 구성

잃어버린 반려동물을 찾을 때 또는 유기동물을 발견 했을 때, 글을 작성할 수 있는 게시판 만들기를 주제로 한 달 동안 프로젝트를 진행하였다.

  • 메인 화면
  • 로그인 / 회원가입
  • 반려동물 찾기 게시판
  • 유기동물 발견 게시판
  • 후기 게시판
  • 스토어
  • 마이페이지
  • 관리자페이지
여기에서 나는 찾기/발견 게시판의 글쓰기 페이지와 관리자 페이지를 담당했다.

🏃🏻‍♀️좋았던 점

  1. Git 의 사용
    Git 에 익숙하지 않기도 했고, Git 에 저장할 필요가 있는 코드를 딱히 작성하지도 않았어서 기초적인 사용법만 습득한 후 따로 Git 을 이용하지 않았었는데 막상 프로젝트 구현 단계에 오니 .zip 파일로 코드를 공유하는 건 너무 비효율적이라는 생각이 들었다. 그래서 팀원들에게 강제로 Git 을 사용하도록 했고 그들에게 기초적인 사용법을 알려주면서 혼자 사용할 땐 그냥 지나쳤던 상황들에 대해 공부를 해볼 수 있는 계기가 되었다. 무엇보다도 Git 의 편리함을 몸소 깨달을 수 있었던 것이 가장 좋았다.

  2. JAVA Oracle HTML CSS JS 의 응용
    3개월이 채 되지 않는 기간 동안 배웠던 개념들을 토대로 내 입맛에 맞게 응용해보려하니 자연스레 삽질의 연속이 되었다. 특히 그동안 자바스크립트나 jQuery 코드를 제대로 사용해본적이 없었는데 프로젝트를 계기로 매우 미흡에서 미흡으로 성장할 수 있었다.

  3. 팀원들이 작성한 코드 보기
    다른 사람이 작성한 코드를 보는 것이 왜이렇게 재밌는지 모르겠다. 코드를 짜다가 막혔을 때마다 팀원들의 코드를 봤었는데, 덕분에 내가 부족한 부분을 채울 수 있었다. 특히나 AJAX를 어떻게 구현해야할지 막혔을 때 AJAX를 구현한 팀원의 코드를 보면서 나도 구현할 수 있게 됐다.

🏃🏻‍♀️아쉬웠던 점

  1. SQL의 사용
    학원에서 봤던 시험 중 가장 점수가 낮았던 부분이 SQL의 응용이었는데, 프로젝트를 하면서 아직도 아직도 SQL 응용에 미흡하다는 것을 깨달았다. 프로젝트가 거의 끝나기 직전 팀원의 코드를 보다가 JOIN 구문을 사용한 것을 발견했고, 내가 SELECT 구문을 사용할 때 JOIN을 사용해야겠단 생각을 못했던 부분이 참 아쉬웠다. 다음 프로젝트 때에는 꼬옥 JOIN을 쓰겠노라고 계속 계속 되뇌이는 중이다.

  2. 부족한 실력과 시간
    능력치가 낮다보니 하나의 기능을 구현하는 데도 시간이 꽤 오래걸렸다. 글쓰기 페이지를 구현하는 데 아마 4일이 걸렸던 것 같다. 구현해야할 기능들과 시간은 정해져 있는데, 머리와 손이 안따라주니 마지막에 가서는 일단 되게 만들자는 마음으로 기능 구현에만 몰두하고 예외 처리는 거의 못했다. 기획, 설계에 없던 부분은 로직도 내키는 대로 작성해서 마지막으로 갈수록 아쉬운 점이 참 많았다.

🏃🏻‍♀️알게된 점

  1. 커뮤니케이션의 중요성
    공고에서 흔히 볼 수 있는 필수 능력 '커뮤니케이션' 이 왜 중요한지 몸소 느낄 수 있었다. 팀원간에 의사소통이 안되서 느낀 것은 아니고, 그저 하나의 프로젝트를 다같이 만드는 것이니까 필요한 정보는 바로바로 공유해주는 것이 좋다고 느꼈다. 더불어 내가 어떻게 말해야 더 효율적인 의사소통이 될지에 대해 많이 생각해볼 수 있었고, 말을 하더라도 부적정인 표현보다는 긍정적인 표현을 사용하려고 했다.

  2. 기획, 설계 단계의 중요성
    구현 단계에 가서 기획과 설계 내용대로만 하다보니 이 둘의 중요성을 매우 느낄 수 있었다. 직접 구현하기 전까지는 그저 하나의 틀, 경계선 정도라고만 생각했던 것 같다. 하지만 직접 구현을 해보니 앞선 두 단계는 프로토타입의 느낌이었고 (올바른 비유인지는 모르겠다.) 그만큼 중요했다.

  3. 파일업로드와 보안
    파일업로드 기능을 구현하면서 예외처리를 하다가 확장자와 보안이 연관있다는 것을 알게 됐다. 기능 구현하느라 자세히 알아보지는 않았지만, 여유가 될 때 공부해봐야겠다.

  4. Oracle Lock
    Lock에 관한 오류를 두 번 만났다. 하나는 계정에 걸린 lock이었고, 하나는 테이블에 걸린 lock이었다. 일단 해제하기 바빠 이또한 자세히 알아보진 못했다. 키워드는 알았으니 정리해서 추후에 포스팅 해야겠다.

🏃🏻‍♀️앞으로의 방향

  1. Git을 더 잘 다루도록 공부하기
    프로젝트 중 branch를 사용하고 싶었는데, 너무 머리로만 아는 상태라 사용하지 못했다. push, pull 하며 만난 오류들도 만날 때마다 찾아보기 일쑤였어서 Git을 더 공부해야겠다는 생각이 매우 들었다.

  2. API/라이브러리 사용하기
    프로젝트에 사용한 API와 라이브러리 중 내가 사용하지 않은 것들도 있다. 개인적으로 프로젝트를 진행할 때 꼭 사용해보고싶다.

  3. 디자인 패턴과 클린 코드
    프로젝트가 끝나고 나니, 어떻게 하면 더 효율적인 코드를 짤 수 있을까 싶었고 자연스레 디자인 패턴과 클린 코드에 대해 공부해야겠다는 생각이 들었다.

정리하고 보니 할 일이 참 많다! 차근차근 하나씩 해봐야겠다!

0개의 댓글