pipeline: 4개의 글
파이썬에서 pickle을 이용해 dictionary를 저장하고 로드하는 방법 중간 결과를 저장하거나, 최정 결과를 저장하기 위해 dictionary의 객체를 그대로 로컬의 디스크로 저장하는 방법은 자주 필요하다. key, map을 만드는 경우에도 중간 데이터를 생성해 놓은 뒤에, 이미 데이터가 있는 경우에는 로드해서 바로 사용하면 효율적이다. 코드 pickle을 이용해 데이터의 사이즈를 줄이고, 기존 textfile로 저장, 로드의 시간 소요가 절약된다. import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL) w..
파이썬에서 gzip파일을 읽는 방법 2가지 성능 비교 gzip 파일 확인 gzip의 파일을 읽으려면 shell에서는 zcat을 이용하면 쉽게 데이터를 확인이 가능하다. $ zcat * | head -100 $ zcat * | wc -l 아래 소스코드는 zcat과 pipeline을 이용해 읽는 방식과, gzip.open을 이용해 gzip의 파일을 읽는 속도를 비교한 코드이다. 코드 import os import sys if sys.version.startswith("3"): import io io_method = io.BytesIO else: import cStringIO io_method = cStringIO.StringIO import gzip import subprocess import time di..
stdin과 stdout을 이용해서 데이터를 파이핑할 수 있다. 파일에 숫자가 포함된 줄이 몇개나 있는지 확인하는 방법 import sys, re regex = sys.argv[1] for line in sys.stdin: if re.search(regex, line): sys.stdout.write(line) import sys count = 0 for line in sys.stdin: count += 1 print count $ cat SomeFile.txt | python egrep.py “[0-9]” | python line_count.py 문서의 단어를 모두 세어 보고 가장 자주 나오는 단어를 출력해주는 코드 import sys from collections import Counter # 출력하..
오늘 다루어볼 내용은 CI의 핵심 젠킨스(Jenkins)를 다루어볼 것이다. 사실 이번 포스팅을 시작으로 젠킨스(Jenkins) 관련 몇개의 포스팅이 더 있을 듯하다. 오늘은 간단히 CentOS환경에 docker로 Jenkins를 설치해볼 것이다. 바로 예제로 넘어간다. 필자는 미리 CentOS VM을 준비하였다.(사실 회사에서 장비를 맘껏 받아쓸 수 있어서 ㅎㅎ 실습용으로 생성했다.) 이번 포스팅은 CentOS가 준비되어 있다라는 가정이다. 1. CentOS에 Docker Engine 설치 첫번째로 Docker Engine을 설치해보자. > sudo yum -y update > sudo yum -y install docker docker-registry > sudo systemctl start dock..