D3vlog

Jihwan Kim
Written by@Jihwan Kim
Warming up

GitHubMedium

pythonic한 코드 짜기 - 2. list comprehension, for

개요 내가 Python으로 코드를 작성하면서 사용했던 구문이나 keyword들을 python의 주요 내장 기능으로 대체해보려 한다. 만약 성능의 차이가 있을 것으로 생각되는 코드는 여기를 참고하여 작성한 timer decorator로 함수가 얼마나 걸리는지 확인하며 성능을 비교해볼 것이다. list comprehension 실행 결과 for, sum 실행…

python으로 분산 비동기 처리 하기

Celery python의 celery 라이브러리를 사용하면 메시지 큐를 통한 비동기적 분산 처리를 할 수 있다. Celery는 동기적 작업을 비동기적 코드로 바꿔줄 수 있으며 Django와 연동하기 쉬운 장점이 있다. 또한 구현에 있어 굉장히 간단하다. 동작 메커니즘 Celery는 작업을 라는 단위로 다룬다. 이 들을 여러 스레드 또는 여러 머신에 분…

데이터베이스 개요

데이터베이스란 무엇인가? 사전적 의미 Database란 통합되어 관리할 수 있는 데이터들의 집합이다. 이 데이터 집합들을 여러 목적으로 여러 사용자가 사용할 수 있다. 현대적 의미 논리적으로 관련이 있는 자료의 모음으로, 이 모음을 체계적으로 구성함으로서 검색과 갱신 등의 조작 효율을 목표하는 자료의 집합체 왜 사용하는가? 데이터베이스 존재 이전에는 파일…

디스코드 봇 만들기 - 5. 비트코인 시세 가져오기 기능

비트코인 시세 가져오는 방법 비트코인 시세를 알아보기 가장 쉬운 방법은 bithumb api를 사용하는 것이다. 매우 간단한 요청으로 비트코인 시세를 가져올 수 있다. Ticker 라는 api를 이용하면 되는데, 빗썸 거래소의 가상화폐 현재가를 제공하는 api이다. 구현 위처럼 간단하게 API를 call한 뒤에 응답을 JSON으로 parse하여 채널에 다…

Pythonic한 코드 짜기 - 1. 개요

Pythonic한 코드란 무엇일까? 말 그대로 파이썬다운 코드라는 의미이다. python에 내장된 고유 기능들을 최대한 응용하여 간결하고 효율적인 코드를 작성하는 것을 말한다. 어떤 언어로 작성된 코드이건 항상 올바른 결과를 내고, 읽기 편하고 수정하기 쉽다면 좋은 코드라고 생각한다. pythonic하게 코드를 작성하는 것은 python을 사용하면서 좋은…

디스코드 봇 만들기 - 4. heroku에 봇 deploy 하기

heroku란? heroku는 대표적인 무료 호스팅 서비스로, project의 환경을 자동으로 감지하여 이에 맞는 환경을 자동으로 생성해주고 지정된 command를 통해 프로그램을 실행할 수 있는 서버를 호스팅해준다. aws에 비해 비용도 많이 절감되고 간편하다고 할 수 있지만 호스팅되어있는 서비스에 일정 시간동안 요청이 없을 경우에는 휴면 상태에 들어가…

Graph 겉핥기

Graph 는 무엇인가? Graph는 현상이나 사물을 정점(Vertex)와 간선(Edge, 연결된 정점 정보)로 표현한 것이다. Graph의 정보를 표현할 떄는 로 V에 정점 집합을, E에 간선집합을 표현한다. 두 정점이 간선으로 연결되어 있으면 인접(adjacent)하다고 표현한다. Graph의 종류 참고 - 한빛아카데미 강의노트 그래프 가중치 그래프…

이분 탐색 겉핥기

이분 탐색 이분 탐색은 정렬 되어 있는 배열에서 특정 데이터를 찾는 기법 중 하나이다. 순차 탐색이 처음부터 끝까지 모든 데이터를 체크하는 것과 다르게 탐색 범위를 반씩 줄여나가면서 데이터를 찾는 탐색 방법이다. 한 예로 이라는 정렬된 데이터 셋에서 x를 찾는 과정을 순차 탐색과 이분 탐색의 비교를 보자 수행 시간 순차 탐색의 경우, 모든 element…

DFS/BFS 겉핥기

개요 BFS와 DFS는 트리나 그래프를 탐색하는 방법이다. 기본적인 작동과 차이점은 위 그림을 참고하면 된다. 구현에서 주의할 점은 어떤 노드를 방문했는지를 검사해야한다는 것. 인접 행렬, 인접 리스트 노드들이 연결된 정보를 담고 있는 자료 구조이다. 인접 행렬 그래프의 연결 관계를 이차원 배열로 나타내는 방식. ex) 0번과 1번이 연결되어있다면 a…

디스코드 봇 만들기 - 3. Youtube Data API 연동

Youtube API 사용 시작하기 Youtube API를 사용하면 채널 정보, 영상 조회 등의 작업을 간편하게 진행할 수 있다. 물론 api를 무제한으로 사용할 수 있는 것은 아니고, 하루에 지정된 할당량만큼만 사용할 수 있다. 사용량 계산은 여기서 확인할 수 있다. Youtube API를 사용하려면 API Key를 생성해야 한다. 우선 구글 API…