본문 바로가기

전체 글

[Python] Day 5: 파이썬 모듈과 파일 입출력 파이썬은 강력한 표준 라이브러리와 유연한 파일 처리 기능을 통해 자동화 작업에 매우 적합한 언어로 평가받는다. 특히 다양한 내장 모듈을 손쉽게 불러올 수 있으며, 텍스트 파일의 읽기/쓰기 기능은 데이터 처리의 기본이 된다. 이번 포스팅에서는 파이썬의 모듈 import 방법, 대표적인 내장 모듈의 활용법(math, random, os, datetime 등), 그리고 텍스트 파일 입출력의 실전 활용까지 단계적으로 정리하고자 한다. 더불어 날짜를 기반으로 자동으로 파일을 생성하는 방법까지 포함하여, 현업에 유용한 코드 작성 능력ㅇ르 기를 수 있도록 구성하였다. 1. 모듈(Module)의 이해와 사용법모듈이란?모듈이란 파이썬 코드가 담긴 파일로, 특정 기능이나 함수들을 미리 정의해놓은 것이다.import 구문을.. 더보기
[Python] Day 4: 함수와 예외 처리 함수와 예외 처리는 파이썬 프로그래밍에서 코드의 재사용성, 안정성, 가독성을 높이는 데 핵심적인 역할을 한다. 함수를 사용하면 반복되는 코드를 효율적으로 관리할 수 있으며, 예외 처리를 통해 오류 발생 시 프로그램의 예기치 않은 종료를 방지할 수 있다.이번 글에서는 사용자 정의 함수, 다양한 인자 전달 방식(*args, **kwargs 포함), 그리고 try-except-finally를 활용한 예외 처리까지 폭넓게 살펴보고자 한다. 각 개념은 실습과 예제를 통해 직관적으로 이해할 수 있도록 구성하였다. 1. 함수 (Function)1-1. 함수란 무엇인가?함수는 특정 작업을 수행하는 코드 블록에 이름을 붙인 것으로, 필요할 때 호출하여 실행할 수 있다. 코드를 재사용 가능하게 만들며, 프로그램을 더 구조.. 더보기
[Python] Day 3: 조건문과 반복문 프로그래밍의 핵심은 흐름 제어이다. 주어진 조건에 따라 명령을 수행하거나, 반복되는 작업을 자동화하는 구조는 모든 프로그래밍 언어의 기초이며, 파이썬도 예외는 아니다. 이번 포스팅에서는 파이썬의 대표적인 흐름 제어 도구인 조건문(if / elif / else)과 반복문(for / while)을 중점적으로 다루고, 함께 활용되는 range(), enumerate(), 그리고 break, continue 키워드까지 실습 중심으로 학습해본다. 마지막으로 실용적인 예제로 구구단 구현과 사용자 입력 처리까지 확인해보자.1. 조건문 (if / elif / else)조건문은 주어진 조건을 평가하여 그 결과에 따라 서로 다른 명령을 실행하는 구조이다. 파이썬의 조건문은 다음과 같은 형식을 따른다.if 조건: 실행.. 더보기
[Python] Day 2: 리스트, 딕셔너리, 튜플, 집합 squares = [x**2 for x in range(1, 6)]print(squares) # 출력: [1, 4, 9, 16, 25]​s = {1, 2, 3, 3, 4}# 출력 결과: {1, 2, 3, 4}프로그래밍에서 데이터를 효율적으로 저장하고 처리하기 위해서는 적절한 자료형을 선택하는 것이 무엇보다 중요하다. 특히 파이썬은 다양한 컬렉션 자료형을 제공하며, 각각의 자료형은 고유한 특징과 활용 용도를 가지고 있다. 이번 포스팅에서는 파이썬의 핵심 컬렉션 자료형인 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)의 특징과 차이점을 비교하고, 리스트 내포(List Comprehension)를 통해 보다 간결한 코드 작성 방법도 함께 살펴보고자 한다.1. 리스트(Li.. 더보기
[Python] Day 1: Python 기초 문법 1. 변수 선언과 데이터 타입1-1. 변수란?값을 저장하는 이름표. 변수를 통해 값을 저장하고 불러올 수 있다.기본 문법변수명 = 값1-2. int (정수), float (실수), str (문자열), bool (불린)# 정수age = 25# 실수height = 173.5# 문자열name = "Alice"# 불린is_student = True1-3. 실습예제 1# 예상: 변수의 값이 각각 출력됨age = 30height = 180.2name = "Bob"is_student = Falseprint(age)print(height)print(name)print(is_student)30 180.2 Bob False예제 2# 변수를 활용한 간단한 계산a = 10b = 5print(a + b) # 더하기pri.. 더보기
데이터베이스 파티셔닝: 개념부터 실전 적용까지 데이터베이스에서 성능을 개선하고 데이터를 효과적으로 관리하기 위한 방법 중 하나로 테이블 파티셔닝이 널리 활용되고 있다.이 글에서는 데이터베이스 초보자도 쉽게 이해할 수 있도록, 파티셔닝의 개념부터 실제 예시, 그리고 사용 시 주의해야 할 사항까지 단계적으로 설명하고자 한다.1. 파티셔닝이란 무엇인가파티셔닝(Partitioning)이란, 하나의 큰 테이블을 논리적으로 분할하여 여러 개의 작은 단위(파티션)에 나누어 저장하는 기술이다.이때 나누어진 각 단위는 **파티션(partition)**이라고 불리며,사용자 입장에서는 여전히 하나의 테이블처럼 보이지만, 내부적으로는 각 파티션별로 독립적인 저장 및 처리가 이뤄진다.이 개념은 마치 한 권의 두꺼운 책을 여러 권의 얇은 책으로 나누는 것과 유사하다.예를 들.. 더보기
Apache NiFi 고급 활용 가이드: 증분 수집부터 다중 전송까지 Apache NiFi는 시각적 데이터 흐름 자동화 도구로서, 단순한 수집과 전송을 넘어 다양한 고급 기능을 통해 유연하고 확장 가능한 데이터 파이프라인을 구성할 수 있다. 본 문서에서는 실무 현장에서 자주 활용되는 네 가지 고급 기능을 중심으로, 구체적인 Processor 구성과 설정 방법을 정리하였다.증분 수집 (Incremental Ingestion)데이터 전처리 (Data Transformation)다중 전송 대상 구성 (Multi-Sink Routing)정기 실행 (Scheduled Execution)1. 증분 수집 (Incremental Ingestion)1.1 기능 설명증분 수집이란, 이미 수집된 데이터를 제외하고 새롭게 생성되거나 갱신된 데이터만을 추출하는 방식이다.이는 중복 수집을 방지하고.. 더보기
Apache NiFi로 DB to DB 데이터 연동 자동화하기 이번에 회사에서 디지털 전환(DX)을 추진 중인 외부 업체의 DataMart 구축 프로젝트를 수주하였으며, 필자도 원래 하던 프로젝트가 마무리 됨과 동시에 해당 프로젝트에 투입되었다.해당 프로젝트에서는 초 단위로 실시간 적재되는 데이터를 소스 DB(PostgreSQL)로부터 수집하여 타겟 DB(PostgreSQL)의 데이터마트로 자동 이전하는 요구사항이 있었고, 이를 효과적으로 수행하기 위한 도구로 Apache NiFi가 선정되었다.본 문서에서는 Apache NiFi를 이용하여 소스 DB로부터 데이터를 수집하고, 타겟 DB로 전송하는 데이터 흐름을 자동화하는 절차를 단계별로 기술한다.1. Apache NiFi 개요Apache NiFi는 데이터의 수집, 처리, 라우팅, 전달 등의 작업을 GUI 기반의 시각.. 더보기