IT/파이썬 2021. 1. 28.
파이썬 리소스 파일 py 파일로 변환하기 - pyside2 rcc
qrc 파일이라고, 프로젝트에 쓰이는 아이콘 파일들의 정보를 저장하는 파일이 있다. 형태는 대략 아래와 같다. (실제 파일은 프로젝트 폴더 밑에 icons 폴더 아래에 두면 되겠죠? :) ) icons/play.png icons/pause.png icons/stop.png 이를 python code에서 불러 쓰기 위해 uic 로 ui 파일 변환해서 쓰듯이 rcc 로 리소스 파일을 py code 로 변환해서 사용해야 한다. (pyside2를 사용하고 있으므로 rcc 명령이름은 pyside2-rcc 네요.) pyside2-rcc icons.qrc -o rc_icons.py 그리고 사용할 파이썬 코드 위에 import 해서 사용하면 된다. import rc_icons stopIcon = QIcon(QPixma..
IT/DB 2021. 1. 27.
MongoDB Compass 이용시 연결 문자열 MongoDB GUI 도구
요거요거, 간단한데 갑자기 생각이 안나서 찾아본다. mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin 간략하게는 아래 내용보고 자신에게 맞게 수정해서 쓰면 된다. mongodb://아이디:패스워드@MongoDB서버주소:포트넘버/ 아니면 정보를 넣는 화면을 띄워서 접속해도 된다. 아래 글을 참고하세요. fici.tistory.com/17 MongoDB) MongoDB GUI 도구 : MongoDB Compass MongoDB Compass는 MongoDB를 분석하는데 쓰이는 GUI 환경의 클라이언트이며, 공식 MongoDB에서 배포하고 있습니다. 저는 가벼운 작업(쿼리 테스트, DB 데이터 확인 등)을 ..
IT/파이썬 2021. 1. 27.
파이썬 Qt Designer 로 원 모양 진행바 만들어보기
QFrame 배경에 원모양의 색깔이 진행처럼 보이게 배경 프레임을 하나 만들어야 한다. 이걸 위해서 qconicalgradient() style 을 이용하는데, 간단하게 나중에 기억나도록만 요점 정리 일단 유튜브 보고 따라 해보니 아래와 같은 스타일 코드가 나오게 된다. 일단 전체 프레임 하나 놓고, 사이즈는 220 으로 하고 안에 또 프레임 하나 더 놓고, 사이즈는 200 으로 해서 가운데 둔다. 사이즈가 중요하다. 둥근 원으로 보이게 하려면 이 사이즈의 반 사이즈로 border-radius 를 적어두면 된다. 아래 예제는 100으로 하면 된다. QFrame { border-radius:100px; background-color: qconicalgradient(cx:0.5, cy:0.5, angle:9..
IT/파이썬 2021. 1. 26.
파이썬 flask mongodb document count 리턴해주기
이 간단한 것도 많이 찾아봐야 하네. 일단 몽고db collection에 있는 검색된 결과의 count를 가져오려면 그냥 .count() 함수를 부르면 되네. 이 결과를 JSON 형태의 리턴을 위해서는 flask 에 있는 jsonify 함수를 쓰면 되고 머 요청된 url 에 "/count" 라고 어미를 달고 들어오면 숫자를 넘겨주고 아니면 다큐먼트 객체들을 JSON으로 변경해서 돌려주는 코드 예제가 되겠다. search = "/count" if search in request.path: return jsonify(count=Result.objects.filter(orderitem=orderitemid).count()) else: result = Result.objects.filter(orderitem=o..
IT/파이썬 2021. 1. 25.
파이썬 flask post 받은 데이터 REST API 로 재 호출하기
웹페이지 폼데이터로 데이터 입력을 받은 이후에, 이미 만들어 놓은 REST API 서버(게이트웨이)에 해당 url를 호출하여 처리하고 싶다. 코드를 여러개 찾아보다가 아래와 같이 성공. 일단 request.form.to_dict() 함수로 form 데이터를 dict 형태로 가져온다음 requests.post 함수를 이용하여 재 호출 한다. 이때 매개변수에 json = dict 변환 객체 를 넣어주는 것이 키가 되겠다. 접속되는 서버의 주소가 변경될 수도 있으니 request.url_root 를 이용해서 접속 url 문자열을 만들어 주는 것도 주의깊에 보자. task = request.form.to_dict(flat=True) # Create a new resource print(request.url_ro..
IT/파이썬 2021. 1. 25.
파이썬 requests 로 POST PUT 처리하기 - Form 데이터 보내기
파이썬 코드로 폼 데이터를 보내 처리하려면, pip install requests 를 통해 requests 를 설치해야 한다. 접속해서 POST, PUT을 처리하는 예제 코드는 아래와 같다. params = { "param1": "test1", "param2": 123, "param3": "한글" } res = requests.post("http://127.0.0.1:5000/handle_post", data=json.dumps(params)) return res.text apt-info.github.io/%EA%B0%9C%EB%B0%9C/python-flask3-post/ (python) flask 3. Post 요청 처리 지난 시간에 이어 Flask로 Post 요청을 처리하는 방법에 대해 알아보겠습니..
IT/파이썬 2021. 1. 25.
파이썬 상속 구조 확인 - 상속된 순서를 보여주는 함수
요건 팁으로 따로 저장한다. 나중에 이것만 찾기는 힘드니 정답은 짠짠 xxxx.mro() 원본 글은 아래에 있다. teddylee777.github.io/python/python-inheritance Python 클래스의 상속 (inheritance) Python 클래스의 상속 (inheritance) 방법에 대하여 알아보겠습니다. teddylee777.github.io 상속 구조 확인 상속의 구조는 클래스명.mro()로 확인할 수 있습니다. 구조는 상속 받은 순서대로 표시됩니다. 모든 class는 object를 상속받기 때문에 항상 object가 마지막에 표기 됩니다. Student.mro() [__main__.Student, __main__.Person, object] BJ. Cole Keister ..
IT/파이썬 2021. 1. 25.
파이썬 람다 함수 - lambda inline function
파이썬 소스 코드에서 lambda 라는 문구가 뵈길래, 또 찾아봄 간단하게 말하면 inline 함수같은 모양새네.. 문법은 lambda [매개변수 리스트] : [구문들...매개변수를 여기서 활용하는 간략한 코드] (lambda x,y: x + y)(10, 20) >> 30 파이썬의 다양한 기능과 합쳐져서, 강력하게 쉽게 사용할 수 있는 예제를 다양하게 찾아볼 수 있다. 겸사 map, filter, reduce 함수 같은 것도 배우자. 많은 소스들 중에서 아래 링크에서 정보를 획득하도록 하자. 잘 정리된 것만 여기에 올린다. ㅋㅋ 원본 링크 글에 많이 가셔서들 보세요. 여기 아래는 내가 나중에 이해가 쉽도록 간략하게 몇개만 가져옴. teddylee777.github.io/python/lambda-map-f..
IT/리눅스 2021. 1. 22.
우분투 리눅스 SSH 접속하기 - 윈도우 환경에서 SSH Key 방식 접속
로그인할때 마다 패스워드 입력하는 거 귀찮기도 하고, SSH RSA 키 방식으로 접속하면 한 번 세팅 이후에 편리해서 시도해 보기로. 먼저 윈도우 환경에 putty 를 설치하면 같이 들어 있는 PuTTYgen을 실행 시키고 아래 버튼 중 Generate 를 누른다. 막 마우스를 옮겨 다니면 랜덤 좌표를 이용해서 키를 하나 만들어 준다. 100% 까지 완성되면 아래와 같이 키가 생성된 창을 볼 수 있다. 생성된 public 키 부분의 텍스트를 열심히 긁어서 일단 아무 파일에 저장해두고, 아래 Save private key를 눌러 자신의 비밀키를 원하는 위치에 저장한다. 창이 뜨면 그냥 확인 누르고 진행하면 된다. 이제 윈도우의 키 준비는 완료된 셈이다. 서버로 가서 아까 복사해둔 공개키 텍스트를 서버에 어..
IT/파이썬 2021. 1. 20.
파이썬 - Flask 모듈을 Gunicorn 을 이용하여 Nginx 에 연동하기 - WSGI 서버
Flask 를 이용해서 파이썬 서비스를 개발했다. 그런데, 실행을 시켜보면 WSGI 서버를 사용해라는 경고가 떡하니 불안하게 만드네... WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. 요는 개발 단계에서 테스트로 flask 서버를 이용해도 무방하지만, 실제 배포 서비스 개시하는 production 단계에서는 WSGI 서버를 사용해라는 것이 요지이다. 아파치나 Nginx 서버에 연동해서 이 flask 모듈을 자동으로 불러 줄 수 있도록 설정해야 한다. 먼저 WSGI 를 설정하려고 찾아보다가 지-유니콘 이라는 모듈을 쓰면 아주 쉽고 성능도 괜찮게 쓸 수 있다는..
IT/파이썬 2021. 1. 20.
파이썬 flask 설정 값 읽어오기 - 파일에서
python flask 실행시에 설정 값을 파일에서 읽어오도록 설정, app.config.from_pyfile('파일명') from_envvar(variable_name) 있던데, 이 예제는 많이 있더라. 구글에서... 실제 설정 파일에는 아래처럼 변수=값 형태로 정보를 저장해 두면 된다. TESTING=False DEBUG=True 실제 mongoDB 설정값을 저장해 둔 예제를 가져와보면 파일 속에, MONGODB_SETTINGS = { # 'host': 'mongodb://localhost/DB이름' # 이런식으로 간단하게 하거나, 아래 처럼 'db': 'DB이름', 'host': '접속IP', 'port': 27017, #접속포트 'username':'아이디', # 접속 권한 아이디 'passwor..
IT/리눅스 2021. 1. 20.
우분투 리눅스 방화벽 설정하기 - ufw 설치 설정
포트가 계속 열리고, 간단하게 테스트하기 위해 코드를 오픈하고 접속하려니 방화벽 설정을 건드리는 부분이 많다. 윈도우는 그냥 어디에 있는 프로그램 띄워서 눈으로 보고 막 해도 되는데, 리눅스는 쩝... 무튼 간단하게 포트 설정을 오픈하고 닫고 할 수 있어서 다행이긴 하다 > sudo ufw enable > sudo ufw disable > sudo ufw reset SSH 포트 열기 sudo ufw allow 22 sudo ufw deny 22 서비스명으로 열기 / 닫기 sudo ufw allow ssh 서비스명은 아래 명령어로 살펴볼 수 있다. less /etc/services 룰 삭제 sudo ufw delete deny 22 아이피 룰 추가 sudo ufw allow from 192.168.0.10..