일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- 팔레드오페라 웨딩홀 계약 후기
- 1주차
- 대전 웨딩홀 비교
- 대전본식스냅
- AI부트캠프
- 여백스냅
- 코린이블로그9일차 #알고리즘공부 #C언어
- 웅장한 웨딩홀
- 2주차
- 대전스냅
- 대전예식
- 대전 피로연장 넉넉한 웨딩홀
- 대전 웨딩홀 추천
- 대전결혼준비
- 코린이블로그8일차 #알고리즘공부 #C언어
- 코린이블로그4일차 #알고리즘공부 #C언어
- 대전본식스냅추천
- 대전스냅추천
- codestates
- AIBootcamp
- CLI
- 대전본식dvd
- 코린이블로그17일차 #알고리즘공부 #C언어
- 대전 팔레드오페라 후기
- 화담필름
- 코린이블로그2일차 #알고리즘공부 #C언어
- 대전 웨딩홀 가격
- 팔레드오페라웨딩홀
- 코드스테이츠
- Today
- Total
목록전체 글 (75)
찰리의 놀이터
Python 내 압축 관련 라이브러리 파이썬에서 사용할 수 있는 라이브러리는 다양합니다. brotli, lzma, zstd, bz2, lz4, zlib, gzip등이 있습니다. 이 중 zlib, bz2, lzma은 파이썬3에 내장모듈로 지원이 됩니다(lzma는 파이썬2에서 지원이 안됩니다). 위 그림을 보시면 zstd와 gzip이 시간도 빠르고 압축률도 높은 것으로 확인할 수 있습니다. 압축 알고리즘을 적용하는 ETL 파이프라인 프로젝트에서 저는 내장 모듈인 gzip을 사용하였습니다. 원리나 이해가 쉬운 자료를 찾기도 쉬웠고, 파이썬 공식문서에서도 자세히 설명되어 있어서 gzip으로 선택하였습니다. 오늘은 내장 모듈인 gzip 라이브러리에 대해서 배워보도록 하겠습니다. gzip gzip의 데이터 압축은 ..
압축 알고리즘(Compression Algorithm) 파일이나 이미지 데이터 등을 압축하기 위한 논리법으로 손실 압축과 무손실 압축으로 나눌 수 있습니다. 기본적으로 압축의 원리는 공간적으로 중복 성격의 데이터가 존재한다는 공간적 상관관계와 영상에서 시간이 지나도 화면에 큰 차이가 없는 경우다 있다는 시간적 상관관계라는 특성을 바탕으로 합니다. 쉽게 얘기해서 유사한 데이터의 반복을 압축함으로써 용량을 줄일 수 있다는 원리에 입각하는 것입니다. 손실 압축(Lossy Compression) 손실 압축은 중복된 그리고 필요하지 않은 정보가 손실되는 것을 허용하는 압축 기법을 말합니다. 데이터를 압축하여 자료를 받은 곳에 압축으로 풀어서 원래의 것과 다르게 보여주는 것을 말합니다. 이름만 들으면 무언가 잃어버..
데이터베이스(Database)란? 구조화된 정보 또는 데이터의 조직화된 모음입니다. 데이터베이스는 그 자체로는 데이터를 저장할 수 있는 창고의 역할이기 때문에 할 수 있는게 거의 없습니다. 그래서 데이터베이스 관리 시스템(DBMS, DataBase Management System) 과 통합된 상태로 제공됩니다. DB가 창고의 역할이라면 DBMS는 크레인과 지게차, 그리고 관리인과 같이 화물(데이터)를 적재 및 관리, 이동시키는 역할을 수행합니다. 데이터베이스의 보안 3요소 무결성(Integrity) : 데이터베이스에서 데이터에 대한 오류가 없어야합니다. 최초 오류가 없더라도 추가, 갱신, 삭제 등으로 오류가 발생할 수 있는데, 권한자만 데이터를 수정이 가능하도록 해야합니다. 가용성(Availability..
개발을 하다보면 변수이름 하나에도 많은 고민을 하게됩니다. 또한 팀원들과의 약속, 컨벤션을 지켜가면서 개발을 진행해야합니다. 컨벤션 중 이름에 관한 네이밍 컨벤션(Naming Convention)에 대해 알아보겠습니다. 스네이크(Snake) 케이스 각 단어 사이에 언더바(_)를 사용하여 연결하는 방식입니다. 언더바가 뱀을 연상시켜 "스네이크 표기법"이라고 합니다. Perl, PHP, Python, Ruby, Rust 등에서 많이 사용하는 방식입니다. ex ) snake_case, birth_date 파스칼(Pascal) 케이스 첫 단어를 대문자로 시작하는 표기법입니다. 프로그래밍 언어 파스칼에서 쓰이면서 "파스칼 표기법"이라고 합니다. Python 클래스 이름을 보통 파스칼 케이스로 짓는 편이고, 자바스..
중앙처리장치(CPU, Central Processing Unit) 중앙처리장치(이하 CPU)는 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치입니다. 프로그램의 실행과 데이터를 처리하는 역할을 수행합니다. 지난 포스팅에서 컴퓨터의 구조를 전체적으로 알아보았다면, 이번 포스팅에서는 중앙처리장치에 대해 알아보는 시간을 가지도록 하겠습니다. CPU 구성 CPU는 기본적으로 산술논리연산장치(ALU, Arithmetic and Logical Unit)와 레지스터(Register Set), 그리고 제어장치(Control Unit)으로 구성이 됩니다. 산술논리연산장치(ALU, Arithmetic and Logical Unit) CPU 내의 연산기능을 수행하는 장치로 산술연산과 논리 데이터에 ..
컴퓨터 유래 컴퓨터라는 명칭은 라틴어 "Computare"(먼저 계산한다)에서 유래되었습니다. 앨런 튜링은 독일군의 암호를 풀어내기 위해 튜링 머신을 개발했고, 영화 "이미테이션 게임"으로도 상영이 되었습니다. 튜링 머신은 암호를 "입력"하면 "계산"을 통해 암호를 해독한 결과를 "출력"하는 기계입니다. 튜링은 튜링 머신을 보편 만능 기계(Universal Computing Machine)이라고 불렀는데 컴퓨터의 시초라고 할 수 있습니다. 컴퓨터의 구조 컴퓨터란, 입력 받은 데이터를 정해진 규칙대로 처리하여 처리 결과를 저장하고 출력하는 전자 장치 입력받은 데이터 사람은 컴퓨터에 데이터를 입력하고 컴퓨터는 이를 받아들입니다. 데이터를 입력하기 위해 키보드 또는 마우스와 같은 입력장치를 통해 입력합니다. ..
명령 줄 인터페이스(CLI, Command Line Interface) 명령어 기반으로 컴퓨터를 제어하는 방식을 의미합니다. 입력과 출력이 모두 문자열의 형태로 이루어집니다. 가장 대표적인 예시로는 Dos, CMD, Bash, Unix Shell, Terminal 등이 있습니다. 그래픽 사용자 인터페이스(GUI, Graphic User Interface) 반대되는 개념으로는 GUI(Graphic User Interface)가 있습니다. GUI의 경우, 우리가 PC를 이용하면서 시각적으로 마우스를 움직이며 클릭과 같은 입력으로 컴퓨터를 제어하는 방식을 뜻합니다. 시각적으로 화면에 어떤 일이 일어나는 지 확인할 수 있으며, 키보드와 마우스를 통해 입력하고 화면을 통해 출력이 이루어집니다. CLI와 GUI의 ..
개발 환경(Development Environment) 개발을 위한 환경을 설정하는 것을 말한다. 파이썬 가상 환경, Git 설정, 터미널, CLI 사용법을 익히도록 한다. - 시작하기 전에 다운로드 받아야 할 것은 아나콘다(Anaconda), Git, VS Code가 있다. 터미널 (Terminal) 터미널은 글자 기반으로 명령을 전달할 수 있는 어플리케이션을 의미하며, 윈도우에서는 Ctrl+R을 누른 뒤 cmd를 치면 들어갈 수 있다. Mac에서는 Finder - 응용 프로그램 - 유틸리티 폴더 - 터미널을 더블 클릭하면 된다. 이렇게 글자 기반으로 명령과 결과가 진행되는 것을 CLI(Command Line Interface)라고 한다. 맥에서는 기본 터미널로도 CLI를 잘 이용할 수 있지만, 윈도우..