일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- VPC
- built-in
- 커피머니불리기
- docker network
- docker
- MongoDB
- 실사용
- DocumentDB
- MongoEngine
- network
- python3
- clone
- aws codecommit
- 재테크
- Linux
- Python
- AWS
- namespace
- 후기
- 앱테크
- 토스카드
- S3
- 포인트앱
- Container
- 하나머니
- 리워드앱
- 도커
- codecommit
- 리뷰
- mininet
- Today
- Total
목록Programming (19)
ㅍㅍㅋㄷ
Python Generator 먼저 python docs 의 generator 에 대한 정의를 보자. generator A function which returns an iterator. It looks like a normal function except that it contains yield statements for producing a series of values usable in a for-loop or that can be retrieved one at a time with the next() function. Each yield temporarily suspends processing, remembering the location execution state (including local..
Python iterable과 iterator의 의미 Iterable (이터러블) iterable에 대한 python docs의 정의를 보자. Iterable An object capable of returning its members one at a time. Examples of iterables include all sequence types (such as list, str, and tuple) and some non-sequence types like dict and file and objects of any classes you define with an __iter__() or __getitem__() method. Iterables can be used in a for loop and in..
Python Framework - Django 와 Flask 비교 및 사용 사례 Python Framework 도 여러가지가 있다. 하지만 Open source 의 세계는 참으로 냉정하게도. 결국 선택 받은 몇몇만 살아 남는 그런곳이지 않은가. (강한자가 살아남는 레알 Jungle) 역시나 마찬가지로 Python Framework의 세계도 그러한듯 하다. 개인적인 생각으로는 결국 Django와 Flask 두개로 정리 되는 걸로 보인다. 오늘은 정글 속에서 살아남은 Django와 Flask에 대한 간단히 비교해보려고 한다. 1. Django (한글로 치면 어무해) Django는 python 기반 web application framework 중 가장 많이 사용되고 있다. 이유는 간단하다. 기능이 많고 강력..
Django 와 Apache 연동 Django 는 python 기반의 오픈소스 프레임워크이다. 웹 개발에 필요한 다양한 기능을 제공하고, 수많은 플러그인을 지원하기 때문에 인기가 높은 프레임워크 중 하나이다. 이번 포스팅에서는 웹서버 중 가장 많이 사용되는 Apache와 django를 연동하는 방법을 소개한다. 웹서버 연동 없이 Django 만 사용할 수 없나? 물론 단독으로 사용이 가능하다. django 에서 제공하는 runserver를 이용하면 된다. root@~~# django-admin.py runserver : 그렇다면 왜 굳이 웹서버와의 연동이 필요한가? Django가 제공하는 runserver 기능은 개발의 편의를 위해 테스트 목적으로 제공되는 기능이다. Django 측에서도 실제 서비스 환..
python dictionary 를 json 으로 변환 Python 의 자료형 중 가장 많이 사용되는 것 중 하나가 딕셔너리(dictionary) 이다. 특히 API를 이용해 외부에 데이터를 전달할때 보통 json 형태가 사용되는데, python 에서 json 형태와 가장 유사한 자료형이 바로 딕셔너리 이다. 딕셔너리를 json 으로 변환하는 방법은 매우 간단하다. python 의 json 이라는 라이브러리를 import 하여 사용하면 된다. json 모듈에 대한 설명은 python docs에 자세히 설명되어 있다. ( 링크는 여기 ) dictionary 를 json 으로 변환 import json dict1 = { 'name' : 'song', 'age' : 10 } print "dict1 = %s" ..
Class 명을 변수로 받아 동적으로 import (Python Dynamic import) python 의 모듈을 import 할때는 보통 파일 초기에 선언하여 사용하는게 일반적이다. 그런데, 모듈을 처음부터 import 하지 않고 로직에 따라 (모듈 명을 변수로 받아) 이것을 이용해 모듈을 import 하고 싶은 경우가 있다. 이런 경우 모듈과 class 명을 문자열로 받아 동적으로 import 하는 방법을 소개한다. 방법은 간단하다. importlib 패키지를 사용하거나 __import__() 함수를 이용하면 된다. 사실 importlib와 __import__() 함수는 큰 차이가 없다. importlib는 import 구문(statement)을 수행하는 package 일 뿐이며, __import_..
Python decorator (데코레이터) Python 으로 작성된 Opensource 의 코드들을 보다 보면, 아래와 같이 @ 로 시작하는 구문 들을 볼 수 있다. @decorator_def function(): print "what is decorator?" decorator를 한마디로 얘기하자면, 대상 함수를 wrapping 하고, 이 wrapping 된 함수의 앞뒤에 추가적으로 꾸며질 구문 들을 정의해서 손쉽게 재사용 가능하게 해주는 것이다. (무슨 말이야?) Decorator는 어떤 경우에 쓰는건가? 코딩을 하다 보면 종종 이런 경우가 있다. 메인 구문이 있고, 여기에 부가적인 구문을 추가하고 싶을때 말이다. 그리고 이 부가적인 구문을 반복해서 사용하고 싶은 경우도 있다. 이때 부가적인(그리고..
Python 의 List 에 중복된 값이 있을 경우, 중복 제거를 하고 싶은 경우가 있다. 물론 직접 해당 기능을 구현할 수 있으나, 간단한 방법이 있다. 바로 python의 자료형 중 set 을 이용한 방법이다.자료형 set은 크게 두가지 특징을 가지고 있다. 1. 중복을 허용하지 않는다. ( removing duplicated ) 2. set 내부에 있는 값(value) 들은 순서가 존재하지 않는다. (unordered) 이 특징을 이용해 아래와 같이 쉽게 중복을 제거할 수 있다. ex_list = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'c', 'd' ] ex_list = list(set(ex_list))print ex_list ###['a', 'c', ..
Python Super() 함수 Python에서 다중 상속시 발생할 수 있는 문제점이 있다.이 현상은 Python 뿐만 아니라 다중 상속이 가능한 어떤 언어에서나 발생할 수 있는 문제이다. 아래와 같은 상황을 보자. D 클래스가 B와 C 클래스를 상속 받고,B와 C 클래스는 같은 부모 클래스인 A 클래스를 상속 받는 형태이다. 이때, D 클래스를 호출하게 되면 어떤 현상이 일어나게 될까? D는 B를 상속받았으니, B의 생성자가 한번 실행되며 B는 A를 상속 받았으니, A의 생성자를 실행할 것이다. 또한 D는 C도 상속받았으니, C의 생성자를 한번 실행하며, C는 또 A를 상속 받았으니, A의 생성자를 실행할 것이다. 즉, A의 생성자는 두번 호출 되는 꼴이다. #!/usr/bin/python class ..