분류 전체보기
Django Suit 설치 - 장고 어드민 인터페이스 모던 테마 적용하기
2015. 12. 9.밋밋한 장고 어드민 인터페이스를 모던한 느낌의 인터페이스로 바꿔보자.Django-suit (http://djangosuit.com) 설치하기 1. pip 또는 easy_install 을 이용하여 django_usit 설치123456789101112(envtread)root@localhost:~# pip install django-suit==0.2.15Collecting django-suit==0.2.15 Downloading django-suit-0.2.15.tar.gz (1.4MB) 100% |████████████████████████████████| 1.4MB 181kB/sBuilding wheels for collected packages: django-suit Running setup.py bd..
장고 마키나 설치하기 (4) - 에러 처리 DoesNotExist: Site matching query does not exist
2015. 12. 3.장고-마키나 설치 후 어드민 페이지 클릭시 아래와 같은 에러가 발생하는 경우가 있다. DoesNotExist: Site matching query does not exist.’ when visiting ‘/admin’ on a Django 1.8 DoesNotExist at /admin/login/ Site matching query does not exist. 'django.contrib.sites'를 사용중이라면, SITE_ID = 1 을 정의해줬는지 확인해봐야 한다. settings.py 파일 적당한 위치에 아래 코드 입력한다. 1SITE_ID = 1cs
장고 마키나 설치하기 (3) Django-machina Project configuration - Django-haystack settings/migration/URLs
2015. 12. 3.전편에 이어서 기본 설정을 계속해나갑니다. 1. Django-haystack 설정 장고-마키나는 포럼 검색 기능을 위해 django-haystack 을 사용한다. Django-haystack은 다수의 검색 백엔드 선택이 가능하므로 여러분의 기호에 따라 선택하면 된다. 아래는 기본 설정의 경우다. settings.py 파일에 아래 코드를 넣으면 된다. 12345HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.simple_backend.SimpleEngine', },}Colored by Color Scriptercs Solr나 Whoosh 같은 더욱 강력한 백엔드를 사용할 수도 있다. 123456HAYSTACK_CONNECTIONS = ..
핀터레스트 시각적으로 비슷한 결과 찾기 기능
2015. 12. 2.핀터레스트에 새로운 기능이 도입되었네요. 시각적으로 비슷한 결과 찾기 기능이 바로 그것입니다. 사진 우측 모서리의 돋보기 이미지를 클릭하여 범위를 설정하면 유사한 이미지를 찾아줍니다. 물론 아직 기능상으로 출발단계입니다. 성능이 그냥 그렇죠. 딥러닝의 적용이라는 점에서 반가운 기능이네요.
장고 마키나 설치하기 (2) Django-machina Project configuration - Django settings
2015. 12. 2.프로젝트 설정 중 장고 설정에 대해 살펴봅니다. 1. INSTALLED_APPS 업데이트 (setting.py 파일 수정) 1) 아래에서 보는 바와 같이 () → [] 리스트 형태로 고친 후(수정하지 않으면 TypeError: can only concatenate tuple (not "list") to tuple가 발생한다) 2) Django-machina related apps 을 추가한다. 1234567891011121314151617from machina import get_apps as get_machina_apps INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'djan..
파이썬 모듈 설치 여부 확인
2015. 12. 2.아래와 같이 설치된 파이썬 패키지 목록을 얻을 수 있다. 1234>>> import pip>>> installed_packages = pip.get_installed_distributions()>>> installed_packages_list = sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])>>> print(installed_packages_list)Colored by Color Scriptercs ['abstract-rendering==0.5.1', 'alabaster==0.7.3', 'argcomplete==0.8.9', 'astropy==1.0.3', 'babel==1.3', 'backports.s..
장고 마키나 설치하기 (1) Django-machina installation
2015. 12. 2.장고 포럼 프레임워크인 장고 마키나를 설치해보자. 1. Django-machina 설치에 필수 요소부터 챙겨보자아래가 사전 준비되어야 할 패키지 목록이다. Python 2.7, 3.3, 3.4 or 3.5 → 2.7Django 1.5.x, 1.6.x, 1.7.x or 1.8.x → 1.78.2Pillow 2.2. or higher → 2.8.2Django-model-utils 2.0. or higher XDjango-mptt 0.7. or higher XDjango-haystack 2.1. or higher → 2.3.2Django-markdown 0.7. or higher X Django-widget-tweaks 1.4. or higher XSouth 1.0.1 or higher if you are u..
장고 포럼 비교 Django Forum Comparison
2015. 12. 2.장고 프로젝트 위키에도 포럼 비교 게시물이 있으나 최신의 정보를 담고 있지는 못하다. 장고 패키지 사이트의 아래 게시물이 내용면에서 훨씬 충실하고 도움이 되는 것 같다. 장고/파이썬으로 포럼을 만들고자 하시는 분들은 참고하면 좋겠다. https://www.djangopackages.com/grids/g/forums/
아나콘다 다중 환경구성 _ 파이썬 3.5 환경 구성하기 Create a Python 3.5 environment
2015. 12. 1.아나콘다에서 다른 버전의 파이썬 환경을 구축하고자 하는 경우 conda create 명령어를 사용하면 된다. 그럼 현재 파이썬 2.7이 설치된 상황에서 파이썬 3.5 환경을 추가로 구성해보자. 먼저 현재 설정된 아나콘다 환경과 파이썬 버전을 확인해보자.(* 표시된 것이 현재 로딩된 환경이다) 12345root@localhost:~# conda info --envs# conda environments:#envtread /root/anaconda/envs/envtreadroot */root/anacondacs envtread 라는 이름의 가상환경을 활성화하고 파이썬 버전을 확인해보면 Python 2.7.10 이 설치되어 있음을 알 수 있다. 1234567891011root@localhost:~# source..
셀레늄(selenium)을 이용한 네이버 자동검색 및 결과 클릭
2015. 11. 28.셀레늄을 이용하여 네이버 검색창을 띄우고, 검색 결과 중 특정 문자열을 가지는 결과를 클릭하는 스크립트를 작성해봅니다. 주의! 기본중의 기본이지만 대소문자 구별은 철저하게 헤주세요. ImportError 발생할 수 있습니다. 123456789101112131415161718192021222324252627282930#-*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keys # Firefox 웹드라이버 생성driver = webdriver.Firefox() # 주어진 URL 웹페이지 로딩driver.get("http://www.naver.com") # 해당 사이트의 제목이 NAVER 인지..
셀레늄(Selenuim) 설치 및 테스팅 (윈도우/파이썬)
2015. 11. 28.1. 파이썬 2.x 또는 3.x 설치https://www.python.org/downloads/ 2. 셀레늄 설치파이썬을 실행한 후 아래와 같이 셀레늄 설치(설치버전 또는 설치경로에 따라 다를 수 있음) C:\Python34\Scripts\pip.exe install selenium 3. 테스팅 스크립트 작성 functional_test.py from selenium import webdriver browser = webdriver.Firefox() browser.get('http://localhost:8000') assert 'Django' in browser.title 아래와 같이 소문자로 입력시 TypeError 를 발생시키게 되므로 주의한다. browser = webdriver.firefox() ..
object has no attribute 'title' and getattr(object, name[, default])
2015. 11. 20.def getwordcounts(url): d=feedparser.parse(url) wc={} for e in d.entries: if 'summary' in e: summary=e.summary else: summary=e.description words=getwords(e.title+' '+summary) for word in words: wc.setdefault(word,0) wc[word]+=1 return d.feed.title, wc 파싱하고자 하는 URL이 유효한 피드가 아닌 경우, 예를 들어 URL 이 일반 웹페이지거나 피드가 없는 경우 아래와 같은 에러를 일으킨다. AttributeError at object has no attribute 'title' 이 경우 getattr 을 이용하..
feedparser 5.2.1 (universal feed parser)
2015. 11. 14.feedparser 설치 설치여부 확인 (envtread)root@localhost:~/antifragile# python Python 2.7.10 |Anaconda 2.3.0 (64-bit)| (default, Sep 15 2015, 14:50:01) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://anaconda.org >>> import feed..
"셈"을 하는 행위란 무엇인가, 그리고 무한집합의 핵심 속성
2015. 11. 10.아이템을 센다는 것은 각 아이템 하나에 오직 하나의 정수만을 연계시키며, 마지막 아이템이 하나의 정수와 대응할 때까지 수를 증가시킨다는 뜻이다. 마지막으로 할당된 수는 전체 아이템의 개수다. 우리는 어떤 집합의 아이템이든 (시간만 충분하다면) 다 셀 수 있다. 똑같은 셈원리가 무한집합의 경우에도 유한하다. 하나의 무한집합에 "얼마나 많은" 원소가 있는가를 알아내기 위해, 우리는 앞서와 마찬가지로 각 원소에 하나의 정수를 할당해서 얼마나 멀리 계속되는지 알아본다. 우리가 유한한 물건의 집합을 셀 때와 똑같이 정상적인 "셈" 절차를 통해 갈릴레오는 무한집합이 유한집합과는 판이하게 다르다는 것을 발견했다. 즉, 무한집합은 자신의 진부분집합proper subset와 "같은 수의 원소"를 갖는 경우가 있다. 갈..
내부표상 (Internal Representation)
2015. 11. 8.내부표상 (Internal Representation) 1. 우리는 외부 세계에 직접 반응하지 않는다. 각자는 우리가 사는 객관 세상에 대한 내부 표상을 창조한다. 세상에 대한 지도나 모델을 만들어 이에 따라 행동하고 반응하는 것이다. 세상에 대한 내부 표상이 세상에 대한 우리의 행동, 이해, 판단, 선택을 결정한다. 우리는 눈을 뜨고도 일종의 꿈을 꾼다. 오감으로 구성되는 이 내부의 꿈을 내부표상이라고 한다. 이 꿈을 통해 사물을 이해하고 판단하고 이에 따라 행동한다. 이 꿈의 내용을 사실이라고 믿고 경험한다. 우리는 결코 자신이 꾸는 꿈에 의문을 제기하지 않는다. 우리는 결코 우리가 꿈 속에 있는 것을 모른다. [해석] ↓ [내부표상의 변화] ↓ [주관적 경험의 변화] ↓ [신체 생리반응의 변화] 우..
render_to, render_to_response
2015. 10. 26.render_to, render_to_response 에서 변수 전달은 아래와 같이 할 수 있다 @render_to('template.html') def foo(request): bar = Bar.object.all() return {'bar': bar} # equals to def foo(request): bar = Bar.object.all() return render_to_response('template.html', {'bar': bar}, context_instance=RequestContext(request))
ImportError: No module named mechanize
2015. 10. 23.ImportError: No module named mechanizemechanize 설치 (envtread)root@localhost:~/antifragile# pip install mechanizeCollecting mechanize Downloading mechanize-0.2.5.tar.gz (383kB) 100% |████████████████████████████████| 385kB 441kB/sBuilding wheels for collected packages: mechanize Running setup.py bdist_wheel for mechanize Stored in directory: /root/.cache/pip/wheels/76/df/92/81fc6784ee60ceb2871e73..
윈도우에 easy_install, pip 설치하기
2015. 10. 17.윈도우에 easy_install, pip 설치하기 1. ez_setup.py 파일 다운로드 https://pypi.python.org/pypi/setuptools/1.0#windows 2. cmd 창 실행 후 아래 명령어 입력 C:\Users\py> python ez_setup.py build C:\Users\py> python ez_setup.py install 3. path 추가 고급시스템 설정 > 고급 > 환경변수 > 사용자변수 > path 편집 > C:\Python27\Scripts 추가 4. cmd 창 실행 후 아래 명령어 입력 C:\Users\py> easy_install pip
Anaconda Package List (Python version: 2.7)
2015. 10. 17.Anaconda Package List — Continuum documentation Python Visualization and Data Exploration - Continuum Analytics Anaconda Package List [출처] http://docs.continuum.io/anaconda/pkg-docs Python version: 2.7Number of supported packages: 340 Name Version Summary / License In Installer abstract-rendering Linux Mac 0.5.1 Rendering as a binning process / 3-clause BSD affine 1.1.0 Matrices describing affin..
앤서니라빈스 <무한능력> - 우리는 어떻게 내적 상태와 행동을 형성하는가
2015. 10. 14.내적표상 + 생리체계 → 내적 상태 → 행동 [내적표상]- 우리 마음속에서 무엇을 어떻게 보는가? - 우리 마음속에서 무엇을 어떻게 말하고 듣는가? [생리체계]- 자세- 생화학 작용- 신경 에너지- 호흡- 근육의 긴장/이완 [행동]- 입 : 말하기- 몸 : 행동하기- 표정의 변화- 호흡 알프레드 코르집스키는 그의 저서 에서 이렇게 언급했다. "지도의 중요한 특성을 알아야 한다. 지도는 그것이 표현하는 실제 땅이 아니다. 아무리 정확한 지도라고 해도, 그것은 그 지역을 비슷한 모습으로 보여주고 필요한 것을 표시해 줄 뿐이다." 이 말의 의미는 우리의 내적 표상이 어떤 사건에 대한 정확한 표현이 아니라는 뜻이다. 그것은 단지 개인의 특정한 신념, 태도, 가치 그리고 이른바 근본사고방식metaprogram에 ..
앤서니 라빈스, <무한능력> - 숯불 걷기, 우리 안의 힘을 경험한다
2015. 10. 14.숯불 걷기 - 우리 안의 힘을 경험한다 중요한 것은 숯불 걷기, 그 자체가 아니다. 숯불 걷기는 자신의 파워를 경험하는 것이다. 예전에는 불가능하다고 생각했던 것을 현실적인 결과로 만들어내는 기회이며, 그 가능성을 상징하는 비유이다. 숯불 걷기는 신념에 관한 체험이다. 자신이 변할 수 있다는 것, 성장할 수 있다는 것, 더 많은 능력을 펼칠 수 있다는 것을 깨다는 것이고, 두려움과 자신이 옭아맨 한계때문에 할 수 없다고 생각한 것을 할 수 있다고 깨다는 것이다. 숯불 위를 걷을 수 있는지 없는지를 가르는 유일한 차이는 숯불 위를 걸으면 화상을 입을 것이라고 뇌에 입력된 공포에서 벗어나 숯불 위를 걷겠다고 자신과 내적 커뮤니케이션을 하는 능력에 있다. 거인의 힘 무한능력국내도서저자 : 앤서니 라빈스(Ant..
MySQL 한글이 ???와 같이 깨져나올 때
2015. 10. 5.MySQL 에 입력된 한글이 ???와 같이 깨져나올 때 아래와 같이 해당 테이블, 해당 컬럼의 속성을 변경하여 준다. ALTER TABLE `book` CHANGE `bookname` `bookname` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
MySQL Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
2015. 10. 3.UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root' Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.031 sec 안전모드 해제를 위해서는 Edit > Preferences > SQL Editor> Other 항목에서 "Safe Mode" 부분을 체크 해제한다.
해커와 화가 (1) - 프로그래밍이란 아직 존재하지 않는 프로그램을 생각해 내기 위한 도구
2015. 10. 2.해커가 계산이론에 대해서 알아야하는 것은 화가가 물감과 관련된 화학을 이해하는 정도면 충분하다. 예컨대 여러분이 파서를 작성한다면 시간과 공간의 복잡성을 계산하는 방법과 상태 기계의 개념에 대해서 알 필요가 있을 것이다. 그렇지만 사실 화가는 물감의 화학적 특징에 대해서 그보다 더많이 기억해야할 필요가 있다. 나는 스스로에게 다가오는 영감의 원천이 "컴퓨터"라는 말이 포함된 학과에 존재하는 것이 아니라 창조자들이 모여드는 영역에 존재함을 알게 되었다. 다시 말하자면 그림은 내게 그 어떤 계산 이론보다 풍부한 영감의 원천이 되었다. 내가 배운바로는 디버깅이란 틀린 철자나 부주의한 실수를 잡아내는 최후의 과정에 속했다. 그러나 내가 일한 방식대로라면 프로그래밍 자체가 완벽한 디버깅으로 이루어져 있다. 내가 ..
장고 삭제하기 (How to remove django from Ubuntu?)
2015. 9. 27.1.Install python-pip sudo apt-get install python-pip 2.Remove django using pip sudo pip uninstall Django 3.Uninstall python-pip sudo apt-get remove python-pip
Error 1130 Host 'xxx' is not allowed to connect to this MySQL Server
2015. 9. 27.MySQL Workbench 등을 통해 원격에서 MySQL DB 접속시 상기와 같은 에러가 뜨는 경우에는 다음과 같이 처리한다. 먼저 root 계정으로 접속이 허용된 ip 를 살펴보자. root@localhost:~# mysql -p Enter password: mysql> select host from mysql.user where user='root'; +-----------+------+-------------------------------------------++-----------+------+-------------------------------------------+ 그리고 아래와 같이 테이블에 전체 ip에서 허용이 가능하도록 행을 하나 삽입해주는 것이다. 만약 해당 정책이 필요없다면 해..
Ubuntu에 MySQL 설치, 서버실행확인, 설정변경, root 패스워드 변경
2015. 9. 27.1. Ubuntu에 MySQL 서버 설치 MySQL을 설치하기 위하여, 터미널 프롬프트에서 다음 명령을 실행 합니다: sudo apt-get install mysql-server 위의 설치 과정에서 root 사용자 패스워드를 설정할 수 있다. 2. 서버 실행 확인 MySQL 서버가 실행중인지 여부는 아래와 같이 확인할 수 있다. sudo netstat -tap | grep mysql 아래와 같이 실행중임을 확인할 수 있다. tcp 0 0 localhost:mysql *:* LISTEN 1407/mysqld 서버가 실행중이 아니라면 아래와 같이 실행시킬 수 있다. sudo service mysql restart 3. 설정 변경 기본적인 설정은 /etc/mysql/my.cnf 파일을 통해 할 수 있다. 설정..
우분투(Ubuntu) 아나콘다(Anaconda) 설치
2015. 9. 27.아나콘다는 파이썬(3.4.3, 3.3.5, 2.7.10, and/or 2.6.9)을 포함하여 150여개의 과학 및 분석에 사용되는 파이썬 패키지를 손쉽게 설치해주는프로그램이다. 아나콘다 설치 방법에 대해서는 아래 링크를 참조한다. http://docs.continuum.io/anaconda/install 우분투 등 리눅스 운영체제의 경우 아나콘다를 다운로드한 후 아래 명령을 실행한 후 터미널을 종료하고 다시 실행하면 된다. bash ~/Downloads/Anaconda-2.3.0-Linux-x86_64.sh 위의 사이트에서 다운로드받지 않고 아래와 같이 wget을 이용해서 직접 다운로드할 수도 있다. wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b0..
장고 소스 파일 위치 찾기 (Where are the Django source files?)
2015. 9. 24.장고 소스 파일의 위치는 다음과 같이 찾을 수 있다. C:\Users\fukaeri>python Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on wi n32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path = sys.path[1:] >>> import django >>> print(django.__path__) ['C:\\Python27\\lib\\site-packages\\django-1.9-py2.7.egg\\django'] >>>
Django에서 ForeignKey 사용시 NameError 가 뜨는 경우
2015. 9. 12.Django에서 ForeignKey 사용시 NameError 가 뜨는 경우 아래 예제에서와 같이 Chpater 클래스에서 UserInfor 클래스의 sn 을 Foreign Key 관계를 맺을려고 하는 경우 아래와 같이 NameError가 뜨는 경우이다. NameError : .... is undefined. class Chapter(models.Model): sn = models.ForeignKey(UserInfo) .......... class UserInfo(models.Model): sn= models.CharField(max_length=20, primary_key=True) nm = models.CharField(max_length=50, blank=True, null=True) userid =..