[Python] requirements.txt 또는 setup.py에서 조건 정보에 따른 모듈 설치
By 지훈현서 | 2020년 7월 8일 |
오랫만에 파이썬 관련 정보를 올립니다. 다름이 아니라, 어떤 파이썬 모듈을 작성하는데,보통은 Windows, Linux, Mac 등에 모두 동작하는 파이썬 모듈을 작성합니다.(파이썬 인터프리터가 시스템 의존적인 정보를 모두 은닉하고 있기 때문에 가능한 일이지요) 그런데 때로는 이러한 정보가 특정 파이썬 버전 혹은, 시스템 플랫폼에 따라 조건적으로 의존 패키지를 설치할 필요가 생깁니다. 한 예로, 시스템의 모니터 정보를 구해오는 스크린인포 (screeninfo) 라는 모듈이 있습니다. 보통 이런 시스템 정보는 OS 에 따라서 각기 드라이버 등등구해오는 방법이 다르기 때문에 플랫폼에 따라 서로 다른 의존 패키지를 설치해야 합니다. 위의 screeninfo 의 설치파일인 setup.py 의 소스를 보면,
[Docker] 로그 rotate
By 지훈현서 | 2017년 4월 27일 |
리눅스에서 Docker 로 컨테이너를 구성하고 컨테이너의 STDOUT 내용은/var/lib/docker/containers/*/*.log 라는 이름으로 저장됩니다. 문제는 특별한 조치를 취하지 않으면 계속해서 해당 로그 파일에 큰 로그 파일이 찰 수 밖에없는 것이지요. 이것을 logrotate 기능을 이용하는 방법입니다. $ sudo vi /etc/logrotate.d/docker-container/var/lib/docker/containers/*/*.log { rotate 7 daily compress size=1M missingok delaycompress copytruncate} 위와 같이 docker 컨테이너의 로그를 위한 설정을 지정합니다. rotate 7 : 최대 log.1,
[Docker] 컨테이너의 로그 크기 조절
By 지훈현서 | 2020년 5월 20일 |
예전에 docker 로그의 logroatate에 관하여 살펴본 적이 있습니다만,더 좋은 방법이 없을까 최근에 찾아보니 이미 몇년 전에 해당솔루션들이 있더군요. 이용 방법은 로그 드라이버 지정 및 옵션 설정입니다. "JSON File logging driver" 참조이용하는 방법은 다음과 같습니다.상세 항목 및 값은 위의 링크를 참조합니다. 1) daemon.json 전체 docker 설정하는 경우 리눅스의 /etc/docker 또는 윈도우의 C:\ProgramData\docker\config\ 에 daemon.json 에 다음과 같이 지정합니다. { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3
[라즈베리파이] Soft IRQ 서비스는 누가 언제 처리하나?[1]
By Guillermo Austin Kim | 2018년 7월 11일 |
![[라즈베리파이] Soft IRQ 서비스는 누가 언제 처리하나?[1]](https://img.zoomtrend.com/2018/07/11/c0246238_5b2f2147d745f.png)
이제 Soft IRQ 기법의 하이라이트인 Soft IRQ 서비스를 처리하는 흐름을 살펴볼 차례입니다. Soft IRQ 서비스는 언제 처리할까요? 아래 Soft IRQ 전체 흐름도와 같이 인터럽트 핸들러를 처리하는 인터럽트 서비스 루틴이 끝나는 시점에 Soft IRQ 서비스 처리를 시작합니다. 그래서 Soft IRQ 서비스 처리를 시작하는 코드를 점검하려면 인터럽트 서비스 루틴이 끝나는 코드부터 확인해야 합니다. 이번 절에서는 Soft IRQ 전체 흐름도에서 볼드체로 된 부분을 점검할 예정이니 눈여겨보세요. 인터럽트 서비스 루틴이 끝나는 코드가 __handle_domain_irq 함수에서 실행하니 우선 이 함수부터 분석해야 합니다. 같이 볼 코드는 다음과 같습니다. 1 int __handle_domai