backend 269

Docker - django 2.0 runserver 띄워보기

요즘 docker의 매력에 푹 빠졌다. 아직은 container, image 등 기초적인 것들을 공부하고 있지만 기본적인 dockerfile로 django runserver을 docker에서 구현해보았다.추후 실제 배포 단계에서도 nginx, uwsgi나 gunicorn을 활용해서 docker로 배포한다면 정말 좋을 것 같다. (많이 늦은 감이 있지만.. 늦은게 아예 안 하는 것보다는 낫겠지?)django project 구성이건 본인의 입맛에 맞게 project를 구성하면 된다. django-admin startproject를 해도 좋고, 자신만의 project-base를 만들어도 좋다. 어쨌건 django 2.0 공식문서를 토대로 local 환경에서 runserver가 구동되게만 세팅해 놓는다.Dock..

backend/docker 2017.12.18

docker images 기본 명령어 및 기초설명

Docker imageDocker hub 사용하기docker hub에 가입하면, 원하는 이미지를 검색할 수 있다. nginx로 검색하면 무려 20000개가 넘는 repository들이 있다. 대개는 official 이미지들을 사용할 수 있다. 시작할 때는 official 이미지로 시작해서 원하는 부분을 customizing 하여 자신의 image를 만드는게 좋음official docker image를 눌러서 들어가보면 stable하게 관리되고 있는 버전들과 다양한 설명들을 볼 수 있다.downloading, using images$docker image 로 docker image 관련된 명령어를 실행 가능하다. docker image --help로 가능한 명령어들을 확인 가능# 현재 있는 image들 보..

backend/docker 2017.12.16

Docker networks

Container를 실행시키면 각각의 container가 bridge라는 private virtual network에 연결됨각각의 virtual network는 NAT firewall에 라우팅모든 컨테이너는 -p 없이 서로 접속 가능docker container의 port 확인하기$docker container port docker container inspect –formatinspect --format으로 현재 container의 ip를 확인 가능docker container inspect --format '' CLI Management for docker networkdocker network ls현재 만들어진 container의 network를 볼 수 있음$docker network ls NETW..

backend/docker 2017.12.15

Docker basic commands - Container

Basic commands버전 확인 및 information 확인# check docker versions docker verson # config value 확인 docker info 사용 가능한 docker commands 확인# check docker commands docker 결과가 Management commands와 Commands로 나뉨docker management command: 많은 command를 관리하기 위해서 새로운 format(management commands)를 제공docker (options)처럼 사용 가능예전 방식 (docker (optinos))도 여전히 사용 가능하다.ContainerImage vs Containerimage? application we want to..

backend/docker 2017.12.14

docker 소개: 버전 소개 및 mac에 설치

Docker VersionDocker CE (Community Edition) & EE(Enterprise Edition)Stable & Edgedocker store에서 다양한 docker version을 볼 수 있다.나는 무료이고 오픈 소스인 docker CE의 mac os 버전의 Edge를 다운로드 하였다.Yosemite 이전의 os를 사용한다면 (Leopard, Lion 등…) Docker Toolbox를 사용해서 설치해주어야 한다. Linux VM을 사용해서 Docker을 설치해도 무방 homebrew로 설치해도 되지만, CLI만이 설치되기 때문에 권장하지 않음.Installing Docker맥버전은 여기에서 다운로드다운받은 docker.dmg를 설치해준다. 끝!PreferenceGeneral에..

backend/docker 2017.12.13

R, RStudio 설치하기 (맥 OS X)

맥os에서 R을 설치할 수 있는 여러 방법이 있지만 (homebrew 등) 비개발자도 손쉽게 설치할 수 있는 방법으로 안내해본다.Installing RR 공식 다운로드 페이지에서 자신의 운영체제에 맞게 R을 다운받을 수 있다. 홈페이지에 들어간 후 Download R for (Mac) OS X를 눌러주고 가장 최신 버전(2017.12.13 기준 R-3.4.3.pkg)을 눌러 다운로드 받는다.다운로드가 완료된 pkg 파일을 실행시키면 안내에 따라 R을 아주 손쉽게 설치 가능하다.Installing RstudioR도 프로그래밍 언어기 때문에 자신에게 맞는 IDE(Integrated Development Environment) 도구를 사용하면 아무런 문제 없이 사용 가능하다. (심지어 vim도 사용 가능하다...

backend/R 2017.12.13

django rest framework 공식문서 - serializer fields 정리

Serializer fieldsserializer 필드는 primitive value와 internal datatypes간의 변환을 핸들링.또한 input value에 대한 validating도 해줌.Serializer field들은 fields.py에 선언되어 있는데, 편의를 위해서from rest_framework import serializers 로 호출 후,serializers.로 사용하면 됨1. Core arguments각각의 serializer field class는 적어도 3개의 args를 받음. 몇몇 Field는 추가적인 (field-specific) args가 필요다음에 나오는 것들은 항상 acceptedread_onlyAPI output에는 포함되고 input에는 포함되지 않음. 만약 ..

backend/django 2017.12.09

django 2.0 릴리즈: simple url 정리(url converter)

드디어 django 2.0이 정식 release 됐다. 이제 pip install django로 장고를 설치하면 2.0 버전이 설치된다. 1.11이 나온게 엊그제같은데.. 정말 빠르다.2.0 relaease note를 쭉 읽어 봤는데 다른 변화들도 많지만 무엇보다도 url에서 엄청난 변화가 생겼다.주목할만한 변화 몇 가지만 남겨놓아본다.Simplified URL routing syntax기존에url(r'^articles/(?P[0-9]{4})/$', views.year_archive), 로 사용하던 django.urls.path()라는 새로운 기능을 사용해 간단하게 사용 가능하다.path('articles/', views.year_archive), 자주 사용해도 정규표현식과 $, ^ 등으로 여러 번 헷갈..

backend/django 2017.12.04

Mac (OS X)에 postgres 설치하기 (sierra 10.12.6)

brew tap petere/postgresql # search로 원하는 postgresql 버전을 찾을 수 있다. brew search postgresql brew install petere/postgresql/postgresql@10 Run this command to start postgres manuallypg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start psql postgres 사실 postgres 설치는 매우 간단하게 할 수 있지만, 이를 실행시키는 데서 잠깐 애를 먹었다. ubuntu에서는 service 명령어로 postgres를 실행시키던걸 pg_ctl 명령어로 실행시켜주면 된다.