현재 스타트업에서 현장실습을 진행 중이다. 프로젝트에 투입하기전에 지금 개발에 사용하고 있는 기술스택을 공부하기위해 과제를 수행하였다. 총 2개의 과제가 있었고 django를 사용하여 게시판을 구현하는 것이었다.

첫 번째 과제

12/22~29일까지 진행되었던 과제이다. 장고를 처음으로 사용했던터라 개발환경을 구축하는데 거의 이틀이 걸렸던 거 같다. 가상환경이라는 것을 사용하는데 이부분에 대해서 왜 사용되는지 이해하기가 어려웠고, PostgreSQL과의 연동 과정에서 자꾸 오류가 나서 이것저것 다 설치를 하게 됨으로써 의존성 문제가 발생하였다. 그 이후로 진행이 안되어서 리눅스 서버 초기화를 한번 진행 후 새로 설치를 하니 순조롭게 진행이 되었다.
django-rest-framework를 사용하여 게시판을 구현하는 것이었는데 아직 django에 대해서도 잘 모르는지라 오로지 django만을 이용해서 게시판을 구현하였는데 django에 대한 한글 문서가 많지 않아 좀 시간을 많이 소모하였던거 같다. 이 부분에 대해서는 사수분께 물어보니 django가 우리나라에서는 많이 사용되고 있지 않아서 한글로 되어있는 정보가 많지 않다고 하셨다.
그리고 게시판을 구현하면서 몇가지 제한사항이 있었는데 나열 후 차근차근 설명하도록 하겠다.

  1. AWS EC2 Django, DRF, PostgreSQl 연동
  • 1번에 대한 부분은 이미 앞에 설명하였으므로 패스하겠다.
  1. 로그인, 게시판 구현
  • 2번은 django에 내장되어 있는 라이브러리를 사용하였다. login, logout과 pagnator를 사용하였는데 참으로 편했다. login시 자동으로 ID/PW가 맞는지 확인하여 로그인 해주고, pagnator는 게시판의 페이지 번호간의 이동때문에 사용을 하였는데 간단하게 매개변수와 데이터 셋만 넘겨주면 자동으로 구성되어져 편했다.
  1. DRF를 사용하되 RestFul한 EndPoint를 구성할 것
  • 이부분에서 RestFul한게 무엇인지 이해가 가질 않았다. 과제를 다 마친 지금은 무엇인지 알지만 그때 당시 찾아보고 바로 이해한 대로 코딩하였지만 잘못된 방법이었다.
  1. 코딩 컨벤션 PEP8
  • IDE를 파이참으로 사용하고 있어서 아주 간단한 설정만으로 적용이 가능하다. 회색 밑줄로 표시해주기 때문에 이게 뜨면 PEP8 규칙에 어긋난 것이므로 조정해주면 된다.

과제1 코드

과제1 깃허브

두 번째 과제

  • 이전 과제에서 피드백을 받아 이번 과제에 적용시키고 django-rest-framework를 이용하여 게시판을 구축하는 것이었다. 커스텀 유저 모델을 사용하였고 클라이언트에 데이터를 전송할 때 Serializer를 이용해서 데이터를 직렬화 시킨 후 전송하도록 하였다. 또 프론트엔드와 백엔드 부분을 명확히 분리하여 프론트 엔드는 단순 페이지만 로딩 시키며 Ajax로 통신 후 데이터를 맞는 위치에 뿌리도록 자바스크립트를 작성하였고, 백엔드는 단순 Restful API역할을 하도록 만들었다.

과제 2 코드

링크텍스트

profile
신입개발자

0개의 댓글