Technique 29

카카오톡 플러스친구를 이용한 email 간편 전송 서비스 만들기(feat, DJANGO, groomide) 1

학습을 하는데 있어 학습 이후 결과물을 확인하는 것은 매우 큰 동기가 됩니다. 기존에 제가 포스팅한 것들도 눈에 보이는 결과물을 제공하기는 하였으나, 그닥 흥미롭지 않은 원론적인 동작을 보여주는 페이지 정도에 그쳐 아쉬움이 항상 남았습니다. 이후 몇달간 완결시킨 결과물이 없어 포스팅을 못하다가 기존에 포스팅 했던 요소들(Google Cloud, Docker, Django)에 더하여 카카오플러스친구, gmail SMTP 서버 구성으로 어렵지 않으면서 흥미로운 결과물을 도출할 수 있는 간단한 익명 신고 체널을 만들게 되어 이를 공유 하고자 합니다. 본 포스팅에서는 Kakao 플러스 친구의 API 기능을 이용하여 Django로 구성된 서버와 통신하면서 Gmail SMTP 서버를 이용해 이메일을 전송하도록 하는..

Technique 2018.09.04

웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 5

5. celery 구동시키기 celery가 서버에서 동작하기 위해서는 celery의 task를 받아 처리하는 broker가 필요합니다. 이를 위해 우리는 앞에서 rabbitmq를 설치 하였습니다. celery의 기본 broker가 rabbitmq 이기 때문에 별도의 broker셋팅을 하지 않았습니다. ㅇ celery 구동 docker의 컨테이너에서 앞에서 django에 셋팅 해 놓은 celery를 동작시킵니다.# celery -A mywebapp worker -l info/usr/local/lib/python3.6/dist-packages/celery/platforms.py:795: RuntimeWarning: You're running the worker with superuser privileges:..

Technique 2018.04.08

웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 4

3. Celery 셋팅 이번 포스팅에서는 앞에서 작성해 놓은 django 앱에 비동기 프로세스를 위한 Celery를 적용해 보도록 하겠습니다. 이에 필요한 celery와 rabbitmq 패키지는 앞선 포스팅에서 이미 설치 하였습니다. ㅇ celery.py 생성 celery를 사용하기 위해서는 django프로젝트의 프로젝트 폴더에 celery.py를 추가해야 합니다.from __future__ import absolute_import, unicode_literals import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SET..

Technique 2018.04.05

웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 3

2. Django 어플리케이션 작성(계속) ㅇ url 연결하기 - 앞에서 작성한 view가 메인 페이지에서 수행됨으로 이를 정의합니다.from django.contrib import admin from django.urls import path from applycelery import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.app_core), ] ㅇ template 만들기 - 브라우져에서 보여지는 화면을 만들어 봅시다. html에 대하여는 여기서 설명하지는 않겠습니다. 화면 구성을 위해서 metarialize 프레임워크를 사용하였습니다. - 먼저 templates를 위치시킬 폴더를 만듭니다. django는 앱 내에 t..

Technique 2018.04.05

웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 2

이번 포스팅에서는 앞에서 준비한 환경을 이용하여 Django 에서 Celery를 적용해 비동기 동작을 수행하는 웹어플리케이션을 만들어 보도록 하겠습니다. 만들어볼 웹 어플리케이션을 통해 구현하고자 하는 기능은 아래와 같습니다. 4개의 버튼에 각각 동기 , 동기-지연, 비동기, 비동기-지연 프로세스를 할당하고, 각가의 버튼의 프로세스 수행 결과를 표시한다. 위에서 정의한 웹 어플리케이션을 아래와 같은 모습으로 구현해보고자 합니다. 1. 필요한 패키지 설치 지금 docker로 실행중인 컨테이너에는 django를 nginx 서버로 구동하기 위한 최소한의 패키지만 깔려 있습니다. Celery 동작을 위해 필요한 Celery 및 rabbitmq를 설치 합니다. ㅇ Celery 설치# pip3 install cel..

Technique 2018.04.01

웹서비스 비동기(백그라운드) 프로세스 만들기 (feat. Django, Celery) 1

