본문 바로가기

분류 전체보기248

distutils (파이썬 모듈 배포 패키지) 00 개요 회사에서 코드분석 하는데 distutils 모듈이 나와서 이에 대해 알아보고자 정리함NOTE: Python 3.12에서는 distutils 더 이상 사용 안 함 (removal, depricated) 01 distutils 란1. 정의'distribution utilities'Python 설치 시 추가적인 모듈들을 build 및 install하는 데 도움을 주는 패키지새 모듈들은 100% Python 코드로 작성되었거나, C로 작성되었거나, Python 패키지 모음일 것02 API Reference 1. distutils.coreCore Distutils 기능 포함distutils.core 모듈만 설치되 Distutils 사용 가능1) distutils.core.setup()distutils... 2024. 6. 18.
os (운영체제 작업 모듈) 00 개요회사에서 코드분석 하는데 os가 뭘 하는지 알아보기 위한 정리01 os 모듈이란1. os 모듈 정의운영 체제 종속 기능들을 사용할 수 있도록 하는 모듈2. os 모듈의 기능파일 읽고 쓰기 (os.open()), 경로 조작 (os.path()), 환경 변수 갖고오기 (os.environ) 등02 os 사용0. os 모듈 참조os 는 파이썬 내장 모듈이라서 설치 불필요import os1. 프로세스 파라미터현재 프로세스와 사용자에 관한 정보 제공 및 현재 프로세스와 사용자로서 실행1) os.ctermid()반환값: 프로세스의 controlling 터미널에 동하는 파일이름 2) os.environ>>> print(os.environ){'EGO_CONFDIR': '/sw/LSF/conf/ego/IC_cl.. 2024. 6. 18.
View (가상 테이블) 00 개요회사에서 DBMS Vertica 사용하는데 .sql 파일에 View를 만드는 쿼리가 있어서 View가 뭔지 정리하고자 함01 View란1. View 정의가상 테이블DB에서 View란, 메모리 상에 존재하는 테이블 → 메모리상에 존재하기 때문에 View를 많이 사용하면 메모리를 많이 사용하게 되어 처리 속도 저하View 생성 시 사용된 테이블을 수정하게 되면 해당 View에도 적용됨 참조https://do-develop-diary.tistory.com/4 2024. 6. 18.
Segmentation and Partitioning 00 개요Vertica에서 테이블 생성 시 SEGMENTED BY랑 PARTITION BY 둘 다 사용하는데, 둘다 데이터를 분산하는 것인데 어떻게 다른 것인지 알아보기 위해 정리01 Partitioning and Segmentation (파티셔닝과 세그멘테이션)Vertica에서 partitioning과 segmentation은 데이터를 현지화 (localize data) 하는 데에 있어서 각각 다른 개념이고 목적이 다르다1. SegmentationSegmentation은 신속한 데이터 삭제 및 쿼리 성능 (data purges and query performance)을 위해 클러스터 노드들 사이에서 데이터를 정리하고 분산하는 것을 의미Segmentation은 모든 노드들이 쿼리 실행에 참여할 수 있도록.. 2024. 6. 17.
1 알고리즘과 절차 지향 프로그래밍 01 알고리즘과 절차 지향 프로그래밍배우기 쉬운 알고리즘을 몇 가지 소개할 것지금까지 배운 프로그래밍 언어의 기능으로 특정 문제를 해결하는 코드를 작성하는 기법을 배울 것알고리즘을 바탕으로 입력, 처리, 출력의 단계로 진행되는 프로그래밍 언어의 절차 지향 프로그래밍 기법을 정리함절차 지향 프로그래밍에서 사용되는 것이 입력, 처리, 출력의 단계1. 알고리즘 (Algorithm)알고리즘(풀이법)이란, 프로그램 개발에 있어 필요한 문제를 해결하는 방법을 체계적으로 정리한 것, 즉, "문제 해결 능력"주어진 문제를 어떻게 풀이하는가에 따라 그 문제를 해결할 수도, 못할 수도 있으므로 프로그램 작성에 있어 알고리즘이란 중요한 자리를 차지하고 있음프로그램의 가장 작은 단위는 일반적으로 입력(input) → 처리(p.. 2024. 6. 15.
sys (인터프리터 제어 모듈) 00 개요회사에서 숙제내준 코드분석 sys 모듈이 나오길래 정리하고자 한다. 할 수 있쒀01 sys 모듈이란1. sys 모듈 정의'System'의 약자시스템-관련 파라미터와 함수들을 제공하는 모듈로서 인터프리터에 의해 사용/유지되는 일부 변수들 및 인터프리터와 강하게 상호작용하는 함수들에 대한 접근 제공즉, 파이썬 인터프리터를 제어할 수 있는 방법을 제공하며 시스템과 관련된 정보들을 제공하는 모듈02 sys 사용import sys1. 함수1) sys.argvsys.argv>>> print(type(sys.argv))명령행 인자를 읽어올 때 사용명령줄에서 python 스크립트 실행 시 전달된 인수의 listPython을 실행하면서 입력된 파라미터를 전달받아 활용할 수 있는 기능argv를 출력하면 입력된 인.. 2024. 6. 13.
re (정규표현식 작업 모듈) 00 개요코드분석 시 나오길래 정리하고자 함re는 regular expression(정규 표현식)의 약자인데 뭔지 알고자 할 경우 다음을 참조 (2024.03.26 - [Python/기본문법] - Regular Expression (정규표현식)) 01 re 모듈이란1. re 정의'Regular Expression'의 약자이 모듈은 정규 표현식 매칭 작업을 제공both patterns and strings to be searched can be Unicode strings (str) or 8-bit strings (bytes)Unicode strings and 8-bit strings cannot be mixedyou cannot match/substitute a Unicode string w/ a byt.. 2024. 6. 13.
Projection (프로젝션, 데이터 저장소) 00 개요회사에서 코드분석 하는데 VIEW를 만들길래 이것이 뭔가 하고 정리하고자 함01 Projection이란1. Projection 정의 (테이블과 프로젝션)Vertica의 테이블은 논리적인 구조를 정의 할 뿐 데이터를 저장하고 있지 않으며, 데이터를 저장하는 곳은 Projection이라는 물리적인 구조임테이블당 복수 개의 projection을 생성 가능전체 컬럼을 가지는 projection이 반드시 하나 존재해야 하며(super projection), 테이블의 컬럼을 일부만 가지고 projection도 생성 가능또한 테이블과 다른 정렬순서로 데이터를 저장 가능정렬은 항상 ASC(오름)로 정렬됨버티카에서는 table을 anchor table이라고 부르기도 함2. Projection 생성되는 시기Ver.. 2024. 6. 13.
Encoding/Compression Types (인코딩/압축 종류) 00 개요회사에서 코드분석 할 때 sql 파일 안 쿼리문에서 encoding을 COMMONDELTA_COMP이랑 RLE를 많이 사용하는데 이것들이 뭔지 알기 위해 정리하고자 함01 Encoding TypesVertica는 여러가지 encoding 및 compression 종류를 제공함종류설명AUTO (기본값)- ideal for sorted, many-valued columns such as Primary Keys- also suitable for general purpose applications for which no other encoding or compression scheme is applicable- CPU requirements for this type are relatively small.. 2024. 6. 13.