devops 84

DuckDB CLI 및 SQL CheatSheet

DuckDB CLI 및 SQL CheatSheet - 주요 파일 포맷, DB Attach, HTTP/S3, ExcelDuckDB CLI 및 SQL CheatSheet 가이드1. DuckDB와 CLI/SQL 기능 소개DuckDB는 고성능 분석 쿼리를 위해 설계된 인-프로세스, 컬럼 지향 OLAP 데이터베이스입니다. CLI와 SQL 인터페이스를 통해 CSV, Parquet, JSON, Excel 등의 파일 포맷을 처리하고, 데이터베이스를 관리하며, HTTP/S3와 같은 웹 기반 스토리지와 통합할 수 있습니다. 이 치트시트는 DuckDB의 CLI와 SQL 명령어를 중심으로 실용적인 예제와 모범 사례를 제공합니다.주요 기능:파일 포맷 지원: CSV, Parquet, JSON, Excel 등을 손쉽게 읽고 쓰기...

devops 2025.05.18

DuckDB, CSV에서 MySQL로의 ETL

DuckDB를 ETL 도구로 활용 : CSV 데이터 → MySQL DuckDB를 통한 CSV 데이터를 MySQL로 ETL 하는 방법ETL이란?ETL이란 Extract, Transform, Load의 약자로, 데이터를 다양한 소스에서 추출하고 변환하고 적재하는 과정ETL을 수행하기 위해서는 여러가지 툴을 사용할 수 있는데 그 중 하나 DuckDB 활용하는 안DuckDBDuckDB는 분석 쿼리에 최적화된 임베디드 데이터베이스 DuckDB는 PostgreSQL과 호환되는 SQL 문법을 사용하고, 여러 DB와 연결하여 데이터를 효율적으로 가져와 로컬 DuckDB에서 데이터 처리 가능Extensions : https://duckdb.org/docs/extensions/overviewETL 예제DuckDB에서 CS..

devops 2025.05.18

유니코드 NFD to NFC 변환

유니코드 NFD 문자열을 NFC 문자열로 변환하는 방법을 Python 스크립트와 nfd2c 툴을 활용하여 설명합니다.이 글은 macOS 및 다양한 운영 체제에서 유니코드 호환성을 유지하기 위해 NFD와 NFC 간 변환이 필요한 상황에 유용합니다.NFD와 NFC유니코드는 다양한 언어와 문자를 일관되게 표현하기 위한 국제 표준입니다. 하지만 동일한 문자라도 운영 체제나 시스템에 따라 다른 유니코드 정규화 방식(NFD, NFC)으로 저장되거나 처리될 수 있습니다.이는 파일 시스템, 데이터베이스, 문자열 비교 등에서 예상치 못한 문제를 일으킬 수 있습니다.유니코드 정규화 방식NFD (Normalization Form Decomposition)문자 분해 방식: 기본 문자와 결합 문자(음절)를 별도로 분리해 표현합..

devops 2024.11.27

TLS와 SSH 프로토콜 기능 비교

TLS와 SSH 프로토콜의 서버-클라이언트 협상 항목과 기능 비교TLS와 SSH 프로토콜 정의1. TLS(Transport Layer Security)TLS 프로토콜은 인터넷 상에서 안전한 통신을 위해 사용되는 암호화 프로토콜입니다.TLS는 SSL(Secure Sockets Layer) 프로토콜의 후속 버전으로, 웹 브라우저와 웹 서버 사이의 통신을 암호화하여 데이터 보안을 강화하는데 사용됩니다.TLS 프로토콜의 주요 기능암호화: 클라이언트와 서버 간의 통신 내용을 암호화하여 보호인증: 서버의 신원을 인증하고, 클라이언트 인증도 지원무결성: 전송 데이터의 변조를 방지TLS는 HTTP, SMTP, IMAP 등 다양한 프로토콜의 보안 계층으로 사용됩니다. TLS 1.0/1.1은 더 이상 권장되지 않으며, 현..

devops 2024.11.26

localhost.run과 ngrok - 로컬 서비스의 외부 노출 도구

