Develop/Web & Server

    [Django Channels] 실시간 채팅 구현하기 -2

    Message Model 작성하기 이제 메시지를 저장해야 하므로 Model을 작성했다. 원래는 Single App으로 가고 싶었으나, Chat 정도는 분리하는 것이 좋다고 판단해서 앱을 분리했다. from django.db import models from django.utils.formats import localize from rest_api.models import User, Study class Message(models.Model): user = models.ForeignKey(to=User, on_delete=models.PROTECT) study = models.ForeignKey(to=Study, on_delete=models.PROTECT) content = models.TextField..

    [Django Channels] 실시간 채팅 구현하기 -1

    들어가며 이 글은 내가 현재 만들고 있는 서비스에서 필요한 기능을 구현하며 적은 일지 같은 형태다. 고로... 깔끔하게 개발 흐름이 정리되지 않았으며 튜토리얼의 형태를 띠고 있지 않다. 열심히 한 방향으로 가다가 중간에 멈추고 다른 방법을 적용하기도 한다. 만약 당장 급하게 이 글과 같은 기능을 구현해야 한다면 전체 시리즈를 읽고 감을 잡은 후 부디 한 번이라도 삽질을 덜하면서 적용하길 바란다. Django Channels 살펴보기 개발 중인 서비스에서 실시간 채팅을 구현해야 할 타이밍이 되었다. 그동안 나중에 하자 나중에 하자 미뤄두었었는데, 이제는 미룰 수 없게 된 거지. 당연히 Web Socket과 비동기 방식을 이용해야 하니 기존 Django만 가지고는 힘들어 보였고 Channels라는 패키지를 ..

    [Babel] 초간단 바벨(Babel) 사용법

    :: 바벨 (Babel) 이란? 바벨(Babel)은 자바스크립트를 위한 다목적 컴파일러로 자바스크립트 코딩을 할때 마술같은 여러가지 기능을 제공한다. 특히 바벨(Babel)은 여러 자바스크립트 표준에 맞추어 코드를 자동으로 변환해주는 트랜스파일러로 코드를 직접 바꾸지 않더라도 최신 표준에 맞추어 개발 할 수 있도록 도와준다. ( 엄청난 기능을 하는 Babel 플러그인이 많다 ) :: 바벨 (Babel) 사용법 Node.js가 이미 설치되어 있다고 가정한다. 1. 예제를 진행할 디렉토리를 하나 만들고 이동 mkdir babelTest cd babelTest 2. 프로젝트 초기화 및 Babel 설치 npm init -y npm install --save-dev babel-cli npm install --sa..

    [Django] 빨리 배워 빨리 써먹는 Django :: 설치부터 실행까지

    프롤로그 언제부턴가 모든 프로젝트의 첫 접근을 파이썬으로 하는것 같다. 알고리즘을 풀어도 파이썬으로 먼저 메인이 되는 알고리즘을 구현해두고 그 다음에 문제에서 요구하고 있는 조건을 토대로 다른 언어로 변환하는게 더 빨랐다. 프로젝트를 새로 시작한다고 해도 파이썬을 사용할 수 있는지를 먼저 생각하게 되는걸 보면 사용하기 쉽고 풍부한 라이브러리가 있는 언어가 얼마나 강력한지 새삼 느끼는 요즘이다. 평소에 웹 개발을 할때 서버단 언어로 Node.js를 많이 사용 했었는데 최근 진행하는 여러 프로젝트에서 Python Code를 서버쪽에서 돌려야할 경우가 종종 생기다보니 자연스럽게 Django가 눈에 들어왔다. 빨리 배워서 빨리 써먹는 것을 목표로 Django를 건들여 보자. Dajngo 설치하기 Python은 ..