본문 바로가기

Python

(19)
PyCharm - 3 tier 아키텍처를 적용(VO, Service, DAO) # 성적처리 프로그램 v7 # 성적 데이터 추가/조회/수정/삭제 기능 제공 # 입력한 성적데이터와 처리결과는 테이블에 저장함 # 데이터베이스는 오라클 19c를 사용함 # 객체지향 프로그래밍을 이용해서 클래스 기반으로 코드 작성 # 또한, 3-tier 아키텍처를 적용해서 VO, Service, DAO로 # 세분화시켜 파일 작성 # SungJukVO # SungJukV7Service, SungJukV7ServiceImpl # SungJukV7DAO, SungJukV7DAOImpl # sungjukv7 -> sungjukv7service -> sungjukv7dao from zzyzzy.sungjuk.SungJukV7ServiceImpl import SungJukV7ServiceImpl # 프로그램 main ..
PyCharm - 상속, 추상 클래스 # 상속 # 부모 클래스로부터 변수, 함수를 물려받아 # 새로운 클래스를 만드는 기법 # 한번 정의된 데이터유형을 필요에 따라 # 다시 재활용, 반복코드를 줄일 수있음 # 상속의 장점 : 중복코드 배베, 유지보수 용이 # 통일성 유지, 다형성 구현 용이 # 부모/ 상위 / 슈퍼 # calseee 자식클래스명(부모클래스명) # 클래스 몸체 # 스타크래프트 유닛을 상속개념을 이용해서 구현 # 테란 진형 유닛을 클래스로 작성 # 해병대, 의무관, 화염방사병 # 각 클래스는 이름,생명력100,에너지100,공격력 멤버로 구성 # 모든 클래스는 기본적으로 이동능력을 가지고 있음 # 또한, 각 클래스 별 고유 능력을 하나씩 가지고 있음 class Marine: def __init__(self): self.name =..
PyCharm - Oop (객체치향 프로그래밍) IT 인프라 엔터프라이즈 IT 환경을 운영하고 관리하는 데 필요한 구성 요소 IT 서비스 및 솔루션을 제공하기 위해 필요한 IT 환경(서비스 및 플랫폼)을 구축, 개발, 운영하기 위해 필요한 모든 구성요소 플랫폼 - 하드웨어, 네트워킹요소, 데이터 스토리지 서비스 - 운영체제, 소프트웨어 IT 인프라 구성 방식 집약형 - 한대의 시스템으로 모든 기능을 해결 분산형 - 여러대의 시스템을 조합해서 하나의 시스템으로 구축 분산형 아키텍처 서버별로 다른 역할을 하도록 시스템을 수직으로 확장하는 구조 - c/s, 3-tier 수평 분할형 아키텍처 용도가 같은 서버를 늘려나가는 방식 - sharding, Partitioning 스탠바이형 아키텍처 물리 서버를 최소 두 대를 준비하여 한 대가 고장 나면 가동 중인 소..
PyCharm - Dao (Data access object) # 성적처리 프로그램 v6b # 성적 데이터 추가/ 조회/ 수정/ 삭제 기능 제공 # 입력한 데이터와 처리결과는 테이블에 저장 # 데이터베이스 오라클19c # 데이터베이스 관련코드는 DAO 파일로 분리해서 작성 import sungjukv6b_lib as sj6blib # 프로그램 main while True: # 메뉴를 화면에 표시하고 # 실행할 메뉴를 선택받아 menu 변수에 저장 menu = sj6blib.display_menu() # 입력받은 메뉴 구분 if menu == '1': sj6blib.add_sungjuk() elif menu == '2': sj6blib.list_sungjuk() elif menu == '3': sj6blib.view_sungjuk() elif menu == '4': ..
PyCharm - 데이터베이스 (Oracle) # 파이썬으로 오라클 디비 다루기 1 - select # cx_Oracle 모듈을 먼저 설치 : pip install cx_Oracle # oracle 클라이언트 라이브러리 설치 # oracle.github.io/odpi/doc/installation.html#windows # cx-oracle.readthedocs.io/en/latest/user_guide/installation.html # 주의! # 오라클 인스턴스 클라이언트 라이브러리 버젼과 # visual studio C++ 재배포 버젼이 일치해야 제대로 실행됨! # For Instant Client 19 => install VS 2017. # For Instant Client 18 or 12.2 => install VS 2013 import c..
PyCharm - 데이터베이스 (sqlite3) # 파이썬 데이터베이스 프로그래밍 # 데이터의 영속성을 부여하는 방법 중 하나 # 작은 양의 데이터는 파일입출력을 통해 처리 가능 # 대량의 데이터를 체계적으로 저장해서 원하는 목적에 따라 # 데이터를 처리(검색,수정,삭제)할 수 있도록 해 줌 # 파이썬에서는 일반적인 관계형 데이터베이스를 이용해서 # 데이터를 저장,검색,수정,삭제할 수 있음 # 또한, 독립적인 데이터베이스 서버없이 파일기반 # 데이터베이스를 이용해서 간편하게 데이터를 조작할 수도 있음 # 내장형(임베디드) 파일기반 데이터베이스 : sqlite # sqlite # 내장형 파일기반 데이터베이스 # 서버가 필요없고 복잡한 설정도 필요없으면서 # 트랜잭션이 지원되는 데이터베이스 # 하나의 파일에 테이블,뷰,색인,트리거등이 저장 # 용량이 작아..
PhCharm - pickle # 직렬화 # 메모리 상의 자료 구조를 있는 그대로 본을 떠서 # 파일로 저장하는 행위를 의미 # 즉, 시스템 내부의 파이썬 객체들을 파일로 저장해 뒀다가 # 다른 시스템에서도 사용 가능하도록 바이트의 형태로 # 만드는 것을 의미 # 파이썬에서 직렬화/ 역직렬화를 사용하려면 pickle이라는 모듈 필요 import pickle sungjuk = {'name': '혜교', 'kor': 99, 'eng': 98, 'mat': 99} # dict 자료구조를 파일에 저장 - 직렬화 # dump(자료객체, 파일객체) with open('sungjuk.pkl', 'wb') as f: pickle.dump(sungjuk, f) # 파일에 저장된 자료구조를 읽어서 원래대로 풀어놈 - 역직렬화 # 변수 = load(파일..
PhCharm - csv , json, binary # CSV # comma separated values # 각 행의 컬럼값들이 쉼표로 분리된 텍스트 형식파일 # 헤교, 87, 67, 56, 2997, 85.9, 우 같은 행들 # 보통, csv 파일의 첫행에는 각 컬럼을 의미하는 제목을 작성 # 간혹 컬럼값에 , 가 포함되는 경우, 이중인용부호로 감싸서 감싸서 처리 # ex) 변화하는 세계 질서,레이 달리오(Ray Dalio) ,"34,200원" import csv # 핫도그 우승자파일을 읽어옴 with open('hotdog-winners.csv') as f: data = csv.reader(f) print(list(data)) with open('hotdog-winners.csv') as f: data = csv.reader(f) for d in d..