Develop

    [Slack Bot] Django에 슬렉봇 연결하기 (python slack bot)

    개발 중인 서비스에서 새로운 회원이 가입할 때마다 슬렉으로 알림을 받으면 좋겠다는 생각이 들었다. 이전까지는 DB에서 User를 조회하면서 얼마나 신규 유저가 있는지 체크를 했는데 단순 확인용도로 사용하기에 불편함이 있었다. 생각해보니 개발하는 멤버끼리 슬렉을 사용하고 있으므로 신규 유저가 가입할 때마다 슬렉 봇을 통해 자동으로 알림을 받도록 해보고자 한다. Slack API 사용 설정 Slack에 로그인 한 뒤 App을 생성한다. (https://api.slack.com/apps) 나는 처음부터 만들어 볼 것이므로 From Scratch를 선택했다. 간단히 App 이름을 입력하고 App을 사용할 Slack 워크스페이스를 선택한다. Bot을 선택하고 App 권한 설정을 위해 이동한다. 그 다음 아래에 있..

    [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..

    [Numpy] 파이썬 벡터 표현

    NUMPY Numpy는 선형대수 문제를 파이썬으로 다룰때 사용하는 패키지이다. Numpy를 이용한 벡터(Vector)표현 벡터를 포현할 때는 열 개수가 하나인 2차원 배열 객체로 표현한다. 하지만 Numpy는 편의를 위해 1차원 배열 객체로 만들어도 벡터로 인정한다. 행처럼 보이지만 실제로는 열벡터라는 점에 유의해야한다. # 아래 두개는 같은 벡터이다. vec01 = np.array( [[1.1],[2.2],[3.3],[4.4]] ) vec02 = np.array( [1.1],[2.2],[3.3],[4.4] ) 벡터는 열의 수가 1인 행렬이라고 볼 수 있으므로 벡터를 다른 말로 열벡터(Column Vector)라고도 한다. 하나의 데이터를 벡터로 나타낼 때에는 하나의 열(Column)으로 표기하지만 여러..