backend 269

파이썬에서 실행 시간 체크하기 (check executed time in python)

파이썬에서 몇만개가 되는 쿼리를 순회하는 등 시간이 오래 걸리는 작업을 하면 항상 얼마가 걸렸는지 정확히 파악하기 어렵다. 그래서 executed time을 체크하는 방법을 찾아보았다.방법은 매우 간단. 파이썬 내장 함수인 time을 사용하면 된다.import time # start_time을 체크 start_time = time.time() for idx, a in enumerate(lists): if idx % 1000 == 0: print(idx) do_sth_for_a(a) # 마지막에 start time을 뺀 값을 프린트 print("---{}s seconds---".format(time.time()-start_time)) 몇만개가 넘는 쿼리를 순회하는 경우 잘 진행되고 있는지 확인하기 위해서 ..

backend/python 2017.12.28

docker swarm을 사용하여 3개의 node 만들어보기 (swarm example)

1. play-with-docker.com웹 브라우저 상에서 실행 가능.4시간 간격으로 clear2. docker-machine + VirtualBoxrequire machine with 8GB memory3. digital ocean + Docker installcheap, easy serversimilar to production level4. Role your ownAws, azure, DO, google 등…get.docker.com나는 2번 방법으로 docker-machine을 깔아서 해보았다. docker-machine 까는 방법은 여기에서 설명해놓았다.3개의 다른 machine에 swarm 띄워보기docker-machine을 사용해서 3개의 swarm을 띄워보자.$docker-machine ..

backend/docker 2017.12.26

docker-machine 소개, 설치 및 기본 사용법

Docker Machinedocker machine은 일종의 vm같이 도커를 mac, window 등 다른 (오래된) 환경에서도 동일하게 띄울 수 있게 도와준다.Install docker machine여기(도커머신 홈페이지)에서 설치 방법을 참고해서 설치 가능하다.1. (당연한 얘기겠지만) Docker를 설치해준다.2. 자신의 OS에 맞게 docker machine binary를 PATH에 설치해준다.macOS의 경우$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ chmod +x /usr/local/..

backend/docker 2017.12.23

docker - swarm 기초 사용법 및 개념

containers everywhere = New problemshow do we automate container lifecycle?how can we easily scale uot/in/up/down?re-created if failblue/green deploy?Swarm mode: built-in orchestrationswarm: 2016년에 나옴.server clustering solutionnot related to swarm classic for pre-1.12기본 개념Manager & Worker 개념Manager: Raft consensus group (role) - worker에 manager role이 부여된 것…new docker service 커맨드: 몇개를 run 할건지 등을 ..

backend/docker 2017.12.22

docker compose 기초 사용법

Docker compose 기초컨테이너들 간의 관계 설정easy-to-read 파일로 세팅해서 container를 run하기 위해서one-liner startup을 위해서2 가지로 구성YAML: container, network, volume에 관련한 옵션CLI tools (docker-compose)docker-compose.ymlYAML 포멧 버전: 1, 2, 2.1, 3, 3.1 - first linedocker-compose 코멘드로 쉽게 사용기본 포멧version: '3.1' service: servicename: image: # optional command: # optional environment: # optional volumes # optional servicename2: # if ha..

backend/docker 2017.12.21

Docker hub에 만들어진 image 올리기

docker hub에 이미지 올리는 방법 정리1. image에 tag 부여하기# 잘 모르겠을 경우 docker image tag --help로 help command 보기 # $docker image tag image_name DOCKER_HUB_USERNAME/image_name:version # 예시 - django_test 이미지에 태그달기 # latest일 경우에는 생략 가능 $docker image tag django_test bartkim0426/django_test:latest 2. docker hub login$docker login # 이후 나온 command line에 username, password 입력 Login with your Docker ID to push and pull i..

backend/docker 2017.12.21

R언어 기본 문법 및 사용법

R언어는 타 언어들에 비해 데이터 분석에 집중되어 있기 때문에 help system이 상당히 잘 되어 있다. 따로 문법 공부를 많이 하지 않더라도 help, example 등을 잘 활용하여 설명을 잘 읽으면 쉽게 따라할 수 있다.앞으로 모든 입력 코드는 >를 써서 나타냈다. > 표시가 없는 코드는 결과값이라고 생각하면 된다. # 이후에 기록된 것들은 주석이다. 주석은 프로그래밍 상에서 작동되지 않느다.기본 연산기본 연산은 상식적인 수준에서 사용하면 된다.> 1 + 1 2 > 2 * 7 14 # 같은지 비교하기 위해서 == 사용 > 2 + 2 == 5 FALSE TRUE & FALSEboolean(0과 1로 참 거짓을 나타내는 방식)으로 R은 TRUE, FALSE를 사용한다.> 1 + 1 == 2 TRUE..

backend/R 2017.12.20

docker lifetime: volume & bind mount

Container Lifetime Container: immutable infrastructure - 컨테이너는 그 자체로 변하지 않는다: 만약 서비스가 업그레이드되거나 수정되면, 새로운 컨테이너를 만들면 됨! “Only re-deploy, never change”db나 unique data들은? 이상적으로는 docker는 이런것들은 가지고 있으면 안됨. => “Seperation of concerns”영구저장이 필요한 데이터들은 컨테이너 내부가 아니라 외부 데이터 저장소를 이용해서 저장해야함.“persistent data” => 2가지 솔루션- “Volumes and Bind Mounts”Volumns: make special location outside of container UFS(Union Fi..

backend/docker 2017.12.19

Install docker completion in bash&zsh

bash에서 docker completion 사용하기brew를 사용해서 설치해주면 된다.$ brew install bash-completion $ brew tap homebrew/completions .bash_profile에 다음을 추가if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi 다음 명령어 실행ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion /usr/local/etc/bash_completion.d/docker ln -s /Applications/Docker.app/Contents/Reso..

backend/docker 2017.12.18

build node image in docker

udemy 강의 예시 (docker로 node 서버 image 만들어서 띄우기)배포할 node가 이미 완성되어 있다고 가정하고 진행Dockerfile 만들기# Node official image 가져오기 (6-alpine 버전) FROM node:6-alpine # 3000port listen EXPOSE 3000 # package manager로 tini 설치 RUN apk add --update tini # 'mkdir -p /usr/src/app' 코맨드 RUN mkdir -p /usr/src/app # - Node uses a "package manager", so it needs to copy in package.json file # package manager 사용을 위한 'package.js..

backend/docker 2017.12.18