All Posts

All Posts

    [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라는 패키지를 ..

    [데이터사이언스] 데이터 전처리 대전

    '데이터' 라는 말은 이제 뭐랄까 포켓몬스터 중 하나인 '메타몽' 같은 존재랄까? 어디에 가져다놔도 이상하지 않은 단어가 되었다. 정말 그야말로 데이터의 시대다. 내가 어떤 직무에 있던지간에 데이터를 다룰 수 있는 사람과 아닌 사람은 시작점 부터가 다르다고 생각한다. 단순히 그런 분야가 있지가 아니라 한국에서 '영어'가 갖는 위치처럼 반드시 알아야하는 분야라고 생각한다. 내가 이 책을 고른 가장 큰 이유는 같은 로직을 수행하는데 R, Python, SQL을 함께 다뤘다는 점이다. 사실 이 세 언어는 각자 할 수 있는 일이 다르다. 단순히 기호에 맞게 선택하는 것이 아니라 내가 하려고하는 일에 맞는것을 선택해야한다. 그런데 그러려면 세 언어를 기본적으로 다룰수 있어야하는데 각 언어별 시중의 서적을 보면 내..

    [리액트 서적] Learning React (러닝 리액트)

    "JavaScript로 개발할 수 있는 모든 것은 결국 JavaScript로 개발하게 될 것이다." 자바스크립트를 이제 단순한 웹 동작을 구현하는 언어라고 하기엔 너무 다양한 역할을 할 수 있는 녀석이 되었다. 그리고 점점 성장하는 JS 생태계에서 리액트에 처음 관심을 가지게 된 것은 2015년 리액트 네이티브가 나올때였는데 리액트로 개발을 하면 웹 뿐만 아니라 모바일까지 한 번에 해결할 수 있기 때문이었다. 특히 Anriod와 IOS를 동시에 커버하며 개발할 수 있다는것 자체만으로 엄청난 메리트가 있었다. 지금하고 있는 일은 리액트를 사용하지 않지만 이번에 시작하려는 프로젝트가 리액트를 사용할 예정이었기에 빠르게 훑어볼 책을 찾다가 개발자라한 한 번쯤은 접해봤을 시리즈인 한빛미디어의 일명 '동물책'을 ..