목록python (8)
Dharma
요즘 바빠서 글을 잘 못 남기지만 정말 추천할 만한 포스트가 있어서 추천합니다. 간단한 파이썬 코드만 알면 요즘 유행하는 블록체인의 기본 원리를 알고 응용이 가능합니다. 쭈욱 따라하시면 됩니다. http://ecomunsing.com/build-your-own-blockchain 끝으로 요즘 여러 이야기가 있지만, 저는 블록체인을 흠잡을 이유가 없습니다. 분산 저장은 시대에 맞는 트렌드라고 봅니다. 다만 거래소가 안전하냐는 이야기는 절대 반대입니다. 돈이 오고 가는 서비스를 그리 허술하게 만들면 안된다고 봅니다.
crontab 으로 스케쥴 잡 등록 시키기 python 과 crontab 을 잘 연결시키면 스케쥴 작업을 완벽하게 만들 수가 있습니다. 간단한 배치 작업들은 굳이 다른 시스템을 사용할 이유가 없습니다. 기본 editor 를 emacs 로 변경하기 $ export EDITOR=emacsclient 아무 설정을 하지 않으면 vi 로 설정되어 있습니다. 기본적인 기능 CRUD 에서 U 는 C 와 동일하니 기능을 살펴보기로 합니다. 입력 (Create) $ crontab -e 보기 (Read) $ crontab -l 지우기 (Delete) $ crontab -d 주기 결정 * * * * * 분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7) 실제 예 * * * * * ls -la 인코딩 관..
systemd 와 연동해서 서비스를 구현하는 버릇을 들이다 보니 없으면 피곤하게 됐습니다. 그래서 python 과 uwsgi 와 systemd 를 연결해보자고 해서 시작했습니다. 1 Anaconda 설치하기 이거저거 써봤지만 저는 이게 제일 편한 virtualenv 관리자더군요. $ wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh $ chmod +x Anaconda3-4.4.0-Linux-x86_64.sh $ Anaconda3-4.4.0-Linux-x86_64.sh 다 설치하고 난 뒤 env 를 만들어 줍니다. app 정도 이름으로 합니다. $ conda create -n app python=3.6 $ source activa..
프로그래밍 언어는 python을 이용하고 웹 프레임워크는 Django 를 사용하고, 데이타베이스로는 MySQL 을 사용중인데 admin 사이트 구현중에 date_hierarchy = 'created_at' 이 구문 때문에 Database returned an invalid value in QuerySet.dates(). Are time zone definitions and pytz installed? 이런 에러가 발생한다. 해결을 위해서는 일단 pytz 를 설치해줘야 한다. $ pip install pytz 그리고 우분투에 설치된 mysql 에 한하여 (docker 로 설치한 mysql 도 괜찮다, 테스트 해보니 osx 도 된다) $ mysql_tzinfo_to_sql /usr/share/zoneinfo..
클로져(Closure)에 대한 말들은 많다. 최근 핫하다고는 하지만 전산의 태동기부터 존재하던 문법이다. 1급 객체(First class Object)를 지원하는 언어는 자연스럽게 지원하지만 개념 자체를 이해 못하는 경우가 많다. 파이선과 연계해서 클로져(Closure)를 설명하는 좋은 설명이 있어서 소개하고자 한다. Objects are data with methods attached, closures are functions with data attached. 객체는 메서드가 달라붙어 있는 데이타라면, 클로져는 데이타가 달라붙은 함수이다. 예제는 def make_counter(): i = 0 def counter(): # counter() is a closure nonlocal i i += 1 ret..
flake8 [2.5.4] 를 OSX El Capitan (10.11.3) 에 pip 이용해서 설치시 flake8 실행파일이 설치 안되는 문제가 있다. https://pypi.python.org/pypi/flake8#downloads 에서 수동으로 다운로드 받고 압축 풀린 디렉토리로 이동후에 $ python setup.py install 해주면 pyenv 관련 실행 파일 디렉토리에 저장된다. $ ln -s /Users/crazia/.pyenv/versions/3.4.3/bin/flake8 /usr/local/bin/flake8 해주면 제대로 동작하기 시작한다.
SQLite 관련 라이브러리가 컴파일이 안된다. 찾아봐도 자료가 쉽게 안나오는 걸 보면 El Capitan 의 문제로 생각된다. 컴파일을 방해하는 가장 큰 요소는 루트리스(Rootless) 라고 생각이 된다. 일단 그 기능을 끈다. 솔직히 개발자에게는 필요 없는 옵션이라고 생각된다. 저번에도 언급했지만 끄는 방법은 재부팅시에 Command + R 을 눌러서 복구모드로 들어가서 , Terminal 을 실행해서 다음과 같이 입력한다. $ csrutil disable 그리고 다시 재 부팅 하고 나서 Terminal 을 실행하고 Xcode 가 설치되어 있다면 (안되어 있다면 설치하고) $ xcode-select --install 하면 설치하라고 팝업창이 뜨고 설치해준다 하면 완성입니다. 여기까지 하고 나면 Py..
1 플라스크 (Flask) 소개 파이썬 에서 쓰이는 웹 프레임워크라고 하면 장고 를 떠올리기 쉽습니다. 그런데 실은 장고는 이제 덩치가 많이 커져서 예전만 못하다는 이야기가 많습니다. 그래서 정말 간단한 웹이나 모바일 앱 서버를 만들기에 적합한 웹프레임워크를 찾게 됐는데 그게 바로 플라스크 입니다. 소개만 하고 직접 가셔서 보시는게 빠를 것 같습니다. 정말 단순하고 빠르게 웹을 만들 수가 있습니다. 제가 지금까지 접해온 웹 프레임워크중에 가장 가볍게 빠를꺼라고 자부합니다. (express 안녕~) http://flask-docs-kr.readthedocs.org/ko/latest/index.html 위에 가서 보시면 되고 한글화도 잘 되어 있습니다. 빠르게 시작하기(Quick Start) 와 튜토리얼(T..