2024/12 15

[용어/개념] 제로트러스트 가이드라인 2.0 - KISA 한국인터넷진흥원

보안취약점 및 침해사고 대응 - 제로트러스트 가이드라인 2.0 본 가이드라인은 산·학·연 보안 전문가들과 국내·외 최신 동향, 도입 사례를 분석하고 수요·공급기관 대상 의견 수렴을 거쳐 국내 기업들이 제로트러스트 보안 모델을 도입하는데 도움을 주기 위해 제작하였습니다.  1. 가이드라인 2.0 개요 1) 발간 배경디지털 전환기의 새로운 보안 위협에 대응하기 위한 제로트러스트 도입 필요성 증가미국을 비롯한 글로벌 각국의 제로트러스트 정책 추진기존 가이드라인 1.0의 한계를 보완하고 구체적인 도입 방안 제시 필요 2) 목적보안 담당자들의 제로트러스트 도입 전략 수립 과정에서 반드시 검토해야 할 사항을 강조하여 도입 전략 수립을 지원도입 후 보안 수준 및 효과성 분석 방안을 제안하여 보안 모델의 지속적 개선 ..

[Python] 22. 파이썬 메일 보내기/받기 - IMAP, imaplib, SMTP, smtplib, search, send_message

1. IMAP : 이메일 받기와 지우기 1) imaplib와 email 두 개의 모듈을 사용 - IMAP 서버에 로그인하고, 이메일을 검색하고, 가져와서 메시지를 읽는다.       2) 이메일 지우기 >>> imap.uid('store','65334','+FLAGS','(\\Deleted)')('OK', [b'2 (FLAGS (\\Seen \\Deleted) UID 5334)'])>>> imap.expunge()('OK', [b'2'])  2. IMAP : search() 함수 1) HEADER 로 찾기 - imap.uid('search', None,'(HEADER Subject ”instruction")')- imap.uid('search', None,'(HEADER From”soongon@gmail..

[Python] 21. 파이썬 날짜 다루기, 스케쥴링, 프로세스 - time모듈, datetime 모듈, timedelta, strftime, subprocess 모듈

1. time 모듈 - 날짜와 시간을 표현하는 형식은 너무도 다양함 - time 모듈 : 절대시간(epoch 타임)을 다루는 모듈 - datetime 모듈 : 시간을 보기 좋게 표현하는 방식에 대한 모듈 1) time.time() 함수- 1970.01.01. 00:00:00 → 에포크 타임스탬프 - 에포크로부터의 경과시간을 숫자(float 타입)로 표시 - round(time.time())으로 소수점을 없애서 사용 가능  - now = time.time() - time.ctime(now) - time.localtime(now) - time.gmtime(now)  2) 시간끼리 비교 가능- time.time()의 숫자로 비교 ( 즉 미래가 과거보다 크다 ) 3) 데모- 실행시간 계산 예제  4) time...

[Python] 20. 파이썬 Web Scraping - 웹 스크레이퍼, requests모듈, BeautifulSoup4 모듈, lxml 모듈, Tag 객체, CSS셀렉터

1. 스크래이퍼(Scraper)란?1) 웹 스크레이퍼- 도메인 이름을 받고 HTML 데이터를 가져옴 - 데이터를 파싱해 원하는 정보를 얻음 - 원하는 정보를 저장함 - 필요하다면 다른 페이지에서도 이 작업을 반복함 2) 필요한 모듈들- requests- BeautifulSoup4- lxml  2. 웹 스크래이퍼 작성1) 웹 사이트에 연결 및 요청 : HTML 결과를 얻어옴- requests 모듈 사용 ( pip install requests ) > http://docs.python-requests.org/en/master/  2) 원하는 컨텐츠를 뽑아낸다.- res.headers - res.encoding - res.text - res.json()  3) 컨텐츠를 저장한다.  3. BeautifulSou..

[Python] 19. 파이썬 오픈 API와 JSON - requests 모듈, urllib 모듈

1. 오픈 API 1) API (Application Programming Interface) - 여러 애플리케이션 사이에서 간편한 인터페이스  2) 오픈 API – 주로 웹 API 또는 API라고 함 - HTTP를 통해 데이터를 요청하며 주로 XML이나 JSON 형식으로 응답 - 최근에는 JSON 방식의 응답을 하는 API가 빠르게 늘어나고 있음 - 유용한 형식으로 정리된 데이터를 제공 받을 수 있음 3) API 동작 방식 - 브라우저에서 API 요청 > http://api.github.com/users/soongon > 응답은 JSON 형태로 반환   2. JSON 포맷 1) 데이터 교환의 표준 포맷 - JSON  3. JSON 요청 및 처리1) requests 모듈 - HTTP 요청 클라이언트 모..

[Python] 18. 파이썬 CSV 파일 다루기 - XML, HTML, JSON, YAML, 엑셀파일과의 차이점

