본문 바로가기
반응형

전체 글127

디렉토리 용량 구하기 du /path/to/calc 2020. 12. 10.
Fabric 을 이용하여 쉽고 편한 배포하기 파이썬 프로젝트를 배포할 때 우분투 서버에 직접 접속하여 git pull, 서비스 종료, 서비스 시작 등의 커맨드를 일일이 치는 것보다, 뭔가 스크립트 하나로 쉽게 배포하면 얼마나 좋을까를 고민할 때 쓸 수 있는 파이썬 패키지로 fabric이 있다. fabric을 사용하면 서버에 ssh 접속을 하지 않아도, 스크립트가 알아서 ssh 접속을 한 뒤 미리 정의해둔 명령어들을 자동으로 입력해준다. from fabric.api import * env.roledefs = { 'dev': ['user@dev-example.com',], 'release' : ['user@example.com',] } @roles('dev') def dev(): deploy("dev") @roles('release') def rele.. 2020. 12. 10.
Hyperledger Study (2) - Hyperledger Fabric with Composer Hyperledger Composer hyperledger composer(이하 컴포저)는 초보자가 패브릭을 좀 더 쉽게 사용할 수 있도록 도와주는 툴이다. 패브릭을 이용하기 위해서는 어려운 개념 습득들이 필요하고, 각 요소마다 각종 명령어를 구사해야 하기 때문에, 시작하기가 어려운 편인데 패브릭을 활용하면 조금 더 쉽게 hyperledger 구성을 할 수 있다. 컴포저 튜토리얼 링크: https://hyperledger.github.io/composer/latest/tutorials/developer-tutorial 튜토리얼은 Window PC에서 VMWare를 활용하여 우분투 16.04(hyperledger fabric 추천 OS) 에서 진행했다. Installation Install for Pre-.. 2020. 12. 10.
Hyperledger Study (1) - Intro. 비트코인, 이더리움이 한창 유행하고 있을 때 리눅스 파운데이션에서 Hyperledger 오픈소스 프로젝트를 시작했다. 인텔, IBM등 전 세계 IT 업계의 큰 손들도 이 프로젝트에 전념하고 있는데, Hyperledger 프로젝트의 목표는 블록체인 기술을 각종 분야(농업, 건강, 의료, 무역 등)에 널리 활용하는 것이다. 오픈소스 프로젝트이니만큼 아래 그림처럼 프레임워크도 가지각색인데, 가장 널리 이용되는 프레임워크는 Fabric(패브릭) 으로, Hyperledger의 기본적인 기능들을 포함하기 때문에 가장 제너럴하게 활용할 수 있는 장점이 있다. Hyperledger 는 일반적으로 알고 있는 암호화폐가 기반이 되는 퍼블릭 블록체인과는 엄연히 다른데, 가장 큰 특징으로는 암호화폐를 사용하지 않는다. (억지.. 2020. 12. 10.
uWSGI listen queue of socket ... full !!! (100/100) Ubuntu 16.04 에서 만든 uwsgi 서비스가 돌연 *** uWSGI listen queue of socket ":5050" (fd: 6) full !!! (101/100) *** 와 같은 메시지를 뿜으며 모든 요청이 블락되는 경우가 있다. (101/100) 로 미루어보아, 현재 큐 101 가 최대 큐 100 사이즈를 초과하면서 생긴 문제다. 최대 큐 사이즈는 uwsgi 실행시 --listen {큐사이즈} 로 설정하여 늘려줄 수 있다. 그러나 net.core.somaxconn 값보다 큐 사이즈를 크게 할 수 없으므로, 우선 이 값의 맥스 커넥션부터 키운다. sudo sysctl net.core.somaxconn=1024 그 다음 uwsgi 실행을 할 때, /usr/local/bin/uwsgi --.. 2020. 12. 10.
Django SQL performance checking & Slack notification django 에서 한 view 내에서 사용되는 쿼리의 성능 체크를 라이브에서 하고 싶을 때 간단하게 signal callback 을 이용하여 쿼리타임을 계산하고, 일정 threshold 값 이상인 경우 슬랙 노티를 보내는 기능을 구현한다. import requests from django.db import connection @receiver(request_finished) def monitor_db_connection(sender, **kwargs): def send_slack_message(query, timer): slack_message = { 'channel': '#{channel_name}', "text": '*Elapsed Time*\n{} sec\n*Query*\n```{}```'.form.. 2020. 12. 9.
반응형