반응형

tutorial 54

효과적인 코드 시각화, highlight.js

웹에서 코드를 예쁘게 보여주는 javascript 라이브러리 highlight.js를 소개한다. 사용법은 어렵지 않아 짧은 글이 될 것이다.티스토리 블로그를 쓰면서 조금 불편했던 부분이 WYSIWYG (What You See Is What You Get) 에디터였다. 특히 코드를 입력하고자 할 때가 문제이다. 티스토리에서 제공하는 에디터는 정석적인 코드 포맷팅을 제공하지 않아서 그동안 나는 글상자를 만들고 거기에 Courier New 글씨체를 일일이 적용해서 썼었다.# 그동안 써왔던 코드 박스$ source .venv/bin/activate (.venv) $ pip install ipython# IPYTHON > print('GOOD NIGHT') 코더들은 항상 정석적인 것을 좋아하지 않는가? 위의 코드..

Python Postgresql adapter, psycopg2 설치 (Linux/Windows)

오픈소스 관계형 데이터베이스로 널리 쓰이고 있는 Postgresql을 python에서 작동할 수 있도록 도와주는 psycopg2의 설치법을 linux와 windows 환경에 따라 정리한다. 본래 Postgresql이 linux 환경에 잘 맞는 데이터베이스이기 때문에 linux에서의 설치는 크게 어렵지 않다. windows에서는 특히 가상 환경을 이용할 때에 설치하는 방법을 기록하기 위해 이 글을 쓴다.Linux(Ubuntu 16.04 LTS) 환경pypi (python package installer)를 이용해서 간편히 설치할 수 있다. # 기본 python 환경에서 설치 $ pip install psycopg2 # 가상 환경 virtualenv에서 설치 $ source venv/bin/activate ..

Programming/Python 2016.11.02

Python virtualenv 정리 (Linux/Windows)

python의 가상환경 virtualenv 모듈의 사용법을 간단하게 정리한다. python의 가상환경이란, 작은 python을 새로 설치해서 내가 원하는 모듈만 운용하는 바구니라고 생각하면 된다. 운영체제 안에서 새로 운영체제를 만들어내는 가상 머신(virtual machine)과 같은 맥락이라고 볼 수 있다. 같은 모듈이라도 이 버젼 저 버젼 다른 버젼이 필요할 때나, python 프로그램을 실행하기 위한 최소한의 환경을 마련하고자 할 때, 그리고 github 등의 저장소와 연계하고자 할 때 등 가상환경은 매우 다양하게 사용될 수 있다. 이젠 필수적인 요소가 된 python 가상 환경의 리눅스/윈도우에서의 사용법을 정리한다. (본인이 윈도우에서 쓰려고 할 때마다 까먹어서....) 리눅스(ubuntu) ..

Programming/Python 2016.11.01

AWS EC2 리눅스 인스턴스에서의 django와 postgresql 설치와 연동

아마존 웹서비스 EC2 리눅스 서버에 django와 postgresql을 설치하고 연동하는 과정을 정리한다. 이미 아마존 리눅스를 운영체제로 하는 EC2 인스턴스를 할당 받았고, ssh를 통해 접속할 수 있다는 가정 하에 시작한다. python 3.5버젼, postgresql 9.5 버젼을 사용할 것이다. django에 대한 내용이 주가 아니기 때문에, EC2 인스턴스에 올리기 위한 django 프로젝트는 이미 다 준비가 되어있으며, 그 소스코드를 github 저장소를 이용해 간단히 clone한다고 가정하겠다. EC2 인스턴스에 이것 저것 설치하기 아마존 리눅스는 yum이라는 패키지 매니저를 제공하므로 이를 통해 python와 postgresql을 설치한다. # EC2 기본 계정 $ sudo yum in..

etc 2016.10.16

django management 시스템 안에서 내 명령어 만들고 사용하기

django 프로젝트를 만들다보면, 테스트를 위해 필요할 때마다 django shell을 통해서 일시적인 코딩이 필요할 때가 많다. 게다가 그 코딩을 반복적으로 사용해야 할 경우가 많은데, 그 때마다 django shell에서 같은 코드를 실행시키는 것이 꽤나 불편하고 비효율적일 수 있다. 이 글에서는 django management 시스템에 내가 필요한 명령어를 만들고 사용하는 법을 정리한다.사용할 코드DB에서 뭔가를 빼와서 그 내용을 출력하는 작업을 예제로 삼겠다. DB에 아이템을 하나씩 추가할 때마다 그 아이템을 확인하고자 하는 상황이다. django shell을 통해서 다음과 같은 코드를 통해 테스트를 할 수 있을 것이다. $ python manage.py shell >>> from myapp.m..

Programming/Python 2016.10.09

redis 설치 (리눅스, 윈도 환경에서)

