블로그 서비스를 쓰고는 있는데 아무래도 open api만 가지고는 이런저런 제약 사항들 때문에 맘에 들게 운영하는데 한계가 있다고 느껴져서 설치형 블로그를 찾아보고 있었다.

대표적이자, 가장 대중적인 Wordpress 는 php 기반이다보니 다뤄보지 못한 언어라 부담이 있는게 사실이었다.


이런저런 고민을 하고 있는데 문득 Django기반의 설치형블로그인 Mezzanine이 있던게 기억이 났다. 아무래도 php를 선호하는 웹개발자가 많다보니 다소 생소할 수 있는 서비스라고 생각이 된다. 예전에 중견 개발자 분과 우연찮게 django 스터디를 잠깐 한적이 있었는데 그 때 그 분이 극찬을 하며 소개해줘서 알게 되었는데 wordpress에 뒤지지 않게 많은 기능들을 지원했던 것으로 기억이 됐다.


특히 Django의 경우, Heroku하고 잘 붙어서 서버 구축에 대한 부담도 줄일 수 있다는 장점이 있다.


아직 설치해보진 않았지만 아래 사이트를 참고해서 구축해보려 한다.


http://www.benhavilland.com/blog/deploying-mezzanine-on-heroku/


 잊지말자..


heroku는 python을 지원한다.


만약 heroku에 대해서 잘 모르는 사람은 다음 사이트를 참고 바란다. (https://devcenter.heroku.com/articles/getting-started-with-python#introduction)


웹서버를 쓸일이 있었는데 여러모로 덩치가 큰  django보다 flask가 괜찮을 것 같아 쓰게 되었는데 heroku에서 flask를 쓸수 있다는 것을 처음 알게 되었다.

flask 자체가 하나의 파이썬 파일로 구성되어 있기 때문에 별다르게 할 건 없다.


"heroku dino 생성 --> 프로젝트 연결 --> git을 통해 deploy"


조금 고려할 사항이 있다면 Procfile을 구성하는 것인데 제대로 서비스를 해도 되지 않기 때문에 일단 다음과 같이 작성했다.


web: python flask_server.py

그냥 개발서버 작동시키는 명령어를 쓴거라 작동은 하지만 제대로 된 서비스를 하는 사람에게 권장할 수 있는 방식은 아닌 듯 하다.


그 후에 조금 찾다보니 heroku와 연동하는 라이브러리가 있어 아래에 남겨 놓는다.



참고사이트

- https://github.com/zachwill/flask_heroku

https://github.com/kennethreitz/flask-heroku

개발하는 프로젝트에 스케쥴링 관련 사항이 있다면 반드시 써야 하는 기능이 바로 datetime 모듈이다.

datetime 모듈은 기본 내장 모듈로 대부분의 날짜 관련 기능을 지원하는 강력한 모듈이다


Heroku에 flask서버를 올리게 됐는데, 입력 받은 시점을 기록해야 하는 기능이 필요해서 위 모듈을 쓰게 됐다.

그런데 Heroku region을 미국으로 설정했더니 현재 시점의 시간의 미국기준으로 출력되는 현상이 발생했다.(참고로 우리나라 시간보다 9시간 전)


이런저런 해결책을 찾아봤는데 그냥 단순하게 서버 시간에서 9시간을 추가 하는게 가장 간단한 방법이라 시간을 더하고 빼는 기능을 찾아보았다.


간단하게 이야기해서 "현재시점 구하기" --> "더하거나 뺄 시간을 만들기" --> "+ or - 하기 " 이런 순서를 따른다.


python에서는 시간 단위를 만들기 위해서 timedelta()라는 함수를 이용한다.

아래 사이트를 참고하자면 다음과 같다


class datetime.timedelta([days[seconds[microseconds[milliseconds[minutes[hours[weeks]]]]]]])


예를 들어 9시간 전이라면 아래와 같다.


import datetime


currentTime = datetime.datetime.today()

nineHours = datetime.timedelta(hours=9)


nineHoursAfter = currentTime + nineHours


참고사이트

http://egloos.zum.com/oniondev/v/9687574

+ Recent posts