오늘 학습 주제
1. 이미지 처리하기
2. 데이터베이스 다루기
이미지 처리하기
- pillow -
이미지 처리 라이브러리
픽셀 단위의 조작, 마스킹 및 투명도 제어, 이미지 필터, 색 보정 등 다양한 이미지 작업 가능
PPM, PNG, JPEG, GIF, TIFF, BMP 등 다양한 이미지 파일 형식을 다룰 수 있다
코드 | 설명 |
open(Filename) | 지정한 FileName 불러올 때 사용 |
show() | 지정한 이미지 파일 출력할 때 사용 |
resize(width, height) | 지정한 크기로 이미지 파일 변경할 때 사용 |
crop(left, upper, right, lower) | 지정한 좌표로 이미지 파일 자르려고 할 때 사용 |
rotate(dig) | 지정한 각도만큼 이미지 파일을 회전시킬 때 사용 |
transpose(flip) | 상하, 좌우로 이미지 파일을 대칭할 때 사용 |
filter(imgFilter) | 지정한 필터를 이미지에 적용시킬 때 사용 |
paste(img, (width, height) | 지정한 이미지를 합칠 때 사용 |
save(FileName) | 지정한 파일을 저장할 때 사용 |
thumbnail((width, height)) | 썸네일을 만들 때 사용 |
데이터베이스 다루기
- 데이터베이스(Database) -
정보를 저장, 관리 및 검색하기 위한 쳬계화된 방법을 제공하는 시스템
관계형, 네트워크형, 계층형, 객체형 등의 모델들이 있다
- 관계형 데이터베이스(SQL) -
데이터를 테이블 형태로 구성하고, 이러한 테이블 간의 관계를 사용하여
데이터를 저장하고 관리하는 데이터베이스 모델
SQL(Structured Query Language)을 사용하여 데이터를 조작한다
데이터 무결성을 보장한다
트랜잭션 처리, 보안, 백업 및 복구 기능 등을 제공하여 신뢰성이 높다
- 비관계형 데이터베이스(NoSQL) -
전통적인 SQL 데이터베이스와는 다른 데이터 저장 및 관리 방식을 지원하는 데이터베이스 모델
대량의 데이터를 다루는데 특히 유용하며, 빅데이터 및 웹 애플리케이션 개발에서 널리 사용
- SQLite -
클라이언트 응용 프로그램에 임베디드되어 동작하는 DBMS 소프트웨어로서 퍼블릭 도메인 오픈 소스 소프트웨어
내장형 데이터베이스로, 작은 규모의 데이터 저장 및 관리를 위해 많이 사용한다
- sqlite3-
SQLite에 대한 인터페이스를 제공하는 라이브러리
따로 모듈을 설치할 필요 없이 데이터베이스를 쉽게 이용할 수 있다
코드 | 설명 |
connect() | DB에 접속할 때 사용 |
cursor() | DB 쿼리를 조작하기 위한 커서 객체 생성할 때 사용 |
execute() | SQL 쿼리를 실행할 때 사용 |
commit() | 변경 내용을 데이터베이스에 저장할 때 사용 |
- pymysql -
SQLite에 대한 인터페이스를 제공하는 라이브러리
- ORM(Object-Relational Mapping)-
'객체로 연결을 해준다'는 의미로, 데이터베이스 연결 시 SQL언어가 아닌
어플리케이션 개발 언어로 데이터베이스를 접근할 수 있게 해주는 툴
개발 언어의 일관성과 가독성을 높여준다는 장점을 가지고 있다
- SQLAlchemy -
파이썬이서 ORM을 사용할 수 있게 해주는 라이브러리
다양한 데이터베이스(MySQL, PostgreSQL, SQLite, Oracle 등 다양한 데이터베이스 시스템과 호환
SQL을 생성하는 데 사용되는 파이썬 표현식 언어를 제공한다
데이터베이스 쿼리의 성능을 최적화하는 다양한 기능과 옵션을 제공한다
코드 | 설명 |
crate_engine() | Database와 소통하기 위해 연결을 관리해주는 engine을 생성할 때 사용 |
declarative_base() | 매핑 클래스를 생성하고 Database에 연결할 때 사용 |
session() | 매핑된 객체들의 지속적 작업을 관리해주는 역할인 세션을 생성할 때 사용 |
sessionmaker() | 동일한 구성을 가진 세션을 생성할 때 사용 |
metadata.creater_all() | Engine으로 연결된 데이터베이스에 테이블을 생성할 때 사용 |
참고
https://velog.io/@octo__/SQL-vs-NoSQL
https://yurimkoo.github.io/python/2019/09/14/connect-db-with-python.html
'SK shieldus Rookies 16기' 카테고리의 다른 글
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(10일차) (0) | 2023.11.03 |
---|---|
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(9일차) (0) | 2023.11.02 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(7일차) (0) | 2023.10.31 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(6일차) (0) | 2023.10.30 |
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(5일차) (0) | 2023.10.27 |