Sangjun 개발 블로그
    • 카테고리
    • Algorithm
    • apple
    • AWS
    • boto3
    • cron
    • crontab
    • DB
    • Django
    • Docker
    • facebook
    • fcm
    • Go
    • google
    • Gopacket
    • Gui
    • Guide
    • kakao
    • Learning
    • LeetCode
    • Linux
    • logging
    • mariaDB
    • Models
    • MSSQL
    • naver
    • NFS
    • Numpy
    • oauth
    • Opencv
    • PostgreDB
    • pytest
    • Python
    • Sniff
    • Swagger
    • Windows
    • Windows10
    • WSL
    Hero Image
    [python] 테스트 프레임워크 pytest 사용법

    1. 개요 및 설정 pytest는 에러 없는 좋은 코드를 개발만들기 위한 목적으로 개발된 Python 테스트 프레임워크이다. pytest 특징 다른 testing 라이브러리에 비해 사용법이 간단하다. 테스트를 병렬로 실행할 수 있다. 특정 테스트를 스킵할 수 있다. 다양한 서드 파트 라이브러리들이 있다. 설치 pip install -U pytest 2. 기본 사용법 2.1. 기본 테스트 test_sample.py # 테스트 대상 기능 def inc(x): return x + 1 # 테스트 실행 함수 def test_answer1(): assert inc(3) == 5 def test_answer2(): assert inc(3) == 4 pytest 실행 결과

    February 8, 2022 Read
    Hero Image
    python boto3라이브러리 이용한 AWS s3 사용법

    1. 개요 및 설정 Boto3는 python 애플리케이션과 AWS 서비스를 연결시키기 위해 사용하는 python 라이브러리이다. boto3 라이브러리 설치 pip install boto3 라이브러리 import 및 AWS key 설정 conf.py import os AWS_ACCESS_KEY_ID = "ACCESS_KEY_ID" AWS_SECRET_ACCESS_KEY = "SECRET_ACCESS_KEY" AWS_REGION = "REGION" AWS_BUCKET_NAME = "BUCKET_NAME" 2. boto3 기본 사용법 2.1. client client Low-level 인터페이스 service description에 의해 만들어짐 botocore 수준제어 (botocore는 AWS CLI와 boto3의 기초가 되는 라이브러리) AWS API와 1:1 매핑 메소드가 스네이크 케이스로 정의되어 있음 import boto3 from conf import * client = boto3.

    January 10, 2022 Read
    Hero Image
    python 날짜와 시간 계산

    python 날짜 및 시간 계산은 python 표준 라이브러리 datetime, 확장 라이브러리 dateutil 2개의 라이브러리가 있으며 단위의 차이가 있다. datetime : 마이크로초, 밀리초, 초, 분, 시, 일, 주 단위 사용 dateutil : 마이크로초, 초, 분, 시, 일, 주, 월, 년 단위 사용 1. datetime 라이브러리 날짜와 시간을 조작하는 클래스를 제공하는 python 표준 라이브러리 1.1 사용예시 now : 현재 날짜 및 시간 import datetime as dt now = dt.datetime.now() print(f"now = {now}") now = 2021-12-27 11:24:27.

    December 26, 2021 Read
    Hero Image
    python json 파일 읽기/쓰기 성능

    python 언어에서 대용량 json 읽기/쓰기 성능은 사용방법과 라이브러리에 따라서 성능 차이가 있다. 테스트 기준은 동일한 json 파일을 100번씩 반복 실행하였다. json 라이브러리의 파일 읽기/쓰기 모두 byte 모드가 상대적으로 빠르다. 라이브러리 버전 python : 3.8.10 ujson : 5.1.0 orjson : 3.6.5 1. json ========================= json_r = 0.045 sec json_w_dump = 0.186 sec json_w_dumps = 0.065 sec ========================= json_rb = 0.034 sec json_wb_dumps = 0.055 sec 1.1. read with open('github.json', "r") as json_file: data = json.

    December 6, 2021 Read
    Hero Image
    python을 이용한 windows10 시스템 정보 및 사용량 모니터링

    운영체제 : windows 10 설치환경 : python 3.8.8, powershell 7.1 1. WMI WMI(Windows Management Instrumentation)는 Windows 시스템 관리를 위한 다양한 정보를 일관되게 표시하는 기술이다. WMI가 표시하는 정보의 양이 제한되어 있기 때문에 WMI 개체에 액세스하기 위한 PowerShell cmdlet인 Get-CimInstance 개체 가져오기 도구를 사용한다. 해당 WMI 개체 정보 조회 Get-CimInstance -ClassName (WMI 개체이름) | select * WMI 개체이름 정보 Win32_OperatingSystem 운영체제 및 메모리 정보 Win32_Processor CPU 정보 Win32_PhysicalMemory 물리 메모리 정보 Win32_DiskDrive 물리 디스크 정보 Win32_LogicalDisk 논리 디스크 정보 Win32_VideoController 그래픽카드 정보 Get-CimInstance 옵션 매개변수로 Select-Object사용하면 WMI 클래스 인스턴스에서 반환되는 속성을 선택할 수 있다.

    June 16, 2021 Read
    Hero Image
    클래스 인스턴스 변수(self)와 함수 로컬변수 처리속도차이

    설치버전 : python 3.8.8 1. 클래스 인스턴스 변수(self)와 함수 매개변수 처리속도 차이 1.1. 예제 코드 import timeit class CheckTime: def __init__(self): self.a = 0 self.b = 0 self.c = 0 def process_self(self): self.a + self.b + self.c def process_argument(self, a, b, c): a + b + c def get_time(self): self.a = 1 self.b = 2 self.c = 3 def test1(): self.process_self() process_self_time = timeit.Timer(stmt=test1).repeat(number=1000000) a = self.a b = self.

    May 24, 2021 Read
    Hero Image
    python opencv 사용법

    설치버전 : opencv-python 4.5.1.48 docs url 라이브러리 설치 pip install opencv-python 라이브러리 import import cv2 이미지 파일 읽기 cv2.imread(filename[, flags]) -> retval img = cv2.imread(image_full_path) 매개변수 이름 설명 filename 로드할 파일 이름 flags cv2 값을 사용할 수 있는 플래그 이미지 파일 저장 cv2.imwrite(filename, img[, params]) -> retval 이미지 형식은 파일 이름 확장자에 따라 선택됨 cv2.imwrite(image_full_path, img) 메모리 버퍼로 인코딩 이미지를 ext형식으로 변환하여 메모리 버퍼로 인코딩 cv2.imencode(ext, img[, params]) -> refval, buf retval, buffer = cv2.

    May 21, 2021 Read
    Hero Image
    python numpy 사용법

    선형대수 기반의 python 라이브러리 루프없이 배열 연산이 가능하여 연산속도가 빠름 설치버전 : numpy 1.20.2 라이브러리 import import numpy as np 1. 생성 arange np.arange([start,] stop, [step,] dtype) 지정한 숫자 범위의 array 생성함수 np.arange(10) # [0 1 2 3 4 5 6 7 8 9] np.arange(0, 5, 0.5) # [0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5] zeros np.zeros(shape, dtype) 0으로 선언된 array 생성 np.zeros((2,4)) # [[0. 0. 0.

    May 21, 2021 Read
    Hero Image
    pyinstaller 라이브러리 사용법 (Pyinstaller Library Guide)

    python 파일을 윈도우에서 python 이나 가상환경 설정없이 실행이 가능한 .exe 으로 변환해주는 라이브러리 1. 설치 설치환경 : Windows 10 python 실행이 가능한 가상환경 터미널에서 아래의 명령어 실행 pip install pyinstaller 2. 간단한 사용예제 pyinstaller --clean --distpath . -F -n [프로그램이름] [변환시킬 파일].py 3. 옵션 옵션 설명 –clean 빌드하기 전에 PyInstaller 캐시를 정리하고 임시파일 제거 -F, –onefile 단일 실행파일로 생성(실행시 사용한 라이브러리 임시파일 생성됨) -D, –onedir 실행 파일을 포함하는 단일 폴더로 생성 –distpath DIR 실행파일 생성 경로(default: .

    March 10, 2021 Read
    Hero Image
    pyshark 라이브러리 사용법 (pyshark Library Guide)

    설치환경 : Windows 10, python 3.7 1. 설치 와이어샤크 프로그램에 포함된 npcap 설치 필요 https://www.wireshark.org/download.html pip install pyshark 2. 사용법 캡쳐파일 읽기 capture = pyshark.FileCapture('./test.pcapng') 실시간 패킷캡처 interface capture = pyshark.LiveCapture(interface='이더넷', bpf_filter='ether src host 11:22:33:44:55:66', use_json=True, include_raw=True) 패킷 캡처 패킷 1개 캡처하거나 10ms 경과하면 캡처 결과 반환 capture.sniff(packet_count=1, timeout=10) 패킷 10개 캡처하거나 10ms 경과하면 캡처 결과 반환 capture.sniff(packet_count=10, timeout=10) 패킷 bytes 형태로 반환 print(capture[0].get_raw_packet()) 모든 패킷을 실행하고 읽은대로 각 패킷과 함께 주어진 콜백(함수) 호출

    February 10, 2021 Read
    Hero Image
    scapy 라이브러리 사용법 (Scapy Library Guide)

    설치환경 : Windows 10 1. 설치 와이어샤크 프로그램에 포함된 npcap 설치 필요 https://www.wireshark.org/download.html pip install --pre scapy[basic] 2. Client 예제 from scapy.all import * from scapy.utils import rdpcap import datetime as dt # PCAP 파일 읽기 # could be used like this rdpcap("filename",500) fetches first 500 pkts pkts = rdpcap("./pcap/test.pcapng", -1) pkts = pkts[21:100] cnt = 0 repeat = 10 s_time = dt.datetime.now() for _ in range(repeat): for pkt in pkts: # print(f"hexdump(pkt) = {hexdump(pkt)}") # Send one or more packets at 2 layer sendp(pkt, inter=0, loop=0, count=1, iface=None) # Send one or more packets at 3 layer # send(pkt, inter=0, loop=0, count=1, iface=None) cnt += 1 print(cnt) sendp(b'', inter=0, loop=0, count=1, iface=None) time.

    February 9, 2021 Read
    Hero Image
    paramiko-scp 라이브러리 사용법 (paramiko-scp Library Guide)

    paramiko, scp 라이브러리 연계 사용한 ssh 파일 전송 라이브러리 암호화 여부 속도 paramiko 로그인:암호화 / 파일전송:암호화 느림 paramiko+scp 로그인:암호화 / 파일전송:평문 보통 실습환경 : windows10, 원격서버환경 : linux(RHEL8) 사전에 ssh 접속가능한 linux를 구축한 후 실습 진행 1. 라이브러리 설치 pip install paramiko pip install scp paramiko : SSH 접속 및 종료 기능 Docs URL - http://docs.paramiko.org/en/stable/ scp : 파일 전송 및 다운로드 기능 Docs URL - https://pypi.org/project/scp/ 2. 사용예제 코드 2.

    January 6, 2021 Read
    • ««
    • «
    • 1
    • 2
    • »
    • »»
    바로가기
    • About
    • Recent Posts
    Contact me:
    • sangjuncha.dev@gmail.com

    Toha Theme Logo Toha
    Copyright 2020. SangjunCha all rights reserved.
    Powered by Hugo Logo