1. 구조화된 텍스트 파일 1) 프로그램에서 데이터를 저장할 때나, 다른 프로그램으로 보낼 때 사용- 탭(‘\t’), 콤마(‘,’), 수직 바(‘ | ‘)와 같은 문자를 구분자(separate, delimeter)로 사용 - 태그를 ‘ ‘ 로 둘러싼다. – XML 과 HTML 이 있다. - 구두점을 사용한다. – JSON - 들여쓰기를 사용한다. – YAML (YAML Ain’t ML)- 기타 프로그램 설정 파일 같은 형식이 있다.  2. CSV 파일1) 구분된 (delimited file)은 스프레드 시트나 데이터베이스의 데이터 교환 형식- CSV (Comma Separated Value) - 콤마로 구분된 데이터를 라인단위로 읽어 리스트나 딕셔너리 같은 자료구조에 넣는다. - 파일의 운영체제에 따른..

[Python] 17. 파이썬 엑셀파일 다루기 - openpyxl 모듈, cell함수, formulas, merge_cell

1. 엑셀 문서 구조 1) 엑셀 문서, Excel Documents 2. 엑셀 지원 모듈 1) 엑셀 지원 파이썬 모듈 - xlwt - OpenPyXL http://openpyxl.readthedocs.org/- XlsxWriter - PyExcelerate 2) openpyxl 모듈 - 로컬에 엑셀 프로그램이 설치되어 있지 않아도 엑셀파일 생성과 읽기가 가능 - 대용량 지원, 이미지 지원 등 - pip install openpyxl> openpyxl과 관련 모듈이 설치  3. 엑셀 파일 읽기 1) 엑셀 문서(워크북) 열기 2) 워크시트 접근- 워크시트 목록 리스트로 반환- 액티브 워크시트 반환 3) 셀에 접근 4) cell() 함수 : 키워드 파라미터 사용 - 마지막 셀 (로우) : sheet.max_r..

[Python] 16. 파이썬 객체와 클래스 - 클래스 문법, init 메소드, 클래스 상속, Override

1. 클래스1) 객체지향 프로그래밍 - Object Oriented Programming - Programming paradigm - 데이터를 포함한 데이터구조 (field, attribute)와 함수(function, procedure, 메서드라고 부름)로 구성 - 객체 내부에 포함된 데이터를 메서드를 통해 수정 가능 (this 또는 self 키워드 사용) - 프로그램은 모두 객체로 분해되어 설계되고, 객체 간 서로 상호작용을 통해 수행됨  2) 클래스 선언 3) 클래스 문법 - class 키워드로 시작됨 - class 키워드 다음에 클래스 이름이 위치 - 클래스 이름 뒤에 괄호 속에 상속된 클래스 이름이 위치 - 파이썬의 object 클래스의 기능과 속성을 모두 상속받는다.- 사용자가 작성한 클래스(..

[Python] 15. 파이썬 예외처리와 로깅 - 예외종류, raise, logging 모듈, 팩토리얼 코드 로깅

1. 예외 처리1) 프로그램의 비정상적인 종료를 막는 방법- 에러가 발생할 가능성이 있는 코드를 사전에 처리해 주는 방법 (예) 파일을 다룰 때 파일이 없거나 쓰기금지로 설정된 경우 > 데이터베이스 연결 시 DB쪽 이슈 > 네트워크 관련 코드에서 네트워크 이슈 2) try, except를 이용한 에러로부터의 복구 2. 예외 종류1) 파이썬은 60여 개의 이상의 예외가 있음  3. 예외 1) 사용자 정의 예외 만들기- 새로운 예외 타입을 만들기 위해서는 class 객체 타입을 정의해야 함 2) 예외 발생 : raise- 특정한 상황에서 예외를 발생시킬 수 있음  > raise BizException   4. logging 모듈 1) 로그 메시지를 디스플레이 하고자 할 때 사용 > 코드 제일 위쪽에 로깅..

[Python] 14. 파이썬 파일과 디렉터리 다루기 - pickle 모듈, shitl 모듈, send2trash 모듈, zipfile 모듈

