본문 바로가기

Django Test - pytest, reuse, create db, migration 등 간단 소개 pytest -p no:warnings DJANGO TEST - PYTEST pytest를 사용하면 테스트 데이터베이스를 다시 만들지 않아도 되니까 테스트 시작 속도가 빠르죠. 그래서 많이들 사용하시는 것 같습니다. 저도 테스트 할 때 pytest로 돌리는데 일단 ini는 기본적으로 reuse 옵션을 주고 돌립니다. 이유는 이미 생성된 test db를 사용하고 싶기 때문이죠. pytest -s --reuse-db 하지만 처음 테스트를 돌리거나 모델(model)의 변경이 있었다면 기존 test db 구조와 테스트가 돌아가는 코드가 맞지 않겠죠. 예를 들어서 없는 테이블에 접근하려고 한다거나? 없는 컬럼을 사용해서 테스트 한다거나 등등 그럴 때는 --create-db 옵션을 주고 돌립니다. 다시 정리하면 p.. 더보기
Lambda로 Slack에 메세지 작성하기를 위한 key 생성 및 URL 암호화 2016/12/08 - [ # 클라우드/- AWS,아마존] - Lambda로 Slack에 메세지 작성하기 위 포스팅과 관련이 있습니다. CDN이나 S3에서 발생하는 알람을 Slack에서 확인하기 위해서는 CloudWatch와 Lambda 모두 N. Virginia Region에 생성해야 합니다. 실수한 부분도 포함시켰는데요. region이 us-east-1 이렇게 해야 하더라구요. (1d, 1b 이런식으로 하면 안되는데) kms create-key , kms create-alias, kms encrypt 를 수행해야 하고 아래 그림에서 확인할 수 있습니다. 마지막 명령어로 나오는 CiphertextBlob 값을 lambda 예제의 kmsEncryptedHookUrl 에 입력하면 됩니다. 더보기
DRF - ModelViewSet Custom Method 저는 Django REST Framework 를 통해서 Restful API를 만들 때 View 단에서는 ModelViewSet을 주로 활용하고 있어요.그냥 왠만한 것은 그냥 사용해도 되고, Custom이 필요할 때는 필요한 Method만 Override 해서 사용하면 좋더라구요. 예를 들어서 Get으로 들어오는 요청은 list 함수를 Override하면 되고 Post 요청은 create 함수를 Override 하면 됩니다.함수를 호출하는 것은 Router에서 이뤄지기 때문에 어떤 Router를 사용하느냐에 따라 약간 달라질 수 있겠습니다. DRF Homepage에 보면 http://www.django-rest-framework.org/api-guide/routers/Router에 대해 자세히 설명되어 .. 더보기
Bootstrap Modal 띄우기(생성/열기/보여주기) Bootstrap Modal을 띄우는 방법은 Javascript를 사용하는 것과 HTML element의 data attribute를 사용하는 것이 있습니다. 일단 modal은 아래와 같은 코드로 구성되어 있다고 가정하죠. {% block start-footer %}{% endblock %} {% block modal-header %} {% endblock %} {% block modal-body %} modal test {% endblock %} {% block modal-footer %}닫기{% endblock %} {% block end-footer %}{% endblock %} 1. 먼저 Javascript를 활용하는 예는 아래와 같아요. $("#testModal").modal(); 위 그림에서 .. 더보기
Librados Python - Pool List, Create, Delete 관련 포스팅 목록 Ceph, RADOS - pool list, create, delete - http://ngee.tistory.com/758 Librados Python - Pool List, Create, Delete - http://ngee.tistory.com/759 Librados Python - Object Input, Output - http://ngee.tistory.com/760 이전 포스팅에서 rados 명령어를 통해서 pool의 목록을 확인하고, 생성하고, 삭제하는 것을 테스트해봤습니다. 이번에는 커맨드라인 명령어가 아니라 python(파이썬)을 통해서 pool 목록 확인, 생성, 삭제를 테스트해보는 것이 목적입니다. apt-get install python-rados (ubuntu .. 더보기
Ceph, RADOS - pool list, create, delete 관련 포스팅 목록 Ceph, RADOS - pool list, create, delete - http://ngee.tistory.com/758 Librados Python - Pool List, Create, Delete - http://ngee.tistory.com/759 Librados Python - Object Input, Output - http://ngee.tistory.com/760 Ceph에 대해서도 정리해두려고 카테고리 생성 :) 자주 쓸 것 같은 명령어들을 정리해두고 쉽게 찾아보려고 합니다아. 일단 Ceph는 0.94.2 버전을 설치했습니다. 몇 개의 포스팅에서는 RADOS 명령어를 잘 사용해보는 것이 목표입니다 :) 일단 참고 URL 부터 architecture - http://doc.. 더보기
Django Forms(003) - create form Blog Posting - Django Forms Django Forms(001) - init : http://ngee.tistory.com/736 Django Forms(002) - create page : http://ngee.tistory.com/737 Django Forms(003) - create form : http://ngee.tistory.com/739Django Forms(004) - submit form : http://ngee.tistory.com/740 001, 002에 이어서 이번에는 003 create form입니다. 결론적으로는 잘 까먹는 저를 위해서 작성해두는 포스팅이구요. 혹시라도 읽고 계시는 분이라면 순서대로 읽고 계시다고 가정하고 내용을 정리합니다. 앞선 포스팅에서 생성.. 더보기
OpenStack: heat stack-create environment 이번 포스팅에서는 OpenStack에서 Heat를 통해 Stack을 생성할 때 외부에서 파라메터 값을 받는 것을 간단하게 정리해두려고 합니다. *heat에 대한 기본적인 내용을 파악한 상황이라고 가정하겠습니다. heat를 통한 stack을 생성하는 기본적인 CLI (command line interface)는 아래와 같습니다. CLI Example : heat stack-create name -f template.yaml template.yaml 예시는 아래 그림과 같구요. parameters의 일부만 잘라낸 것인데요. public_network, private_network, private_subnet, instance_key 는 default로 값이 존재합니다. 하지만 volume 은 type만 존재.. 더보기
MariaDB Create, Drop(delete) Database SQL 이번에는 MariaDB를 사용해야 하는데요. 많이 쓰이는 SQL 정리도 할 겸. 몇 가지 포스팅을 작성해두려구요 . 이미 많은 블로그에서 정리가 되어 있고, 공식 홈페이지나 SQL 문서를 보셔도 됩니다. MariaDB 홈페이지 : https://mariadb.org/ MariaDB Doc : https://mariadb.com/kb/en/ W3C School SQL : http://www.w3schools.com/sql/ 이번 포스팅에서는 데이터베이스 생성 및 삭제입니다. 데이터베이스 생성은 create database name; 이죠. 왼쪽 그림에서는 testdb 라는 데이터베이스를 생성해봤습니다. sql) create database testdb; 입니다. 데이터베이스 목록을 확인하기 위해서는 sql.. 더보기
PostGIS : Create Geospatial Table 관련 포스팅 PostGIS : PostGIS Setting Script : http://ngee.tistory.com/629 PostGIS : Create Geospatial Table : http://ngee.tistory.com/631 PostGIS : Insert Geospatial Data into Table : http://ngee.tistory.com/632 PostGIS : Select Geospatial Data from Table : http://ngee.tistory.com/633 PostGIS : Delete Geometry Column in Geospatial Table : http://ngee.tistory.com/635 PostGIS를 활용하여 공간정보를 저장할 수 있는 데이터베.. 더보기
우분투 바탕화면에 바로가기 만들기 우분투(Ubuntu) 데스크탑 버전을 사용할 때, 바탕화면에 바로가기를 추가하는 방법은 아래와 같습니다. 14.04 사용하시는 분들은 아래로 쭉 내려주세요. 1. gedit 를 실행해주세요. gedit는 메모장이랑 비슷한 프로그램이죠? :) 실행 방법은 아래 그림을 참고해주세요. 2. 아래 내용을 적당히 변경해서 작성하세요. [Desktop Entry] Name=Eclipse 4 Type=Application Exec=/opt/eclipse/eclipse Terminal=false Icon=/opt/eclipse/icon.xpm Comment=Integrated Development Environment NoDisplay=false Categories=Development;IDE; Name[en]=Ecl.. 더보기
PostgreSQL install and setting(add user) in Ubuntu 12.04 /* 최대한 한글 없이 필요한 내용만 작성하는 포스팅입니다. */ 1. Add PostgreSQL repository (root) 01) vi /etc/apt/sources.list.d/pg.list #writing deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main #:wq 02) apt-get update .... The following signatures couldn't be verified because the public key is not available : NO_PUBKEY AAAAAAAAAA .... # solution : apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A.. 더보기
파이썬 basic - xml create (생성하기) 지난 포스팅에서 파이썬으로 간단한 xml parsing에 대해서 작성한 적이 있어요. (http://ngee.tistory.com/308) 이번에는 또 간단하게 파이썬으로 xml 생성하는 부분에 대해서 작성해보려구요. 저는 ElementTree 라이브러리를 주로 사용함으로, 이걸 기준으로 작성합니다. 1. ElementTree 라이브러리 설치 일단 ElementTree가 설치되어 있어야 하겠죠? 저는 pip를 이용한 설치를 추천드립니다. 혹시 pip를 설치가 되어 있지 않다면, apt-get install python-pip 로 설치하세요 (물론 root 권한에서요) ElementTree 설치는 아래와 같아요.root 권한에서 pip install elementtree 2. XML 생성 ElementTr.. 더보기