One Page 사이트 외주 후기

Reading time ~1 minute

One Page 사이트 외주 후기

사이트 정보

Python 3.6.3, Django 2.0.1, Bootstrap 3.3 등을 이용해 지인이 부탁한 개인 사이트를 개발하였습니다.
개발 기간은 생각보다 할 작업이 많아 여유롭게 진행을 하다보니 3주 정도 개발을 하였습니다.
현재 개발은 거의 완료 되어 있는 상태고 일부 조정 사항이 남아 현재는 pythonanywhere에 올라가 있습니다.

기능

기본적인 개인 소개 페이지로 특별한 기능이 많지는 않습니다.

  • Image slide
  • 운동영상을 youtube에 올린 후 운동 정보 model에 넣게되면 youtube 영상의 thumbnail을 받아와 저장
  • 주소 입력시 requests를 이용하여 google geocoding에서 위경도를 받아와 저장, 받아 온 위경도를 이용하여 페이지에 표시
  • Q & A의 Pagination

어려웠던점

HTML

https://wrapbootstrap.com/에서 템플릿을 사다가 작업을 하다보니 생각보다 처음 코드를 읽고 정리를 하는 부분이 시간이 많이 소요된다는 걸 알았습니다.

그리고 있는 기능을 쓰는 것은 편하지만 뭔가 커스터마이징을 하려고 하면 생각지도 못한 다른 일들이 생기는 것을 보고 쉽지는 않구나 하는 생각을 하였습니다.

HTML, Css 및 Bootstrap을 그래도 잘 활용할 줄 알고 있다고 생각을 했는데, 아직 많이 부족하다는 것을 깨달았습니다.

오류처리

QuestionForm에서 errors를 갖고 리턴을 해줄 수 있도록 로직은 구현을 했지만 Form참을 modal형태로 띄워주다보니 리턴시 modal창이 뜨지 않아서 새로 눌러야하는 번거로움이 있었습니다.

해당 내용은 다음과 같이 jquery를 이용해 form.error가 있을 경우 modal의 show 옵션을 이용해 처리 하도록 하였습니다.


{% if question_form.errors %}
    <script>
        $(function () {
            $('#question-form').modal({show: true});
        });
	</script>
{% endif %}

이와 같이 처리는 하였으나

CommentForm은 물론 Admin만 작성을 할 수 있으며, TextInput만 받으면 되어 오류가 발생을 하지는 않을 것이나, 혹시 모르는 상황에 대해 위의 QuestionForm처럼 작업을 하려고 하였으나, CommentForm 자체가 Question 별로 달려 있다보니 모두 id가 똑같이 되도록 되어 있어 오류 상황에 대처하기 어려웠습니다. - id를 여러개 만드는 방법은 고민중에 있습니다.

다음부터는 원페이지 사이트를 안만드는게 정신건강에 이로울 것 같습니다

해당 내용은 조금더 공부가 필요할 것 같습니다.

푸념

이번 작업을 하다보니 코딩을 하지 않는 사람과의 의견 조율이 생각보다 어려웠습니다.
처음 시작시에는 Q & A기능이 없었다가 나중에 추가가 되면서 기존에 하던 방식과 다르게 One Page에서 해결방법을 찾아야되다보니 생각보다 어려웠습니다.

그로 인해 깨닫게 된 것은 사전에 프로젝트에 들어가기전에 의견을 완벽하게 조율하고, 의견 조율에 들이는 시간을 아까워하지 말아야한다 는 점을 깨달 았습니다.

간단한 사이트임에도 이러헤 힘들어 하는 것을 보고, 추후 이런 외주 업무를 통해서 돈을 벌려면 공부를 한참 더 열심히 해야된다는 것을 한번더 새삼 느끼게한 시간이였습니다.

Celery 데몬화

# Celery 데몬으로 관리하기### Celery 설정파일 작성하기```# vi /srv/celery/celery.confCELERYD_NODES="worker1"CELERY_BIN="/home/ubuntu/.pyenv/versions//bin...… Continue reading

EC2 배포 설정

Published on May 18, 2020