redis는 데이터베이스, 캐시, 메시지 브로커 등의 용도로 사용되는 오픈소스 데이터 저장 매체라고 하는데, 나는 python celery의 메시지 브로커로써 사용해 본 경험만 있기 때문에, 자세한 스토리를 설명할 수는 없다. 따라서 여기서는 묻지도 따지지도 않고 redis를 설치하는 것만 정리하겠다. (메시지 브로커에 대한 이야기는 celery를 정리하면서 설명할 것이다) 리눅스 환경일 때와 윈도 환경일 때의 설치 방법을 따로 설명한다. 1. linux 환경에서 설치공식 가이드를 보며 설치하면 된다. 최신 버젼을 받아서 아래 명령어를 통해 설치하자. ### wget 대신 다운로드 페이지에서 최신 버젼을 직접 받아도 된다 $ wget http://download.redis.io/redis-stable.t..

etc 2016.09.25

구시대 명령어, shell script 기본 사용법

GUI vs. CLI윈도 운영체제가 있기 전 DOS 환경에서 컴퓨터를 이용해본 사람들은 cd나 dir과 같은 명령어를 기억할 것이다. 조선컴처럼 오로지 명령어를 통해 작업을 할 수 있는 환경을 CLI (command line interfaces)라고 한다. 시간이 지나 윈도와 같은 GUI (graphical user interfaces)가 등장한 이후, 리눅스 환경에서도 ubuntu desktop이나 mint 등 멋진 GUI를 통해 편하게 리눅스를 사용할 수 있다. 폴더를 더블 클릭해서 열고, ctrl+c ctrl+v로 파일을 복사할 수 있다. 마우스를 통해 모든 것을 할 수 있지만, 그렇다고 해서 CLI를 잊어선 안된다. 명령어에 익숙해지게 된다면 같은 일을 GUI보다 훨씬 빠르고 효율적으로 처리할 수..

GNU-Linux 2016.09.12

Windows에서 Apache2.4 + mod_wsgi 설치

윈도 운영체제 하에서 Apache 웹서버와 그 플러그인인 mod_wsgi를 설치하는 과정을 정리한다. mod_wsgi는 Python 기반의 웹 어플리케이션를 Apache 웹서버 위에서 가동할 수 있도록 연결해주는 역할을 하는 Apache 모듈이다. 자세한 안내는 mod_wsgi 개발자의 github 둥지를 방문해보자. 기본적으로 Apache는 리눅스 환경에서 쓰기 좋은 웹 서버 프로그램이기 때문에 이 것을 초보자가 윈도 환경에서 설치하려면 어느 정도의 시행착오와 스트레스를 받을 수 있다. 이 글에서는 내가 확인한 확실한 윈도에서의 Apache 웹 서버와 mod_wsgi 설치법을 정리하고자 한다.. 개발자의 글에 따르면, 이 플러그인은 윈도우 32비트 버젼만을 지원한다. 따라서 윈도우에서 Apache와 P..

etc 2016.08.28

Python requests 모듈 간단 정리

Python에서 HTTP 요청을 보내는 모듈인 requests를 간단하게 정리하고자 한다. 0. 기본적인 사용 방법 import requests URL = 'http://www.tistory.com' response = requests.get(URL) response.status_code response.text 웹브라우져에서 티스토리를 접속한 것과 똑같은 이야기이다. www.tistory.com 이라는 주소로 GET 요청(request)를 보냈고 서버에서는 그 요청을 받아 뭔가를 처리한 후 요청자인 나에게 응답(response)를 줬다. 우선 그 응답은 200 상태코드와 함께 왔다. 이는 티스토리 서버에서 잘 처리되어서 정상적인 응답을 보내줬다는 OK 싸인을 의미한다. 그리고 응답의 내용은? 보시다시피..

Programming/Python 2016.08.10

HP L2 네트워크 스위치 설정

0. 나처럼 네트워크 스위치가 뭔지 전혀 모르는 사람들을 위해영화 비긴어게인에서 중요한 역할을 했던 Y잭을 생각해보자.한 갈래에는 아이팟(음악을 보내주는 소스 source-in)을 꼽고, 갈라지는 두 갈래에서는 소스에서 받은 음악을 각각 들을 수 있다(source-out). 하나의 소스를 여럿이 같이 이용할 수 있지.이제 네트워크 스위치의 사진을 보겠다.24개의 구멍이 뚫린 이 기계를 덩그러니 보고 있으면 '그래서 뭐 어쩌라고//' 라고 생각할 수 있다. 간단히 정리하자면 네트워크 스위치는 Y잭이다. 랜선을 꼽을 수 있는 포트가 12개 + 12개 총 24개가 보인다. 아직 우리에게는 아이팟과 같은 소스가 없을 뿐, 소스가 오면 이를 24갈래로 나눠줄 수 있는 스위치만이 있을 뿐이다. 그럼 소스는 어떻게...

etc 2016.07.30