본문 바로가기

Study/Python19

Python MultiProcess Shared Object Python의 MultiProcess는 프로세스마다 독립적인 메모리를 가지고 있어, 아래와 같이 예상치 못한 결과를 받는 경우가 있다.- 원했던 결과 : 1 -> 2import multiprocessingclass a: def __init__(self): self.classb = b() mp1 = multiprocessing.Process(target=self.mp_start, args=()) mp1.start() mp2 = multiprocessing.Process(target=self.mp_start, args=()) mp2.start() mp1.join() mp2.join() def mp_start(s.. 2024. 5. 29.
Ren'Py를 통한 게임 개발 시작 최근 들어 Ren'Py를 통한 게임이 많이 보이는 것 같습니다. 그래서 바로 프로젝트를 시작하게 되었는데요. 이번 프로젝트는 "Ren'Py 파헤쳐보기" 입니다. 프로젝트 목표는 3가지로 나눠서 볼 수 있을 것 같습니다. 1. Ren'Py로 게임 개발 2. 게임 핵 개발 3. 게임 핵 탐지 및 차단 설치 방법 1. Ren'Py 사이트에서 개발 도구를 다운로드 받습니다. Ren'Py 8.0.3 Android and iOS Support When building Android packages, iOS packages, or web distributions, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool), Renios (Ren'P.. 2023. 2. 19.
[MAC] PKG로 설치한 Python 2.7 삭제하기 삭제 방법 /System/Library 내 Apple에서 제공하는 Python을 삭제할 경우 운영 체제에 손상이 발생할 수 있으며, 아래의 방법은 Apple에서 제공하는 Python 2.7에는 영향을 주지 않은 방법입니다. (다른 버전의 경우 버전을 뜻하는 2.7 문자열만 변경하여 사용하면 될 것 같습니다) 1. Python 2.7 Framework 제거 $ sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 2. Python 2.7 Directory 제거 $ sudo rm -rf "/Applications/Python 2.7" 3. /usr/local/bin 내 Python 2.7를 가르키는 심볼릭 링크 제거 $ cd /usr/local/bin.. 2022. 11. 29.
Python을 이용한 OTP 생성 (pyotp) Python에서 pyotp Module을 이용하여 OTP(One Time Password)를 생성할 수 있는데 OTP에는 HOTP와 TOTP라는 2가지 방식이 존재합니다. HOTP (HMAC Based One Time Password) : 숫자 값을 기준으로 OTP 생성 TOTP (Time Based One Time Password) : 시간 값을 기준으로 OTP 생성 여기서는 Python의 pyotp를 이용하여 TOTP를 생성하였습니다. 1. pyotp 설치 $ pip install pyotp 2. OTP 생성 방법1 ※ 기본 설정으로 30초 단위로 6자리의 OTP가 변경됨 import pyotp import time import base64 otp_key = base64.b32encode("test".. 2022. 10. 19.
[Python] SQLite3 사용 방법 sqlite3 모듈 사용 import sqlite3 메모리를 이용한 Database 사용 con = sqlite3.connect(":memory:") Database File 사용 con = sqlite3.connect('./database.db') Table 생성 cur = con.cursor() cur.execute("CREATE TABLE TestTable(Data1 TEXT, Data2 INTEGER);") Data 삽입 cur = con.cursor() cur.execute("INSERT INTO TestTable(Data1, Data2) VALUES('Test', 1);") cur.execute("INSERT INTO TestTable(Data1, Data2) VALUES(?, ?);",(te.. 2022. 9. 17.
[Python] 리스트 내 문자열이 특정 문자열 내에 존재하는지 비교 코드 사전 정보 any() : 인수로 전달된 자료형 중 True가 하나라도 포함되어 있을 경우 True를 반환하는 함수 >>> any([False,False,False]) False >>> any([False,False,False,True]) True 문자열과 리스트 비교 코드 1. 리스트 내 문자열이 단 하나라도 존재하는지 비교 코드 >>> str_list = ["aaa", "bbb", "ccc"] >>> str1 = "Hellow World" >>> if any(str in str1 for str in str_list): print("Find") ... >>> str1 = "Hellow World aaa" >>> if any(str in str1 for str in str_list): print("Find.. 2022. 9. 9.
Python을 통한 Simple HTTPS Server 구축 HTTPS Server를 구축하기 위해서는 인증서가 필요한데, 이 인증서는 openssl를 통하여 생성 가능합니다. $ openssl genrsa -out CA.key 2048 $ openssl req -x509 -new -nodes -key CA.key -days 3650 -out CA.pem $ openssl genrsa -out server.key 2048 $ openssl req -new -key server.key -out server.csr $ openssl x509 -req -in server.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out server.crt -days 3650 Python Simple HTTPS Server Code import h.. 2022. 8. 22.
Django란? Django는 2005년부터 시작된 Python의 오픈 소스 웹 프레임워크이자 풀 스택 프레임워크 입니다. 웹 프레임워크는 크게 풀 스택 프레임워크와 마이크로 프레임워크로 나눠지는데, 풀 스택 프레임워크는 "웹 개발에 필요한 모든 요소를 갖춘 프레임워크"이며, 마이크로 프레임워크는 "웹 개발에 필요한 일부 요소가 구현되어 있지 않은 프레임워크" 입니다. ※ Python 기반의 마이크로 프레임워크 중 대표적인 것은 Flask가 있으며, 일부 요소가 구현되어 있지 않기 때문에 반대로 개발자의 능력과 목적에 맞춰 커스텀이 가능한 부분이 있습니다. 또한, Django의 경우 ORM(Object Relational Mapping)을 기본적으로 제공하고 있는데요. ORM이란 객체와 관계형 데이터베이스의 데이터를 자.. 2022. 7. 10.
[Windows] Sublimetext input() Not Working Sublimetext에서 Build를 사용할 경우 출력 결과를 Console 창에 보여주지만, 사용자의 입력 값을 따로 받지는 않습니다. 그렇기 때문에 input()과 같은 함수를 사용할 경우 무한 대기 상태에 들어가게 됩니다. 해당 문제를 해결하기 위한 여러 방법이 존재하겠지만, Terminus Package를 사용하는 방법에 관해 설명드리겠습니다. 1. 먼저 Ctrl+Shift+p를 누른 뒤, "Package Control : Install Package"를 선택합니다. 2. Terminus를 설치합니다. 3. 설치 이후 Preferences > Terminus > Command Palette 기능을 선택합니다. 4. Default.sublime-commands에 아래의 데이터를 복사한 뒤 저장합니다.. 2022. 4. 15.