분류 전체보기
-
Python 문법 기초 35 - 멀티 thread(병렬구조)Python 2022. 10. 23. 13:56
파이썬에서는 멀티 thread가 불가능하다 GIL의 정책에 어긋나기 때문이다. [Python] GIL (Global Interpreter Lock) 이해하기 이번 포스팅은 Python만의 특징 중 하나인 GIL(Global Interpreter Lock)의 개념에 대해 알아볼 것이다. Python 프로그래머라면 한 번쯤은 들어봤을 법한 용어지만, 정확하게 알고 있지 못한 분들도 많을 것 it-eldorado.tistory.com 파이썬은 병렬이 아닌 직렬 구조로서 병렬처럼 보이기 위해 눈속임을 하는 것 뿐이다. 완전한 병렬을 하기 위해서는 별도의 모듈을 받아야 한다. 병렬 구조(Pool, Process) # GIL 정책에 의해 완전한 스레드 구현은 불가하다. # 그래서 multiprocessing 모듈로..
-
Python 문법 기초 34 - thread(자원공유, 활성화/비활성화)Python 2022. 10. 23. 13:52
# process : 실행 중인 프로그램을 의미함. 자신만의 메모리를 확보하고 공유하지 않음. # thread : light weight process라고도 함. 하나의 process 내에는 한 개의 thread가 존재함 # process 내에 여러 개의 thread를 운영하여 여러개의 작업을 동시에 하는 것처럼 느끼게 할 수 있다. # multi thread로 multi tasking이 가능 # 데이터를 원할하게 송수신 하기 위해서는 thread를 사용하는 것이 좋다. import threading, time def run(id): for i in range(1,51): print('id:{} --> {}'.format(id, i)) time.sleep(0.2) # thread를 사용하지 않은 경우 #..
-
MariaDB 유저 설정 및 기본DB 설치 및 설정 2022. 10. 22. 18:28
MariaDB는 Oracle과 다르게 오토 커밋이 된다. 유저 id, pw 로 들어가기 -p 는 enter를 하여 보이지 않게 입력한다. MariaDB에서 만들어 놓은 것이라 건들면 안 된다. 데이터베이스 생성하는 법 use 테이블 명 으로 들어갈 수 있다. 데이터베이스를 생성했으면 MariaDB를 설치한 경로에 만든 데이터베이스가 설치되어있다. 데이터베이스 경로로 들어가서 table 작성 desc mytab; 을 입력하면 mytab table의 구조를 볼 수 있다. insert 문으로 내용 추가 select 문으로 내용 읽기 ctrl + c 로 나가면 데이터를 잃을 가능성이 있기때문에 exit;를 사용해서 나가야 한다. HeidiSQL 어플리케이션이 생기는데 여기서도 사용 가능하다. DB 관리할 때 좋..
-
MariaDB 연동 예제Python 2022. 10. 22. 18:09
# MariaDB 연결정보를 객체로 저장 # 보이면 안되기 때문에 보이지 않게 별도의 파일에 보관해야 된다. config = { 'host':'127.0.0.1', 'user':'root', 'password':'설정한 비밀번호 입력', 'database':'test', 'port':3306, 'charset':'utf8', 'use_unicode':True } import pickle with open('mydb.dat', mode='wb') as obj: pickle.dump(config, obj) 연결 정보는 보안을 위해서 밖으로 빼 놔야 된다. 밑에 처럼 pickle을 import 해서 dac타입으로 파일을 생성 후 거기에 보관하는 법을 추천한다. # 키보드에서 부서번호를 입력받아 해당 부서 직원..
-
Python 문법 기초 33 - MyriaDB 연동(명령어)Python 2022. 10. 22. 18:08
MySql / Mariadb 연동하기(윈도우) * 윈도우에서 python용 MySql(MariaDB) 드라이버 설치 방법버전별 드라이버 다운로드 http://www.lfd.uci.edu/~gohlke/pythonlibs/사이트에서mysqlclient로 검색하여 원하는 파일(mysqlclient-1..-cp3*-cp3*m-win_amd64.whl)을 다 cafe.daum.net # 원격 데이터베이스 연동 프로그램 # pip install mysqlclient import MySQLdb conn = MySQLdb.connect(host = '127.0.0.1', user = 'root', password='123', database='test') print(conn) conn.close() # sangdat..
-
Python 문법 기초 32 - 개인용 DB : sqlite3Python 2022. 10. 22. 17:31
# 개인용 DB : sqlite3 : 파이썬 기본 개인용 데이터베이스 import sqlite3 print(sqlite3.sqlite_version) print() conn = sqlite3.connect('exem.db') try: cursor = conn.cursor() # SQL문 처리 # table 생성 SQL문은 ""를 사용하는 것이 좋다. cursor.execute("create table if not exists fritab(name text, phone text)") # 자료 추가 cursor.execute("insert into fritab(name,phone) values('한국인','111-1111')") cursor.execute("insert into fritab values('우..
-
Python 문법 기초 31 - file i/o (try ~ except) + pickle(import)Python 2022. 10. 22. 17:27
# file i/o import os print(os.getcwd()) try: print('읽기') # 읽기 # f1 = open(r'C:\work\psou\pro1\pack3/file_test.txt', mode = 'r', encoding = 'utf8') # f1 = open(os.getcwd() +'\\file_test.txt', mode = 'r', encoding = 'utf8') f1 = open('file_test.txt', mode = 'r', encoding = 'utf8') # mode = 'r', 'w', 'a', 'b' ... print(f1.read()) f1.close() print('저장') # 덮어쓰기 f2 = open('file_test2.txt', mode = 'w',..