본문 바로가기

전체 글274

Python - Http Retry 및 while 을 통한 반복문 요즘 REST API 참으로 많이 사용된다. 그런데 HTTP 호출을 사용하다보면, 받아주는 서버가 정상적으로 회신을 주지 않는 경우가 있다. 이러한 경우 어떻게 조치하는게 좋을지 Python에서 제공하는 모듈과 일반적인 방법에 대해서 정리해 본다. 1. while 문 사용 가장 일반적으로 사용되는 방식은 while 문을 이용한 특정 조건이 완료될 때 까지 반복 하는 방법이다. while 문 내에 아래와 같이 1이 나올 때까지 실행하는 방식으로 조건이 완료될 때까지 실행할 수 있다. import random while True: number = random.randint(0,1000) if number == 1: print('Bingo') break else: print(number) 이를 조금 웹 코드에.. 2021. 6. 16.
BoB 10기 모집 - 2021년 6월 4일 마감 BoB 10기를 모집하고 있습니다. 6월 4일... 이번주가 모집 마지막주인듯 싶다. 강철부대에서 각 부대별로 서바이벌을 하는 모습을 통해 그룹의 힘이 사명감과 동기에 엄청난 위력을 발휘됨을 알 수 있다. BoB 의 화이트 해커로 출발하는게 강철부대처럼 계속 보안인으로써 여러 의미를 부여해줄 것이다. 자세한 내용은 아래 모집 안내를 참고하기 바란다. 충성!!! https://www.kitribob.kr BEST OF THE BEST 차세대 보안리더 양성 프로그램 Best of the Best 홈페이지에 방문하신 여러분들을 환영합니다. www.kitribob.kr 2021. 5. 27.
Python - subprocess, Popen, call차이 그리고 WorkDirectory 변경 Python에서 실행중 추가로 프로그램을 실행해야 하는 경우가 발생할 경우 subprocess 모듈을 이용해서 사용할 수 있다. 아마 이모듈을 사용할 때 가장 많은 찾아보게 되는 부분이 Popen과 Call의 차이 그리고 WorkDirectory 변경일 것 같다. 그럼 핵심만 간단히 정리해 보자. Popen 과 call의 차이점 Popen과 call의 가장 큰 차이점은 바로 결과를 기다릴 수 있는 구조인가 이다. 실제로 call은 Popen을 감싼 구조라고 할 수 있다. 즉 Popen으로 실행한 프로그램을 실행을 기다렸다가, 실행이 완료되었을 때 결과를 받을 수 있는 것이 call인것이다. 따라서 실행 결과를 기다릴 필요가 없다면, Popen을 사용하고, 실행 결과를 대기하였다가 확인해야 하는 경우 ca.. 2021. 5. 24.
Mac - 사운드 출력 변경하기 HDMI로 모니터를 연결해서 사용하다 보면 출력 사운드가 변경되는 경우가 발생한다. 이유는 HDMI는 음성을 출력하는 기능도 가지고 있기 때문에, 사운드 출력을 원하는 장치로 다시 변경해야 한다. 보통 이럴때 위젯 같은것이 있으면 좋지만, 기본적으로 변경할 수 있는 방법은 다음과 같다. 1. 시스템 환경설정 -> 사운드를 통한 조정 우선 출력 사운드를 변경하고자 한다면, 설정을 클릭한다. 이후 사운드 아이콘을 클릭하면 사운드를 제어할 수 있는데, 출력 텝을 클릭하여 원하는 장치로 조정이 가능하다. 2. 메뉴 막대 볼륨 바로 가기를 통한 조정 Mac에서는 메뉴 막대의 볼륨 아이콘을 통해 출력기기를 바로 조정할 수 있다. 만약에 메뉴 막대에 볼륨 아이콘이 보이지 않는다면, 1번 항목의 시스템 환경설정 -> .. 2021. 5. 18.
Linux 파일 안의 내용 검색하기 가끔 리눅스에서 파일이름을 찾거나 파일내 내용을 검색해야하는 경우가 있다. 파일 이름을 찾는 것을 find로 쉽게 가능하지만 파일 내용을 찾는것은 머리로 기억하기에는 무리가 있어 남겨본다. 검색하는 방법은 먼저 -name 키워드로 찾고자하는 파일 이름을 입력한다 그후 exec 옵션을 이용해서 특정 문구를 파일 내에서 검색할 수 있다. 마지막이 {} \;를 넣어주면 검색하는 문구를 포함하는 열을 찾게 된다. find /was_log/* -name '*20110208*' -exec grep 121.125.69.12 {} \; find /logs/weblogs/newgaweblog/ -name '*20210208*' -exec grep 121.125.69.12 {} \; find /data/webdata/ba.. 2021. 5. 5.
Python - sqlalchemy bigint 사용한 id 값 고려 Python 의 기본 ORM 을 사용한다면, id 필드를 통한 unique 값 생성이 기본이다. 기본값은 INT인데, INT로 생성할 경우 최대 생성 가능한 컬럼이 2,147,483,647 까지 가능하다. 만약 이값을 넘어간다면, 추후 BIGINT로 변경하는 것을 고려해야 한다. 따라서 되도록 초기 구성시 INT보다 큰 값을 제공하는 BIGINT를 이용하기를 추천한다. https://docs.sqlalchemy.org/en/14/core/type_basics.html Column and Data Types — SQLAlchemy 1.4 Documentation A type for fixed precision numbers, such as NUMERIC or DECIMAL. This type returns.. 2021. 5. 4.