본문 바로가기

python12

[알고리즘] 선택정렬, 셀렉션소트 (Selection Sort) 선택정렬, 셀렉션소트 (Selection Sort) 1. 주어진 배열에서 최솟값을 찾아 맨 앞에 위치한 값과 SWAP한다. 2. 다음 수행시에 처음 위치의 값을 제외한 나머지 값들을 1번을 수행한다. 장점: 자료 이동 횟수가 미리 결정된다. 단점: 값이 같은 레코드가 있는 경우 상대적인 위치가 변경될 수 있다. 비교회수: 외부 루프: (n-1)번 내부 루프: n-1, n-2, ..., 2, 1번 교환회수: 외부 루프의 실행 회수와 동일 SWAP을 위한 3번의 이동이 필요 영상으로 보기 - Folk Dance Python Code def selection_sort(arr): arr_len = range(len(arr)) for i in arr_len: min_idx = i arr_sub_len = rang.. 2019. 8. 7.
[Python] 클래스 메소드와 스태틱 메소드 (Class Method and Static Method) Python 의 인스턴스 메소드와 클래스 메소드, 스태틱 메소드에 대해서 아주 잘 설명이 되어있다.큰 차이를 말하면 인스턴스 메소드는 자신의 인스턴스에 대해서만 적용이 되지만 클래스 메소드는 전체 인스터스에 적용이 된다. ---- 나중에 정리할 것 --- http://schoolofweb.net/blog/posts/%ED%8C%8C%EC%9D%B4%EC%8D%AC-oop-part-4-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A9%94%EC%86%8C%EB%93%9C%EC%99%80-%EC%8A%A4%ED%83%9C%ED%8B%B1-%EB%A9%94%EC%86%8C%EB%93%9C-class-method-and-static-method/ 2017. 1. 2.
[Django] settings 파일에 선언한 값 가져오기 API 호출을 위한 HOST같은 공통적인 변수는 settings 파일에 변수를 지정하여 나중에 값이 바뀌어도 이 값을 사용한 곳의 코드를 전부 바꾸지 않도록 개발해야 한다. # in settings.pyTMP_HOST = '127.0.0.1' 만약 settings.py(또는 dev.py 등) 파일에 위의 변수를 선언해 놨다면 값을 가져올 때는 아래와 같이 가져올 수 있다. # in views.py (변수 값을 사용하기 위한 파일)from django.conf import settings TMP_HOST = getattr(settings, 'TMP_HOST', 'localhost') 위와 같이 getattr() 함수로 가져온 모듈 안에서는 TMP_HOST 변수로 settings.py 안에서 지정한 값을 사.. 2016. 12. 28.
[Django] settings.py 분리하기 Django project 에서 프로젝트의 설정을 나타내는 파일인 settings.py 모듈. 여러 사람이 한 프로젝트에서 작업을 하다보면 데이터베이스 설정을 바꿔가며 작업을 하는 경우가 있다. 예를 들어, 테스트를 하기 위해서 자신의 로컬 데이터베이스로 설정값을 바꿔놓고 저장소에 push 하면 이 코드를 실제 데이터베이스 정보로 바꿔야 하는 작업이 필요하다. 이러한 상황은 생각보다 자주 일어나며 이 상황이 반복되면 git 저장소에 불필요한 활동 기록이 쌓이게 된다. 그래서 이 페이지에서는 settings.py 모듈을 분리하여 실제 데이터베이스와 로컬 데이터베이스 설정 값을 나눠서 관리하는 방법을 설명할 것이다. 프로젝트 생성 일단 작업을 시작할 프로젝트를 생성한다. # 장고가 설치되어 있지 않다면 장고.. 2016. 11. 16.
[Django] Database Dynamic Access 큰 프로젝트를 구현하다 보면 한 프로젝트 내에서 여러 데이터베이스와 연결하는 경우가 많다. 기본적으로는 django documents 사이트에 나와있듯이 settings 에 사용할 데이터베이스 정보를 추가해 놓고 using() 을 사용하거나 router.py 파일을 추가하여 데이터베이스에 연결하는 방법이 있다. 하지만, 셀 수 없이 많은 데이터베이스에 다이나믹하게 연결해야 하는 경우는 위와 같은 방식으로 사용하면 안된다. 이 페이지에는 장고 프로젝트에서 다이나믹하게 데이터베이스에 접근하는 방법에 대해 설명할 것이다. 데이터베이스 연결 방법from django.db import connections external_db = {'ENGINE': 'django.db.backends.postgresql_psyc.. 2016. 11. 14.
[Python] Private PYPI PYPI는 the Python Package Index. 의 줄임말입니다. PYPI 는 간단하게 python 관련 패키지들이 모여있는 저장소라고 할 수 있습니다. python 개발자들은 자신이 개발한 python 모듈을 PYPI에 업로드 할 수 있으며 PYPI에 저장된 모듈은 누구에게나 공개되어 있습니다. 회사 내에서와 같이 보안이 중요한 곳에서 자신이 만든 모듈을 private 하게 구축하는 방법을 설명하겠습니다. PYPI 설치$ docker pull codekoala/pypi docker 를 사용하여 pypi 이미지를 다운 받습니다.docker 설정docker 에 대한 내용은 따로 정리하도록 하겠습니다.Usage$ sudo mkdir -p /srv/pypi # 패키지를 담는 디렉토리를 로컬에 생성합니.. 2016. 11. 9.
[Python3] two list for loop 두 개의 리스트를 동시에 루프를 돌며 갚을 얻어오고 싶은 경우, zip() 함수를 이용하면 된다. >>> li = { ... 'email': ['1', '2', '3', '4'], ... 'name': ['a', 'b', 'c', 'd'] ... } >>> for email, name in zip(li['email'], li['name']): ... print(email, name) ... 1 a 2 b 3 c 4 d for num, cheese, color in zip([1,2,3], ['manchego', 'stilton', 'brie'], ['red', 'blue', 'green']): print('{} {} {}'.format(num, color, cheese)) 1 red manchego 2 b.. 2016. 11. 8.
[Django] django-crontab Django-CrontabLinux/Unix 에서 스케줄러를 구현할 때 cron/crontab을 Django에서는 django-crontab 라이브러리를 이용하면 쉽게 구현가능 하다. django-crontab은 실제 os상의 crontab에 등록하여 동작하도록 설계되어있다.Installpip install django-crontabsetupINSTALLED_APPS = ( 'django_crontab', . . .) cronjob 추가자신이 스케줄 작업을 등록하기 위한 함수를 만들어주면 된다. myapp/cron.py# myapp/cron.py def my_scheduled_job(): pass settings.pyCRONJOBS = [ ('*/5 * * * *', 'myapp.cron.my_sched.. 2016. 10. 28.