일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 문자열
- virtualenvwrapper
- 프로젝트 오일러
- Anaconda
- project euler
- jupyter
- 다이나믹 프로그래밍
- ubuntu
- 백준 알고리즘
- 주피터
- 우분투
- KTNF
- 파이썬3
- Ipython
- 파이썬
- Euler
- data structure
- Hash function
- Hash Table
- Python3
- 아나콘다
- linked list
- FNCP
- Django
- 피보나치 수
- django framework
- virtualenv
- IO Visor
- Python
- 국산 네트워크
- Today
- Total
목록Python3 (9)
태코놀로지
3.1 Exploring a dataset in the Notebook실습을 위해서 사용할 데이터는 약 18GB에 달하는 데이터의 일부를 추출해서 작게 만든 약 200MB의 csv 타입의 파일이다. 해당 파일을 마이크로소프트 엑셀을 이용해서 확인해보면 아래와 같이 뉴욕시 택시 운영에 대한 다양한 정보를 확인할 수 있다. nyc_data와 nyc_fare 두 가지 파일이 있으며, 그 중 nyc_data는 약 150MB의 크기로 850,000의 행을 지닌 데이터로 아래의 그림과 같이 데이터 집합이 구성되어 있다. 이 정도 양의 데이터를 사용하면 연산 결과를 가시적으로 확인하기에 충분하다. 이 밖에도 국내 정부에서 제공하는 공공데이터도 다양하다. 공공데이터 포탈에서 확인해보면, 약 20,000개의 공공 데이터..
2.1 Numbers and Strings파이썬에서 자주 사용되는 자료형에 대해서 알아보면, 대표적으로 int, float, str, list, tuple, dict, set 등이 있겠다. 그중에 list, tuple, dict, set의 경우 리스트, 튜플, 사전, 집합 자료형과 대응되는 형태로 이들에 대해서는 다음 강의에서 좀 더 세밀하게 다룬다. 이번 강의에서는 앞에서 언급했던 자료형중 숫자를 표현하기 위해서 사용하는 int와 float, 그리고 문자열을 나타내는 str 타입에 대해서 알아본다. 각 타입에 따라서 사용할 수 있는 함수 및 기능에서 차이점이 있다. 이 차이점에 주목하여 타입별로 가진 특징을 확인해보자. 일단 기본적으로 파이썬에서 제공하는 타입에 대해서 확인해보자. 'type' 함수를 ..
1.5 Ten Jupyter/IPython essentials이번 강의에서는 Jupyter(이하 주피터)/IPython에서 자주 사용하는 명령어에 대해서 알아본다. 리눅스 터미널에 익숙하다면 해당 과정은 매우 쉽게 느껴질 것이다. 먼저 파이썬 노트북에서 북마크 기능을 수행해보자. 북마크 기능은 웹 브라우저에서의 북마크 기능과 동일하다. 자주가는 곳을 미리 지정해놓고, 북마크를 통해서 정해놓은 곳으로 이동할 수 있다. 북마크는 '%bookmark bookmark_name' 으로 생성가능하다. 그 이후에는 'cd bookmark_name' 명령어를 통해서 북마크로 이동이 가능하다. 이처럼 주피터에서 제공하는 기능중에는 리눅스에서 동작하는 명령어 일부를 사용할 수 있다. 이 기능은 Pycharm IDE에서도 ..
1.4 A crash course on Python 개발 환경 구성 및 기능 확인을 마쳤으니, 이제부터 본격적으로 파이썬 코드를 작성해보고 실행시켜보자. 코드 작성에 앞서, 주피터에서 새로운 파이썬 노트북을 생성하고, 파일의 제목을 'A crash course on Python'으로 변경한 뒤 이번 장에서 작성할 코드를 입력해보자. 가장 먼저 이전 강의에서 해봤던 'Hello World' 출력을 해보자. 표준 출력에 대한 가장 기본적인 함수 print를 사용하면 손쉽게 진행할 수 있다. 이어서 간단한 사칙연산과 함께, 변수에 값을 할당해서 계산해보자. 파이썬에서는 한 라인에서 한 개 이상의 변수를 선언 및 값을 할당할 수 있다. 1장에서 언급했던 것 처럼 변수 선언 시 타입에 대한 입력을 강제하지 않기 ..
1.3 Introducing the Notebook지난 게시글에서 파이썬 코드 작성을 위한 개발환경을 구축해보고, 정상적으로 동작하는지 확인했다. 하지만 아직은 익숙치 않은 Jupyter(이하 주피터)에 대해서 알아보고, 자주 사용하는 기능에 대해서 익혀보자. 가장 먼저 주피터의 화면 구성들이 어떤 기능을 갖고, 무엇을 의미하는지 확인하기 위해서 UI(User Interface)부터 확인해보자. Notebook name은 이전 강의자료에서 'Hello world'로 변경해본 적이 있다. 이는 파이썬 노트북 파일의 이름을 나타내며, ipynb 확장자를 갖는다.Menu bar에서 저장/불러오기 등 파이썬 노트북이나 커널에 대한 다양한 기능을 수행할 수 있다.Menu bar 우측에 Kernel 이름을 확인할 ..
virtualenvwrapper이전 포스팅을 통해서 virtualenv를 다룬 적이 있다. 당시에 pip를 통해 virtualenv를 설치하면서 virtualenvwrapper까지 함께 설치할 것을 권장했다. virtualenv를 사용하는데 있어서 편리함을 더해줄 수 있다고 언급했었는데, 가장 간단하면서도 자주 사용되는 예시를 적는다. 기존에 virtualenv만 사용할 당시에는 아래와 같은 명령어로 독립된 가상 개발환경을 활성화해야했다.# source myvenv/bin/activate 충분히 간단하다고 생각할 수 있지만, virtualenvwrapper를 활용하면 더 간단하게 가상 개발환경을 활성화할 수 있다.# workon myvenv 이 밖에도 virtualenv 활용에 원조할만한 기능이 있을 것..
while, for loop에서의 else 구문 Python3 반복문에서 특이한 점은 while 문과 for 문에 else 사용이 가능하다는 것이다. 기존까지 다뤘던 언어에서 else란 if 구문과 짝이 맞는 것이었는데, 반복문과 같이 쓰려니 어색한 부분이 있다. Python3에서는 while이나 for 반복문에 포함될 수 있는 break와 짝을 이뤄서 사용되는 것이 else라고 볼 수 있다. break에 의해서 반복문이 종료되었다면 else 이하를 생략하고, 반복문이 종료될 때까지 break가 발생하지 않았다면 else 이하가 실행되는 구조다. 또 반복문의 조건이 False인 경우, else 이하 코드가 실행된다. 반복문의 else 사용에 대해서는 비관적인 얘기가 있다. 반복문과 else를 함께 사용하..
'WSGIRequest' object ahs no attribute 'user' Django adminDjango Web Framework 어드민페이지 에러 해결법 Django(장고) 프로젝트를 재시작하면서 발생한 에러인데, 이전과 동일한 방법으로 진행했음에도 이런 에러가 발생하면 난감하다. 아마도 장고 버전에 따른 문제라고 생각하는데, 의외로 해결방법은 코드상에서 전혀 건드리지 않았던 settings.py 파일의 미들웨어(MIDDLEWARE) 부분에서 찾았다. 에러 화면은 장고 프로젝트와 슈퍼유저를 생성한 다음, APP을 제작하고 settings.py 파일에 등록한 다음 runserver 명령어를 통해 어드민 페이지에 접속할 때 다음과 같은 메시지를 던지며 발생한다. 처음 에러를 발견했을 때에는 슈퍼유..
virtualenv를 활용한 독립 개발 환경 구축 virtualenv는 외부라이브러리들이 서로의 버전이 맞지 않아 발생하는 문제점을 방지하기 위해, 혹은 불필요한 라이브러리를 프로젝트에 포함하지 않도록 독립된 파이썬 가상 환경을 만들어주는 툴이다. Django 기반의 웹 프로젝트를 진행할 때에도 사용되는 다양한 라이브러리가 존재하기 때문에 이들 사이의 충돌 및 버전에 따르는 의존성을 피하기 위해서 virtualenv 환경에서 작업하는 것을 권장한다. ubuntu-14.04.3-desktop-amd64 이미지로 설치한 우분투 환경에서의 virtualenv 독립 개발 환경 구축 방법에 대한 내용을 간략하게 다룬다. virtualenv 설치를 위해서는 사전에 설치되어야하는 파이썬 패키지(python-pip 등..