본문 바로가기

파이썬 basic - rjust, ljust (오른쪽 정렬, 왼쪽 정렬) 이번에는 파이썬에서 문자열을 출력할 때 왼쪽, 오른쪽 정렬하는 방법에 대해서 간략하게 정리합니다. 오른쪽 정렬은 rjust 라는 함수를 사용하고, 왼쪽 정렬은 ljust 라는 함수를 사용하면 됩니다. 예를 들어서 다음과 같은 조건이 있다고 하면. 1. 문자열 a에 값 "123"이 입력되어 있음 2. 문자열 a를 크기가 10인 문자열로 만들고, 오른쪽으로 정렬하고 싶음 이때 사용할 수 있는 함수는 rjust가 되겠죠. 간단하게 소스로 나타내보면 다음과 같습니다. a = "123" print a.rjust(10) 결과 = ' 123' rjust와 ljust는 정렬해주는 것이 주요 기능이지만, 정렬할 때 생성되는 공간을 공백(space)이 아닌 다른 값으로 채울 수 있습니다. 위와 같은 조건에서 오른쪽 정렬할.. 더보기
파이썬 basic - 폴더 리스트 (folder list) 파이썬 소스코드를 통해서 간단하게 폴더 리스트를 출력하고자 하신다면, 다음과 같이 하면 됩니다. import os for i in os.listdir("path"): print i os.listdir 이라는 것을 통해서, 간단하게 할 수 있다는 것이구요. 위와 같이 하시면 path안에 있는 파일 및 폴더의 이름이 출력되죠. 하지만 위와 같은 코드는 서브 폴더의 파일 이름을 보여주지는 않죠. https://docs.python.org/2/library/os.html 위 주소를 참고하시면, 모든 폴더를 돌면서, 파일 이름을 출력하는 예제가 존재합니다. os.walk(top, topdown=True, onerror=None, followlinks=False) os 패키지에 walk라는 함수에 들어가는 인자들인.. 더보기
MongoDB 외부에서 접근 가능하도록 설정 MongoDB는 기본적으로 127.0.0.1 즉 로컬에서만 접속가능하도록 설정되어 있습니다. 개발하다보면, 다른 서버에서도 MongoDB에 접속해서 데이터 입력, 수정, 삭제, 받아오기 등을 처리해야 하죠. 간단하게 설정할 수 있습니다. vi로 /etc 아래 있는 mongod.conf 파일을 열어주세요. vi /etc/mongod.conf 아래와 같이 기본설정은 bind_ip에 로컬이 들어가 있습니다. bind_ip = 127.0.0.1 이것을 0.0.0.0 으로 변경해주면, 다른 어느 곳에서나 접속이 가능하도록 변경됩니다. bind_ip = 0.0.0.0 보안이나, 다른 이유로 특정 ip만 허용하고자 하신다면 아래와 같이 설정하시면 됩니다. bind_ip = 127.0.0.1, 12x.12x.12x.1.. 더보기
MongoDB GUI - robomongo 이번 포스팅에 앞서서 Python으로 MongoDB에 관련된 기본적인 처리를 정리한 포스팅을 작성한 적이 있습니다. Python - MongoDB 활용 001 (커넥션, Insert) : http://ngee.tistory.com/335 Python - MongoDB 활용 002 (update, collection list) : http://ngee.tistory.com/336 Python - MongoDB 활용 003 (find) : http://ngee.tistory.com/339 Python - MongoDB 활용 004 (remove) : http://ngee.tistory.com/340 Python - MongoDB 활용 005 (find_one) : http://ngee.tistory.com/.. 더보기
Python - MongoDB 활용 005 (find_one) Python - MongoDB 활용 001 (커넥션, Insert) : http://ngee.tistory.com/335 Python - MongoDB 활용 002 (update, collection list) : http://ngee.tistory.com/336 Python - MongoDB 활용 003 (find) : http://ngee.tistory.com/339 Python - MongoDB 활용 004 (remove) : http://ngee.tistory.com/340 위 포스팅에 이어서 계속 작성합니다. find_one find_one은 collection에서 가장 첫 번째 데이터를 찾아주는 것이네요. 이전 포스팅에서 insert, remove를 수행해서, 현재 collection에는 0~.. 더보기
Python - MongoDB 활용 004 (remove) Python - MongoDB 활용 001 (커넥션, Insert) : http://ngee.tistory.com/335 Python - MongoDB 활용 002 (update, collection list) : http://ngee.tistory.com/336 Python - MongoDB 활용 003 (find) : http://ngee.tistory.com/339 Python - MongoDB 활용 004 (remove) : http://ngee.tistory.com/340 현재 포스팅 Python - MongoDB 활용 005 (find_one) : http://ngee.tistory.com/344 위 포스팅에 이어서 계속 작성합니다. remove remove 함수는 원하는 데이터를 지워주는 역.. 더보기
Python - MongoDB 활용 003 (find) Python - MongoDB 활용 001 (커넥션, Insert) : http://ngee.tistory.com/335 Python - MongoDB 활용 002 (update, collection list) : http://ngee.tistory.com/336 Python - MongoDB 활용 003 (find) : http://ngee.tistory.com/339 현재 포스팅 Python - MongoDB 활용 004 (remove) : http://ngee.tistory.com/340 Python - MongoDB 활용 005 (find_one) : http://ngee.tistory.com/344 위 포스팅에 이어서 계속 작성합니다. find find 함수는 데이터베이스에서 내가 원하는 데이터.. 더보기
Python - MongoDB 활용 002 (update, collection list) Python - MongoDB 활용 001 (커넥션, Insert) : http://ngee.tistory.com/335 Python - MongoDB 활용 002 (update, collection list) : http://ngee.tistory.com/336현재 포스팅 Python - MongoDB 활용 003 (find) : http://ngee.tistory.com/339 Python - MongoDB 활용 004 (remove) : http://ngee.tistory.com/340 Python - MongoDB 활용 005 (find_one) : http://ngee.tistory.com/344 위 포스팅에 이어서 계속 작성합니다. update collection.update({"number".. 더보기
Python - MongoDB 활용 001 (커넥션, Insert) MongoDB는 NoSQL 데이터베이스 중에 하나로 여러 곳에서 사용되고 있는 것 같네요. 저도 간단한 프로젝트에서 주로 MongoDB로 사용자 관리 등을 처리하고 있습니다. 오늘은 Python으로 MongoDB를 활용하는 포스팅을 간단하게 하려고요. 아래 내용은 MongoDB를 설치하셨다고 가정하고 작성하겠습니다. 일단 몇 가지 웹 페이지를 링크합니다. 1. MongoDB Homepage: https://www.mongodb.org/‎ 2. MongoDB Drivers: http://docs.mongodb.org/manual/applications/drivers/ 3. PyMongo site: http://api.mongodb.org/python/2.7rc0/ MongoDB는 여러 프로그래밍 언어를 통.. 더보기
RabbitMQ - MQTT Plugin 문제 조금한 프로젝트를 진행하는 것이 있어서, RabbitMQ의 MQTT Plugin을 사용하던 중에 문제가 있어서 짧은 포스팅으로 관련 내용을 나누고자 합니다. 문제 1. QoS Level 2 미지원 - 이건 머 큰 문제라고 볼 수는 없겠죠. 문제라기 보다는 아직 QoS Level 2를 지원하지 않는 다는 것입니다. 혹시 QoS Level 2를 반드시 사용해야 하는 경우라면 다른 Broker Server를 찾아보시는 것이 좋을 것 같네요. 문제 2. Retain 정상 작동 안됨 - 이건 좀 문제긴 하죠. Retain이 제대로 안되더라구요. 즉 Publish 간격이 매우 긴 경우에 문제가 발생하는 것이죠. Publish 1과 Publish 2 사이에 Subscription이 발생해도, Subscriber에게 .. 더보기
파이썬 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.. 더보기
rabbitmq log view (로그 보기) rabbitmq log를 보려면요. 간단하지만, root 권한에서 tail로 찍어보면 되겠죠. tail -f /var/log/rabbitmq/*.log 위와 같이 하시면 계속 로그가 올라오는 것을 확인 하시면서 작업 하실 수 있습니다. 더보기
Error: pika.adapters.base_connection error - No handlers could be found for logger "pika.adapters.base_connection" 위와 같은 에러가 나신다면, 아마도 rabbitmq 3.3.0 이상으로 업그레이드 하신 상태겠죠. rabbitmq 3.3.0 의 default user는 guest 인데요. 위와 같은 에러는 guest는 로컬 환경만 지원해주니깐, 발생하는 에러 중에 하나입니다. 제가 이전에 작성한 포스트를 참고하셔서, guest -----> your_id 로 변경해주세요. RabbitMQ - Management Plugin (Ubuntu) - http://ngee.tistory.com/313 RabbitMQ - default user change - http://ngee.tistor.. 더보기
RabbitMQ - default user change 지난 번 포스트에서 말씀드린 default user를 바꾸는 방법에 대해서 작성합니다. 1. default user 바꾸기 자 조금 귀찮은 부분이니깐요. 잘 따라오세영 일단은 새로운 user를 콘솔 상에서 추가해주도록 하겠습니다. 저는 bbb 라는 사용자를 추가해보려고 해요. 캬. 다음 명령어로 하실 수 있어요. 물론 루트(root) 권한에서 사용방법: rabbitmqctl add_user username password 그래서 저는 이렇게 해줬어요. rabbitmqctl add_user bbb 123123 추가한 사용자의 태그를 붙여 줍시다. 사용방법: rabbitmqctl set_user_tags tag tag 종류는요. management, policymaker, monitoring, adminis.. 더보기
RabbitMQ - Management Plugin (Ubuntu) 리눅스(Linux) 우분투(Ubuntu)에서 RabbitMQ를 설치하는 것은 이전에 포스팅 한 적이 있습니다. 아래 포스팅을 참고하시면 됩니다. RabbitMQ 설치 - http://ngee.tistory.com/235 RabbitMQ - MQTT Plugin - http://ngee.tistory.com/301 이번에는 Management Plugin을 활성화시키고, 접근하는 방법에 대해서 간략하게 작성해보려고 합니다. 당연하게도 RabbitMQ를 잘 설치하셔야 아래 내용이 가능하겠죠? :) 1. RabbitMQ - Management Plugin 활성화 시키기 Management Plugin은 RabbitMQ를 설치하실 때 자동으로 특정 폴더에 풀려있긴 합니다. 우리는 이것을 활성화만 시켜주면 되는 .. 더보기
파이썬 baisc - xml parsing(파싱) 파이썬에서 xml parsing 하는 방법은 매우 다양하죠. 어떤 라이브러리를 쓰느냐에 따라서, 코딩 내용도 조금은 달라질 것이구요. 이번 포스팅에서는 ElementTree 라이브러리를 이용해서 xml parsing 하는 방법에 대해서 간략하게 작성해보려구요. 1. ElementTree 라이브러리 설치 일단 ElementTree가 설치되어 있어야 하겠죠? 저는 pip를 이용한 설치를 추천드립니다. 혹시 pip를 설치가 되어 있지 않다면, apt-get install python-pip 로 설치하세요 (물론 root 권한에서요) ElementTree 설치는 아래와 같아요.root 권한에서 pip install elementtree 2. XML 파싱 ElementTree 라이브러리를 설치했으니, 모듈을 불러.. 더보기