상업용 웹서비스들은 오랜 시간(사용자가 인지할 만한 시간)이 필요한 프로세스의 경우 사용자의 명령을 받아 백그라운드로 처리하고 그 시간동안 사용자는 가만히 기다릴 필요 없이 다른 작업을 진행할 수 있도록 다른 서비스로 전환한다. 웹에 공개하기 위한 서비스에서 사용자 경험을 향상시키기 위해서는 이와 같은 백그라운드 처리는 필수적이다. 본 포스팅에서는 Django의 프로세스를 Celery를 이용해 비동기(백그라운드)화 하는 방법을 소개하고자 한다. 진행을 위한 셋팅은 본 블로그의 포스팅 Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 3 [2. 이제 dockerfile을 빌드 합니다.] 에서부터 시작합니다. * 비동기를 위해 사용하는 Celery 패키지는 윈도우를 ..

Technique 2018.03.27

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 5

이제 구글 클라우드의 Container Registry에 있는 우리 이미지를, Google Compute Engine으로 배포해 보겠습니다. 제가 Compute Engine을 선택한 이유는 최소 사양(f1-micro)으로 US region 으로 배포시 무료로 사용할 수 있는 장점 때문입니다. 1. Compute Engine 활성화 ㅇ Compute Engine을 최초 실행할때 이를 활성화 할 필요가 있습니다. 처음 서비스를 접속하면 약 1분간 자동으로 활성화 합니다. 2. Container Registry 에서 이미지 배포 ㅇ 앞에서 만들어둔 이미지를 배포 합니다. 구글은 콘솔에서 최대한 많은 일을 쉽게 연계 할 수 있도록 준비해 두었습니다. 올려둔 이미지를 선택하고 GCE 배포 버튼을 누릅니다. 3. ..

Technique 2018.01.20

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 4

앞에서 준비한 docker 이미지를 가지고 로컬환경을 넘어 웹으로 가보도록 합시다. 본 주제의 맨 처음에 언급 했던 것처럼, 웹 서비스로 Google Cloud Platform 을 사용하고자 합니다. 많은 서비스중 이번 주제에 사용할 서비스는 Compute Engine 과 Container Registry 입니다. 간략하게 전체를 보자면, 로컬에서 만든 docker 이미지 -> Container Registry -> Compute Engine 으로 이루어져 있습니다. 이번 포스팅에서는 Container Registry에 이미지를 push 하는것 까지 해보겠습니다. 1. Google Cloud Platform 사용하기 ㅇ 구글 클라우드 이용을 위해서는 기본적인 가입과 결재수단 및 API 사용설정, 그리고 ..

Technique 2018.01.19

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 3

앞에서 준비한 django 프로젝트 및 셋팅파일들을 포함하는 docker 이미지를 만들고자 합니다. 이를위해 dockerfile을 작성하고 이를 빌드하여 이미지를 만들고, 빌드한 이미지를 가지고 컨테이너를 생성하여 서버의 구동 및 django의 정상 동작을 확인해 보도록 하겠습니다. 1. dockerfile을 프로젝트 폴더에 작성 합니다.FROM ubuntu:18.04 MAINTAINER DEV-GO RUN apt-get update -y && \ apt-get install -y \ nginx \ python3-dev \ python3-pip RUN pip3 install django uwsgi RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN rm -rf /..

Technique 2018.01.18

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 2

(본 포스팅은 Docker를 이용한 Windows에서 Linux 개발환경 구축 (feat, Django) 을 참고하신 후 활용하시면 좋습니다.) 우리는 로컬에서 평소 사용하던 도구들을 활용해 개발하고, 이를 서버에 배포하고자 합니다. 이번 포스팅에서는 google cloud에 배포할 docker 이미지에 포함시킬 django 프로젝트, 그리고 각종 설정파일들을 준비해 보겠습니다. 1. django 프로젝트 생성 ㅇ 로컬에 django 프로젝트를 생성 합니다. 상세 방법은 django 공식 튜토리얼 참조하여 주세요 2. django - uwsgi - nginx 로 서버를 구성하기 위한 필수 파일 확보 ㅇ uwsgi_params 파일을 프로젝트 폴더에 포함 합니다. nginx와 uwsgi 간의 상호작용을 위..

Technique 2018.01.17
반응형