1. 파일 - pickle 모듈 1) pickle 모듈 사용- 리스트나 클래스를 파일에 저장할 때 사용  2. 파일과 디렉터리 관리1) 파일과 디렉터리 관리에 대해서 다룸- 하드디스크에 저장된 파일과 디렉터리의 관리 작업을 자동화 - 특정 확장자를 가진 파일 또는 특정 이름 패턴을 가진 파일을 지우거나 다른 디렉터리로 옮기기 - 파일이나 디렉터리를 압축하여 별도 저장 (일종의 백업 시스템) 2) shutil (Shell Utils) 모듈- 파일이나 디렉터리를 복사, 이동, 리네임, 삭제를 수행하는 모듈  3. shtil 모듈 : copy 1) 파일과 디렉터리 복사 - shutil.copy(source, destination) 2) 파일 이동과 이름 바꾸기- shutil.move(source, destin..

[Python] 13. 파이썬 파일 다루기 - glob모듈, getcwd, chdir, dir name, base name, readline 함수

A. 파일1. 프로그램이 실행 중일 때는 데이터를 램(RAM)에 저장한다. - RAM은 휘발성  2. 데이터의 영구저장(Persistence)을 위해 파일을 사용한다. - 디스크와 같은 비휘발성(non-volatile) 장치를 사용  3. 파일의 생성과 사용에 관련된 내용을 다룸 - 디렉터리의 이동과 생성, 삭제 - 파일의 생성, 쓰기, 읽기 B. 파일 - 쓰기와 읽기 1. 파일과 파일경로- 리눅스와 맥에서는 ( / )를 사용, 윈도우에서는 ( \ ) 사용  2.윈도우의 dir과 리눅스의 ls 명령과 유사한 - glob 모듈 - glob.glob(‘*’) : 현재 디렉터리의 모든 파일을 리스트로 반환  C. 디렉터리 관리 1. 현재 작업 디렉터리 : Current Working Directory - o..

[Python] 12. 파이썬 정규 표현식(2) - re모듈 임포트, 그룹핑, findall, 플래그, VERBOSE

A. 정규식 1. search() : 첫 번째 일치하는 객체를 반환한다.  1) re 모듈 임포트 : import re 2) re.compile() 함수로 Regex 객체를 생성 (raw string 사용) 3) search() 함수의 파라미터로 검색할 문자를 전달 – Match 객체를 반환 4) group() 함수로 실제 매칭된(검색된) 문자열 리턴  2. 그룹핑 : 괄호를 사용하여 정규식(regex)에 그룹을 생성할 수 있다. - (\d\d\d)-(\d\d\d-\d\d\d\d) : group() 함수 사용 - () 문자 자체를 사용하려면 \(, \)를 사용  3. findall() : 모두 일치하는 문자열을 리스트로 반환- search() 는 매칭되는 첫 번째 패턴을 반환, findall() 모든 패..

[Python] 11. 파이썬 정규 표현식(1) - 정규식 문법, 전화번호 패턴, 이메일 패턴, 텍스트 패턴 검색

A. 정규식 : Regular Expression1. 텍스트를 검색할 때 Ctrl+F 로 찾는 것을 조금 더 발전시킨 형태- 글자 자체를 가지고 찾는 게 아니라 패턴이라는 것을 사용함 - 오피스 프로그램은 찾기(바꾸기) 기능에서 정규식을 지원함 2. 정규식 사용 사례- 입력 유효성 체크(Form Validation) : 이메일 주소가 맞는지 아닌지- 텍스트에서 특정 부분을 추출 : 우편번호 추출- 특정 텍스트 바꾸기 : 계란 -> 달걀- 큰 텍스트를 작게 쪼개기 : 콤마나 점으로 구분해서 문장 쪼개기 3. 정규식 문법 배우기- / ... / 속에 패턴을 표기 4. 패턴으로 찾기 데모 : 다음 세 개의 패턴으로 정규식을 배우자- 010-3456-0123 : 전화번호 패턴 나타내기- soongon@gmal...

[Python] 10. 파이썬 문자열 다루기 - len, split, join, in, uppser, isupper, isX, startwith, 포매팅

A. 문자열 관련 함수 1. 문자열 길이 : len() 2. 문자열 나누기 : split()- split 함수를 통한 문자열 분리 : 특정 문자를 중심으로 문자를 분리하는 함수 3. 문자열로 결합 : join() 4. in, not in 연산자 5. upper(), lower(), isupper(), islower() 함수 6. isX 문자열 함수- isalpha() : 문자로만 구성 시 True - isalnum() : 문자와 숫자로만 구성 시 True - isdecimal() : 숫자로만 구성 시 True - isspace() : 공백으로만 구성 시 True - istitle() : 문장 내 모든 단어가 대문자로 시작되면 True - 입력 유효성 체크로 사용   7. startswith(), ends..

[Python] 9. 파이썬 모듈과 pip - 코어모듈, 써드파티 모듈, pypi, pip 설치, 패키지, 데모, 내장 함수

A. 모 듈 1. 프로그램이 복잡해질수록 한 파일로 프로그램을 유지하기가 힘들어짐  2. 파이썬 모듈로 분리해서 프로그램 좀 더 구조화할 수 있음 - 파이썬 파일로 별도로 분리 - import 문을 통해 모듈 사용 3. 모듈을 import 하는 세 가지 방법- import os - from os import listdir - import os as winos 4. 모듈 만들기  5. 코어모듈 : 파이썬 설치 시 제공되는 내장 모듈 >>> import sys >>> sys.path 를 통해 모듈이 설치된 경로를 확인할 수 있음   6. 써드파티 모듈 : 외부 모듈로써 별도로 설치가 필요함 - 파이썬 커뮤니티에 의해 지금도 계속 개발되고 배포되고 있음   7. 써드파티 모듈 설치 관리자 : pypi- 파이썬..

반응형