2017/05 9

multiprocessing에서 여러 프로세스가 동시 변수 참조하는 문제

아주 예전의 http://qkqhxla1.tistory.com/15 포스팅에서 언급했듯이 여러개의 쓰레드나 프로세스에서 한 데이터에 그냥 접근하면 문제가 생긴다. 오늘 프로그래밍을 하는데, 멀티프로세싱으로 여러개의 데이터를 동시에 한 리스트에 넣는 프로그램을 짰었다. 멀티프로세싱으로 동시에 한 값을 바꾸는건 문제가 되는걸 알고있었는데, 집어넣는게 문제가 될줄은 몰랐다. 바빠서 왜 이게 문제가 되는지는 아직 찾아보지 못했는데, print로 출력해 본 결과 글로벌한 리스트 하나에 값이 들어가는게 아니라 프로세스마다 각각의 리스트가 있어서 각각의 리스트에 들어가는것처럼 출력이 되었다. 그리고 아래 글은 그 이후에 삽질한 일부 내용을 정리한 글이다. 첫번째로 세마포어를 찾아보려고 하였다. 위의 포스팅의 쓰레드 ..

2017-05-27 토요일

뭔가 할일이 갑자기 크게 많아진다. 하둡이니 도커니 aws니 플라스크니 등등등등. 갑자기 한달만에 공부해야 하는 기술셋이다... 내가 어느정도 일에 익숙해지고 시니어분들이 그럼 이거 해봐 하는 형식이 아니라 일정이 날라와서 갑자기 해야 되는건데 우연찮게 이제 슬슬 뭔가 지루해지려고 할때 생긴 공부거리라 좋다. 뭔가 특정 회사 기술 소개 컨퍼런스등에서 이 기술은 이걸 어떻게하고 요렇게해서 현재 운영하고 있습니다. 라는걸 ppt나 말로만 들어왔다면 이번엔 처음으로 직접 개발하는 샘이 된다. 다행인건 공부,일할거리가 갑자기 산더미처럼 밀려오는데 평소에 이것저것 공부해둬서 막 야근하거나 그렇게 무리하지는 않아도 될것같다는 점이다. 이번에 프로젝트를 주신 분이 꽤 높은 분인지? 우리 팀이 하나가 되어 돌아가기 시..

flask에서 부트스트랩 가져와서 돌리기.

기본적인 지식이 전무할 경우 http://flask.pocoo.org/docs/0.12/tutorial/ 와http://flask.pocoo.org/docs/0.12/quickstart/ 와부트스트랩에 대해 기본적인걸 읽고 오자. 일단 flask를 시작한지 몇일 안되었고, 단순히 위의 docs만 읽었다. 부트스트랩은 한번도 해본 적 없고, 이번에 기회가 생겨서 연동한 삽질 내용만 적겠다. 일단 글을 쓰는 이유는 나는 웹 구축이 처음이다. 웹 구축을 하면서,해보려고 시도하면서 가장 어려웠던 점은 돌아가는 서버 위에 부트스트랩 같은 템플릿(?초보라 맞는 말인지 모르겠네요) 을 가져와서 올려놓는 것이었다. 개인만의 블로그나 페이지를 만들고 싶을때, 대부분 백엔드는 대충 할수 있다. 프로그래밍적인 로직이 필요하..

web/back + front 2017.05.20

mapreduce(맵리듀스)란?

맵리듀스에 대해서. 기존의 빅 데이터 방법론에서, 데이터 처리시 프로그래밍으로 저장소에서 데이터를 가져와서 처리한 후 다시 데이터를 집어넣습니다. 하지만 분산 환경에서 데이터를 가져오는데 드는 비용은 매우 큽니다. 그래서 데이터를 가져오지 않고 처리할 수 있는 방법론이 필요해졌습니다. 발상의 전환으로, 데이터를 분산 처리 저장소에서 가져오지 않고 저장된 곳에서 처리할 수 있도록 만든게 맵리듀스입니다. 맵, 리듀스는 단계의 이름이며 모두 입출력으로 키-값의 형태를 가집니다. 예제는 아래 링크의 ibm예제를 가져왔습니다.(what is mapreduce라고 구글에 치고 첫번째 링크) 이게 가장 이해가 잘 된듯. 5개의 저장소에 각각 하나씩 온도 데이터가 있다고 가정해봅시다. 그중 1개의 저장소에서 온도 데이..

