본문 바로가기
반응형

분류 전체보기90

PySide6 Qtdesigner로 만든 UI를 파이썬 파일로 만들기 만들어둔 ui를 파이썬 파일로 변경 pyside6-uic [파일이름.ui] -o [저장할파일이름.py] 2023. 7. 12.
가상 환경 설정하기 가상 환경 python의 virtualenv와 같이 node.js도 파이썬을 이용하면 가상 환경을 설정할 수 있다. node.js 가상 환경을 설정하려면 python을 이용하여 설정을 해야한다. 가상 환경 설정 python에 nodeenv 모듈을 먼저 설치한다. pip install nodeenv 설치가 완료되었으면 nodeenv --version 명령어를 이용해 설치된 nodeenv 버전을 확인한다. nodeenv [생성할 폴더] 명령어를 사용해 최신버전의 node 가상환경을 구축한다. nodeenv env 특정 버전의 node를 설치하고 싶으면 --node=[버전명] 명령어를 추가하면 된다. 추가로 --npm 명령어를 사용하면 npm의 버전도 설정할 수 있다. nodeenv --node=[버전명] [.. 2023. 7. 7.
eval 함수 eval() 함수란? eval() 함수는 매개변수로 식(expression)을 받아서 실행하는 함수이다. 이런 식으로 데이터 리스트에 1부터 1000까지의 값을 넣을 수 있고 출력도 가능하다. 2023. 7. 6.
json 형태로 파일 저장하기 json 형태로 변환 파이썬으로 다음과 같은 JSON을 만들고 싶다면 리스트를 생성하고 딕셔너리를 리스트에 추가하면 된다. [ { "a": 1, "b": 2, "c": [ 1, 2, 3 ] } ] sampleJson 리스트를 생성하고 items라는 딕셔너리를 생성하였다. items에는 키로 'a', 'b','c'를 주었고 각각의 값으로는 1, 2 그리고 1,2,3 의 값을 가지는 리스트를 가지도록 구현하였다. sampleJson = [] items = {} items['a'] = 1 items['b'] = 2 list = [1, 2, 3] items['c'] = list sampleJson.append(items) print() 함수를 사용하여 출력을 하면 다음과 같은 값이 출력된다. 이 값을 파일로 저.. 2023. 7. 5.
파이썬 playsound playsound 설치 playsound를 사용하기 위해 pip로 playsound로 설치한다. pip install playsound 가끔 playsound 호환성 문제로 실행이 잘 되지 않을때는 버전은 1.2.2로 변경한다. pip install playsounde==1.2.2 playsound 사용 playsound를 사용하기 위해 playsound 모듈을 임포트 하고 playsound에 있는 playsound 메서드를 사용해 오디오를 재생한다. import playsound import os playsound.playsound(os.path.join(os.getcwd(), "SAMPLE_1.MP3")) playsound 종료 pyQt 에서 playsound를 사용했다면 multiprocessing.. 2023. 6. 23.
MQTT MQTT란? MQTT 는 낮은 대역폭 환경에서 M2M(Machine to Machine) 원격 측정용으로 설계된 경량 게시/구독 메시징 프로토콜 1999년 Andy Stanford-Clark(IBM)와 Arlen Nipper가 위성을 통해 송유관 원격 측정 시스템을 연결하기 위해 설계 MQTT 는 IOT (사물 인터넷) 배포를 위한 주요 프로토콜 중 하나 MQTT Publisher / Subscriber 구조 Temperatur Sensor가 topic으로 temperature를 발행 후 MQTT Broker에 24ºC 메시지를 전달 MQTT Broker는 temperature topic을 구독하고 있는 client들에게 24ºC 메시지를 전달 MQTT Control Packet Format MQTT C.. 2023. 6. 19.
jjwt 서버 적용 오류 문제 jjwt를 활용한 자동로그인 기능을 구현하고 서버에 적용해 테스트 해보았는데 로그인되지 않는 문제가 발생했다. 개발자 도구로 문제가 발생한 지점을 확인해 보니 ajax 쪽에서 문제가 나왔다. 하지만 ajax 부분을 확인해보니 문제가 될만한 지점은 없었고 서버 Controller 쪽에서 문제가 난것이라 생각해 서버 로그를 확인해 보기 위해 tomcat 폴더 logs에 tail -f [파일명]을 실행한 후 로그인을 시도해 보았다. 현재 실행되고 있는 로그 확인 tail -f logs.txt 에러 발생 로그인을 시도할 때 마다 클래스를 찾을 수 없다는 에러를 발생시켰다. 서버를 돌리고 있는 자바의 버전은 openJDK 11버전이었고 jjwt는 jaxb를 사용하는데 jdk11 버전에서는 jaxb를 제거 했.. 2023. 6. 12.
자료형 그대로 파일에 저장하기 자료형 그대로 파일에 저장하기 원하는 자료형을 파일에 저장하려면 pickle 모듈을 사용하면 된다. 먼저 pickle 모듈을 불러온다. import pickle 파이썬의 자료구조형인 튜플, 리스트, 딕셔너리가 잘 저장이 되는지 확인하기 위해 튜플, 리스트, 딕셔너리 자료구조를 구현하고 확인해 보았다. tuple = ('a', 'b', 'c') list = ['a', 'b', 'c'] dict = {'a':1, 'b':2, 'c':3} pickle 모듈로 저장하기 위해서 with 명령어를 사용하고 pickle.dump() 메서드를 사용해 튜플, 리스트, 딕셔너리를 파일에 저장한다. pickle.dump() 메서드의 첫 번째 인자로는 저장하고 싶은 객체의 변수명을 넣고 두 번째 인자로는 저장할 파일 경로를 .. 2023. 6. 7.
pyinstaller로 실행파일 생성시 pyQt 윈도우 아이콘 적용 문제점 pyinstaller의 옵션으로 -w -F --icon='icon'을 넣어서 실행파일을 생성하면 다른 컴퓨터나 아이콘의 경로가 바뀌었을 때 아이콘이 표시되지 않는 문제점이 나타났다. 해결 방법 아이콘 파일의 상대경로를 pyinstaller로 포함시켜도 찾아낼 수 있게 변환시켜주는 함수를 생성한다 이 함수를 이용해서 경로를 얻고 pyQt의 setWindowIcon 메서드를 사용해 아이콘을 적용한다. 아이콘을 적용할 때에는 QtGui에 QIcon을 사용해 적용한다. pyinstaller로 포함시켜도 찾아낼 수 있게 변환시켜주는 함수 def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyIn.. 2023. 6. 2.
사용자 폴더 위치 사용자 폴더 위치 파이썬에서 사용자 폴더 위치를 확인하려면 os.path를 import 하고 os.path.expanduser('~')를 실행하면 사용자 홈 디렉터리가 나온다. 코드 import os.path print(os.path.expanduser('~')) 실행 결과 C:\Users\사용자명 AppData 폴더 사용 프로그램의 데이터 및 설정 내용을 저장하기 위해 AppData 폴더를 이용하려면 다음과 같이 exanduser()함수의 인자를 변경해주면 된다. 코드 import os.path print(os.path.expanduser('~\AppData\Local')) 실행 결과 C:\Users\사용자명\AppData\Local 2023. 6. 1.
PySide6로 GUI 구성하기 PySide6로 GUI 구성하기 PySide6 설치 먼저 PySide6을 사용하려면 설치를 해야 한다. pip 명령어를 사용해 pyside6을 설치하자 pip install pyside6 QtWidgets 클래스 불러오기 pyside6가 설치되었다면 QtWidgets 모듈을 불러와야 한다 QtWidgets 모듈은 PySide6 모듈 안에 있다. from PySide6 import QtWidgets import PySide6.QtWidgets QApplication과 QWidget 객체 생성하기 QtWidgets 모듈을 성공적으로 불러왔으면 QtWidgets 안에 있는 QApplication 클래스와 QWidget 클래스를 생성해야 한다. QWidget 클래스에 있는 show() 메서드는 만들어진 widg.. 2023. 5. 18.
Python unittest 사용하기 unittest 란? unittest는 '단위 테스트 프레임워크'이며 JUnit으로부터 영감을 받고 다른 언어의 주요 단위 테스트 프레임워크와 비슷한 특징을 가지고 있다. unittest는 테스트 자동화, 테스트를 위한 사전 설정(setup)과 종료(shutdown) 코드 공유, 테스트를 컬렉션에 종합하기, 테스트와 리포트 프레임워크등의 분리등을 지원한다. 객체 지향적인 방법으로 몇 가지 중요한 개념을 지원 테스트 픽스쳐(test fixture) 1개 또는 그 이상의 테스트를 수행할 때 필요한 준비와 그와 관련된 정리 동작에 해당 임시 또는 프락시 데이터베이스, 디렉터리를 생성하거나 서버 프로세스를 시작하는 것 등을 포함 테스트 케이스(test case) 테스트 케이스의 개별단위이며 특정한 입력 모음에 .. 2023. 5. 16.
반응형