지훈현서
Posts
345 posts[pyenv] macos Big Sur 문제
Big Sur 가 오랫동안 유지되던 10.xx 에서 드디어 11 대로 판올림이 되었습니다.아마도 ARM 과 Intel 이 공존하는 OS 라 설치 버전도 기존의 두배가 넘는 거의 12G 정도 되었고 여러 다른 변화가 있었을 것인데 이전 하드웨어에서 벽돌이 된다는 보고도 꽤 있었던 것같습니다. 다만 저는 불행 중 다행이랄까 작년에 미국출장 때 2014 맥북프로를 도둑맞고 구입한 2019맥북프로라 큰 이상없이 잘 올라갔지만, 몇가지 문제점 들이 발겨되었는데,그 중 하나는 pyenv의 install 이 제대로 안된다는 것이었습니다. (이전 pyenv 에 대한 설명) 구글링을 하고 몇차례 시도를 하였는데 계속 오류가 발생했습니다.. 오류 메시지는 우선, SYSTEM_VERSION_COMPAT=1 pyenv
[Ubuntu] docker 이미지 build 시 DNS resolve 문제
Ubuntu 18.04 Desktop 버전에서 docker 를 설치하고,배치 작업으로 apt-get install 작업을 하려고 하는데, 위와 같이 "Temporary failure resolving 'deb.debian.org'" 와 같은 오류가 나옵니다.분명히 우분투 안에서는 아무런 이상이 없습니다. 구글링을 해 보니, $ docker run busybox nslookup google.comUnable to find image 'busybox:latest' locallylatest: Pulling from library/busybox5f5dd3e95e9f: Pull completeDigest: sha256:9f1c79411e054199210b4d489ae600a061595967adb643cd923f
[Python] subprocess 실행 시 timeout 적용하기
파이썬으로 다른 서브프로세스를 실행시킬 때 지금껏 12년 동안, subprocess.Popen(...)을 이용하여 왔었습니다. 그런데 만약 이 프로세스를 돌리다가 별도 timeout을 지정하고 싶다는 생각을 했는데 Popen 자체에는 해당 timeout 을 지정하는 곳이 없습니다. 대신, proc = subprocess.Popen(...)try: outs, errs = proc.communicate(timeout=5)except TimeoutExpired: proc.kill() outs, errs = proc.communicate() 또는 proc = subprocess.Popen(...)try: proc.wait(timeout=5)except TimeoutExpired:
[윈도우] 특정 포트 (UDP 포함) 가 열려 있는지 체크
지금까지 일반적으로 리눅스 등에서는 netcat 명령을 이용하여 특정 TCP 포트가 열려있는지 체크 했었습니다. 위와 같이 nc 명령 다음에 -zv 옵션을 주고 IP 주소와 포트 번호를 주면 해당 포트가 열려있는지 조사하여결과를 알려줍니다. -u 옵션을 더 주면 TCP 대신 UDP 를 스캔합니다. nc -zuv 10.211.55.28 161위 명령은 10.211.55.28 호스트에 161 UDP포트 (SNMP) 가 떠 있는지 확인하는 것입니다. 일반적인 batch 파일에서는 $? 로 수행 결과가 0 이면 성공 아니면 실패라고 인식하고 진행합니다. 물론 윈도우용 netcat 을 다운받아 CMD.EXE에서 해 보았습니다만, 두번 인가 돌리고 나서는 윈도우 디펜더가 자동으로 해당 nc.exe를 지워버리더
[Python] SOAP 서비스를 간편하게
30년 전도 전에 처음 개발을 시작할 당시,서로 다른 두 대의 시스템에서 원격호출을 할 때는 ON C RPC를 이용했었습니다.MS의 DCE RPC 이후 COM, COM+ 등이 나왔고,그 이후 CORBA가 나오기도 했었지요.한참 세월이 흐르고 Web이 대세가 된 다음 SOAP 이 원격 호출로 대세를 이루었습니다. 요즘이야 JSON으로 주고 받는 RESTful API 가 대세이지만, 바로 그 이전 서비스들은이 SOAP로 되어 있는 것들이 많습니다. 특히 JSON 대신 XML 로 자료를 주고받고,스키마는 wsdl 로 정의되어 있지요. 몇년 전에 이 SOAP 을 파이썬에서 이용하기 위해서 약 10년도 더 된모듈을 까다롭게 이용했던 것 같은데, 최근에 살펴보니,zeep 이라는 아주 편하고 잘 정의된 SOAP 이용