data engineering 2017.05.20

2017-05-16 화요일

사고방식이 조금 더 유연했으면 좋겠다. 내 장점은 어떤 길이 있을때 깊게 파고든다는 것이다. 하지만 단점은 조금만 다르게 생각해 보면 될걸 다른사람보다 더 파고든다는 것이다. 예를 들어보자. 북쪽으로 가야 하는데 바위가 길을 막고 있다. 일반적으로 사람들은 돌아갈 길을 생각하지만 난 어떻게 바위를 뚫을지를 생각하고 한참이 지나서야 돌아갈 길을 생각한다. 라고 표현하면 될것 같다. 이런 성격이 장점일때가 있다. 무식하고 꾸준하게 뭔가를 해야할때. 영어 단어를 외우거나 할때처럼 무식하게 외우는게 답일 경우에는 돌아가는 길이 없고 한시라도 바위를 뚫는 것이 가장 빠른 길일 때가 있다. 하지만 너무 이쪽으로 치중되어있는것같다. 어제 헬스장을 가서 등록을 했었다. 헬스가 처음이라 pt도 받아보기 위해서 pt가격을..

crontab

크론탭에 관한 설명은 찾아보면 많다. 일단 기본적인 정보와 getting started처럼 기본 사용법만 적었다. 현재 크론탭 스케쥴러 수정.crontab -e 크론탭 스케쥴러 확인.crontab -l 크론탭 스케쥴러 수정 시 vi편집기처럼 사용이 가능하다. 크론탭은 한줄로 작성해야 하며 주석 작성시 #를 쓰면 된다. 한줄 포맷 예시이다.#example22 15 12 5 5 /usr/bin/python /example/practice.py 순서대로 분,시간,일,월,요일,실행시킬 명령어이다. 숫자 대신 *를 쓰면 그 시간대나 요일에 관계없이 항상 실행시킨다는 뜻이다. 참고로 맨 뒤의 실행시킬 명령어는 절대 경로로 전부 다 써야 한다. 크론탭이 잘 작동하는지 예시를 돌려보려면 practice.py같이 파이썬..

파이썬 정규식 한글.

http://jokergt.tistory.com/52 에서 그대로 가져왔습니다. (문제시 삭제하겠습니다.) 파이썬에서 한글만 추출하는 정규식. # -*- coding: utf-8 -*- import re s='韓子는 싫고, 한글은 nice하다. English 쵝오 -_-ㅋㅑㅋㅑ ./?!' hangul = re.compile('[^ ㄱ-ㅣ가-힣]+') # 한글과 띄어쓰기를 제외한 모든 글자 # hangul = re.compile('[^ \u3131-\u3163\uac00-\ud7a3]+') # 위와 동일 result = hangul.sub('', s) # 한글과 띄어쓰기를 제외한 모든 부분을 제거 print (result) result = hangul.findall(s) # 정규식에 일치되는 부분을 리스트..

2017-05-09 화요일

휴일이 모두 끝났다. 복잡한 일들이 많았다. 휴일이 시작되고나서부터 지금까지 코딩을 하나도 못했다. 너무 오래 쉰것같은 느낌이 든다. 왠만하면 휴일에도 코딩하곤 했는데 일이 있어서 하지 못했다. 회사가서 코딩하면 어색할 것 같다. 회사가서 뭐하지 생각하다가 시니어 개발자분이 웹 프로젝트 하나가 있다고 했는데 가능하면 내가 한다고 해야겠다.(사실 재미있을거 같아서 하고싶다.) 의자를 결국 샀다. 회사 의자가 시디즈 의자인데 모든 인원이 쓰는거라 그런지 그렇게 좋지는 않다. (지금보니 인터넷 최저가 18만원...) 팀에서 눈치를 살살 봐가면서 슬쩍 회사에서 쓸 의자 혹시 구입해도 되는지 물어봤었는데 당연하게 된다고 하셔서 고민고민하다가 원하는 모델로 구입했다. 시디즈 T500HLDA 에어 모델을 구입했는데 ..