로컬(localhost) 서비스를 터널링을 통해 외부에서 접근 가능하도록 만들어주는 도구들을 소개합니다.주요 사용 사례:외부 API의 웹훅(webhook) 테스트클라이언트에게 개발 중인 기능 데모모바일 기기에서 로컬 개발 서버 접근협업 시 로컬 개발 환경 공유개발 단계에서 로컬에서 실행 중인 서비스를 외부에 임시로 공개해야 할 때 유용합니다.(보안 및 안정성 문제로 실제 프로덕션 환경에서는 사용하지 않는 것을 권장합니다)localhost.runhttps://localhost.run/{:target="_blank"}SSH 리버스 터널링을 활용하여 로컬 서비스를 외부에 노출별도의 프로그램 설치가 필요 없고 SSH 클라이언트만 있으면 사용 가능무료로 사용 가능하며 커스텀 도메인 지원테스트용 서비스 실행아래 예..

devops 2024.11.22

Docker Multi-Architecture Build Guide

Docker 이미지 다중 아키텍처(Multi-Architecture) 빌드 가이드Docker buildDocker 이미지를 빌드할 때는 기본적으로 빌드하는 머신의 CPU 아키텍처(Platform)에 맞춰 빌드됩니다. 이는 Docker의 기본 동작이며, 호스트 시스템의 아키텍처와 일치하는 이미지를 생성합니다.아키텍처의 중요성: 컨테이너는 호스트 OS의 커널을 공유하지만, CPU 아키텍처에 맞는 바이너리가 필요합니다. 예를 들어, ARM64용으로 빌드된 이미지는 AMD64 시스템에서 직접 실행할 수 없습니다.macOS arm64 테스트$ uname -aDarwin glass 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; \root:xn..

devops 2024.11.20

Git 커밋 메시지 수정

Git 커밋 메시지 수정Git 커밋 메시지 수정 가이드Git을 사용하다 보면 커밋 메시지를 수정해야 할 경우가 자주 발생합니다.이 글에서는 가장 기본적인 방법부터 고급 기술까지 모든 커밋 메시지 수정 방법을 다루겠습니다.기본적인 커밋 메시지 수정 방법1. 가장 최근 커밋 메시지 수정가장 최근의 커밋 메시지를 수정하는 것은 매우 간단합니다.git commit --amend또는 에디터를 열지 않고 직접 메시지를 입력할 수우도 있습니다:git commit --amend -m "새로운 커밋 메시지"2. 커밋 내용과 메시지 함께 수정파일 변경사항을 포함하여 최근 커밋을 수정할 수 있습니다:# 파일 수정 후git add 수정된_파일git commit --amend3. 커밋 날짜 업데이트커밋의 날짜를 현재 시간으로 ..

devops 2024.11.16

네트워크 스캐닝 도구 비교: Nmap vs. Netcat

Nmap vs. nc (Network Mapper vs. Netcat) 네트워크 스캐닝 도구로서 비교Nmap vs. nc (Netcat): 네트워크 스캐닝 도구 비교Nmap (Network Mapper)네트워크 스캐닝 및 보안 평가 도구로, 대규모 네트워크에서 호스트, 서비스, 오픈 포트를 탐지하는 데 사용네트워크 호스트, 서비스, 오픈 포트 스캐닝, 운영 체제 감지, 버전 감지, 서비스 식별 등 다양한 네트워크 탐지 및 보안 평가 기능옵션설명예제-p특정 포트를 스캔합니다nmap -p 80,443 192.168.1.100-p-모든 포트를 스캔합니다nmap -p- 192.168.1.100-sV서비스 버전을 탐지합니다nmap -sV 192.168.1.100-O운영 체제를 탐지합니다nmap -O 192.168..

devops 2024.11.15

Docker 독립적인 네트워크 인터페이스 - Macvlan

Docker Macvlan 네트워크 소개, 활용 및 이슈1. Docker Macvlan 네트워크?Macvlan 네트워크는 컨테이너에 독립적인 네트워크 인터페이스를 제공하여 물리적 네트워크와 직접 상호작용 가능이는 각 컨테이너가 고유한 MAC 주소를 가지므로 네트워크 수준에서 완전히 독립된 호스트처럼 동작 가능호스트 머신과 같은 네트워크에 docker 컨테이너를 생성 목적Macvlan 네트워크 설정은 물리적 네트워크 환경에 따라 적절한 서브넷과 게이트웨이를 사용 필요 (e.g. DHCP 환경)Macvlan 구성네트워크 성능 향상: 호스트의 NAT를 거치지 않아 성능이 향상네트워크 격리: 각 컨테이너가 고유한 MAC 주소를 가져 네트워크 레벨에서 완전히 격리기존 네트워크와의 통합: 기존 물리적 네트워크 인프..

devops 2024.11.14