현기증 난단 말이에요... 분산 환경에서 살아남기 위한 처절한 기록서론 : 서버가 죽었다, 그것도 두 번이나개발자의 심장을 가장 빠르게 뛰게 하는 것은 무엇일까? 연봉 협상? 코드 리뷰? 갑자기 날아오는 기획 변경? 아니다. 단연코 "서버가 죽었습니다"라는 알림이다. 나는 최근 이 경험을 두 번이나 했다. 그것도 같은 목적을 위해 다른 기술을 사용하다가. PostgreSQL의 논리복제(Logical Replication)로 한 번, FDW(Foreign Data Wrapper)로 또 한 번. 같은 실수를 두 번 하면 그건 실수가 아니라 실력이라던데... 그래, 인정한다. 이건 내 실력이다. 😇🧑💻 "어? 서버 왜 이렇게 느려요?"👨💻 "잠깐만... 뭐지?"🖥️ Connection refus..
개발이야기
morePostgreSQL 15 · Windows 환경 · FDW 실무 적용 · 이종 DB 연동PostgreSQL의 Foreign Data Wrapper(FDW)는 외부 데이터베이스를 로컬 테이블처럼 사용할 수 있도록 지원하는 기능입니다. 본 글에서는 PostgreSQL 15 Windows 환경을 기준으로 Postgres 간 연동부터 Oracle, MySQL, SQL Server 등 이종 데이터베이스를 실제 운영 환경에서 연결하고 활용하는 방법을 정리합니다.FDW 개요 및 Oracle DB Link와의 차이Foreign Data Wrapper(FDW)는 PostgreSQL에서 외부 데이터 소스를 외부 테이블(Foreign Table) 형태로 정의하여 SELECT, INSERT, UPDATE, DELETE를 수행..
단순한 SMTP 전송을 넘어, 데이터 분석부터 오라클 DB Job 대체까지이전 포스팅(https://odinbox.co.kr/562)에서 우리는 PostgreSQL에서 Python을 연동하여 SMTP 메일을 발송하는 방법을 다루었습니다. 하지만 이것은 PL/Python이 가진 잠재력의 극히 일부에 불과합니다.많은 분이 "Python으로 만든 함수의 결과값을 SQL 쿼리 내에서 바로 사용할 수 있는가?", "외부 API와 통신하여 데이터를 가져와 DB에 넣을 수 있는가?", 그리고 "오라클의 DB Job처럼 스케줄링이 가능한가?"에 대해 궁금합니다.이번 글에서는 PostgreSQL의 확장 기능인 PL/Python을 활용하여 Python의 방대한 라이브러리 생태계를 DB 내부로 가져오는 방법과, pg_cro..
IT이야기
moreNVIDIA AI RESEARCH DEEP DIVE 번역 및 분석을 통해 본 AI 모델의 미래엔비디아가 최근 공개한 논문 "Nemotron Elastic: Towards Efficient Many-in-One Reasoning LLMs (arXiv:2511.16664)"를 한국어로 번역하고, 그 핵심 원리를 심층 분석한 결과물입니다. 기존의 인공지능 개발 방식은 커다란 모델(예: 12B)과 작은 모델(예: 6B)을 만들 때 각각 수조 개의 데이터를 사용해 따로 학습시켜야 했습니다. 이는 비용과 시간 면에서 엄청난 낭비를 초래합니다. 엔비디아의 연구진은 이러한 문제를 해결하기 위해, '단 한 번의 학습으로 여러 크기의 모델을 즉시 추출'할 수 있는 '엘라스틱(Elastic)' 아키텍처를 제안했습니다.왜 '..
Oracle vs PostgreSQL 가이드시스템 운영 환경에서 데이터베이스가 직접 이메일을 발송해야 하는 요구사항은 꾸준히 존재합니다. 배치 작업 결과의 즉각적인 보고나 치명적인 데이터 오류 발생 시 관리자 알림을 위해, WAS(Web Application Server)를 거치지 않고 DB 레벨에서 SMTP 프로토콜을 직접 제어하는 것이 효율적일 때가 많습니다. 본 문서에서는 엔터프라이즈의 표준인 Oracle의 UTL_SMTP 방식과 오픈소스의 강자 PostgreSQL의 PL/Python 구현 방식을 비교 분석하고, 실무 적용 시 반드시 마주하게 되는 보안 설정 및 오류 해결 방법까지 상세히 기술합니다.1. Oracle : UTL_SMTP 패키지 활용 및 ACL 보안Technical ContextOra..
예상 읽기 시간 : 약 18분랜섬웨어 완벽 가이드원리 · 배포 경로 · 예방 · 대응 총정리정보보안랜섬웨어 대응2025년 최신 정보목차왜 지금 랜섬웨어를 알아야 하는가랜섬웨어란 무엇인가랜섬웨어의 작동 원리주요 배포 경로최근 주요 사례예방 방법정부 공식 문서 및 대응 체계복구 방법마무리왜 지금 랜섬웨어를 알아야 하는가최근 몇 년간 전 세계적으로 랜섬웨어 공격이 급증하면서, 개인부터 대기업, 정부 기관까지 막대한 피해를 입고 있습니다. 단순히 컴퓨터 바이러스의 일종으로 생각했던 랜섬웨어는 이제 조직의 운영을 마비시키고 수십억 원의 금전적 손실을 야기하는 심각한 사이버 위협으로 자리 잡았습니다.493억원2024년 평균 피해액11초랜섬웨어 공격 발생 주기72%중소기업 타겟 비율이 글에서는 랜섬웨어가 무엇인지, ..
사는이야기
more매일 반복되는 코드와의 씨름, 그리고 뼛속까지 시린 한국의 겨울 추위에 지쳐갈 때쯤이었습니다. 회사에서 괌으로 워크샵을 간다는 소식이 들려왔습니다. 보통 워크샵이라고 하면 짜여진 일정에 몸을 맡기는 수동적인 여행을 떠올리기 쉽지만, 이번 여행의 모토는 조금 달랐습니다. "워크샵이지만 최대한 자유여행처럼." 개발자로서 효율성을 중시하는 저에게 이보다 더 매력적인 제안은 없었죠. 목요일 저녁 업무를 마치고 부산 김해공항으로 달려가 월요일 아침 바로 출근하는, 꽉 찬 3박 5일간의 기록을 풀어보려 합니다. 단순한 여행기를 넘어 2025년 현재 괌의 물가, 분위기, 그리고 놓치지 말아야 할 포인트들을 아주 상세하게 정리했습니다.1. 왜 지금 괌인가? 데이터로 보는 여행 트렌드여행을 떠나기 전, 습관처럼 데이터를..
Developer Retrospective · 2022-2026레거시와 혁신 사이, 울산 토박이 개발자의 4년 성장 로그01. Initialize : 절실함이라는 동력어린 시절 저는 컴퓨터 본체를 분해하고 비주얼베이직(Visual Basic)으로 화면을 그리던 공학도 꿈나무였습니다. 울산정보영재에 합격하며 확신을 얻었지만, 사춘기라는 예기치 못한 버그(Bug)를 만나 학교 밖 청소년이 되는 시련을 겪기도 했습니다.뒤늦은 대학 입학 후에도 현실은 녹록지 않았습니다. 학비를 위해 마트 배달, 철물점, 막노동을 전전해야 했고, 특히 엔진오일 생산 공장에서 땀 흘리던 시절은 제 인생의 전환점이 되었습니다. "지금 이 루프(Loop)를 끊지 않으면 미래는 없다"는 절박함이 저를 다시 키보드 앞으로 이끌었고, 그 ..
지독했던 원망 끝에 아버지를 보냈습니다.술 냄새 속에 가려졌던 당신의 진심2025. 12. 24. 소리 내지 못한 고백2025년 12월 7일, 아버지가 세상을 떠나셨습니다. 이틀 뒤인 12월 9일, 입관과 발인을 거쳐 화장까지 마쳤습니다. 경제적인 사정과 여러 이유로 가족들과 고심 끝에 '무빈소 장례'를 치렀습니다. 빈소도 없이 아버지를 보내드리는 길, 차가운 공기만큼이나 가슴 한구석이 무겁고 씁쓸했습니다. 아버지의 술 냄새, 그리고 나의 상처어린 시절 제 기억 속의 아버지는 늘 술에 취해 계셨습니다. 현관문을 열 때부터 풍겨오던 지독한 술 냄새는 어린 저에게 공포였고, 지울 수 없는 상처였습니다. 술에 의지해 삶을 버티던 당신의 모습 때문에 저는 참 많이도 울었고, 아버지를 미워하고 원망하며 자랐습니다..
-
부산에서 괌까지, 직장인의 3박 5일 꽉 찬 힐링 여행기
매일 반복되는 코드와의 씨름, 그리고 뼛속까지 시린 한국의 겨울 추위에 지쳐갈 때쯤이었습니다. 회사에서 괌으로 워크샵을 간다는 소식이 들려왔습니다. 보통 워크샵이라고 하면 짜여진 일정에 몸을 맡기는 수동적인 여행을 떠올리기 쉽지만, 이번 여행의 모토는 조금 달랐습니다. "워크샵이지만 최대한 자유여행처럼." 개발자로서 효율성을 중시하는 저에게 이보다 더 매력적인 제안은 없었죠. 목요일 저녁 업무를 마치고 부산 김해공항으로 달려가 월요일 아침 바로 출근하는, 꽉 찬 3박 5일간의 기록을 풀어보려 합니다. 단순한 여행기를 넘어 2025년 현재 괌의 물가, 분위기, 그리고 놓치지 말아야 할 포인트들을 아주 상세하게 정리했습니다.1. 왜 지금 괌인가? 데이터로 보는 여행 트렌드여행을 떠나기 전, 습관처럼 데이터를..
-
왜 긁어 부스럼을 만드냐고요? 혁신을 위해서입니다.
Developer Retrospective · 2022-2026레거시와 혁신 사이, 울산 토박이 개발자의 4년 성장 로그01. Initialize : 절실함이라는 동력어린 시절 저는 컴퓨터 본체를 분해하고 비주얼베이직(Visual Basic)으로 화면을 그리던 공학도 꿈나무였습니다. 울산정보영재에 합격하며 확신을 얻었지만, 사춘기라는 예기치 못한 버그(Bug)를 만나 학교 밖 청소년이 되는 시련을 겪기도 했습니다.뒤늦은 대학 입학 후에도 현실은 녹록지 않았습니다. 학비를 위해 마트 배달, 철물점, 막노동을 전전해야 했고, 특히 엔진오일 생산 공장에서 땀 흘리던 시절은 제 인생의 전환점이 되었습니다. "지금 이 루프(Loop)를 끊지 않으면 미래는 없다"는 절박함이 저를 다시 키보드 앞으로 이끌었고, 그 ..
-
PostgreSQL 논리복제와 FDW로 운영 서버를 두 번 죽여본 개발자의 실시간 데이터 동기화 생존기
현기증 난단 말이에요... 분산 환경에서 살아남기 위한 처절한 기록서론 : 서버가 죽었다, 그것도 두 번이나개발자의 심장을 가장 빠르게 뛰게 하는 것은 무엇일까? 연봉 협상? 코드 리뷰? 갑자기 날아오는 기획 변경? 아니다. 단연코 "서버가 죽었습니다"라는 알림이다. 나는 최근 이 경험을 두 번이나 했다. 그것도 같은 목적을 위해 다른 기술을 사용하다가. PostgreSQL의 논리복제(Logical Replication)로 한 번, FDW(Foreign Data Wrapper)로 또 한 번. 같은 실수를 두 번 하면 그건 실수가 아니라 실력이라던데... 그래, 인정한다. 이건 내 실력이다. 😇🧑💻 "어? 서버 왜 이렇게 느려요?"👨💻 "잠깐만... 뭐지?"🖥️ Connection refus..
-
PostgreSQL FDW
PostgreSQL 15 · Windows 환경 · FDW 실무 적용 · 이종 DB 연동PostgreSQL의 Foreign Data Wrapper(FDW)는 외부 데이터베이스를 로컬 테이블처럼 사용할 수 있도록 지원하는 기능입니다. 본 글에서는 PostgreSQL 15 Windows 환경을 기준으로 Postgres 간 연동부터 Oracle, MySQL, SQL Server 등 이종 데이터베이스를 실제 운영 환경에서 연결하고 활용하는 방법을 정리합니다.FDW 개요 및 Oracle DB Link와의 차이Foreign Data Wrapper(FDW)는 PostgreSQL에서 외부 데이터 소스를 외부 테이블(Foreign Table) 형태로 정의하여 SELECT, INSERT, UPDATE, DELETE를 수행..
-
PostgreSQL과 Python의 만남, PL/Python 활용부터 pg_cron 스케줄링까지
단순한 SMTP 전송을 넘어, 데이터 분석부터 오라클 DB Job 대체까지이전 포스팅(https://odinbox.co.kr/562)에서 우리는 PostgreSQL에서 Python을 연동하여 SMTP 메일을 발송하는 방법을 다루었습니다. 하지만 이것은 PL/Python이 가진 잠재력의 극히 일부에 불과합니다.많은 분이 "Python으로 만든 함수의 결과값을 SQL 쿼리 내에서 바로 사용할 수 있는가?", "외부 API와 통신하여 데이터를 가져와 DB에 넣을 수 있는가?", 그리고 "오라클의 DB Job처럼 스케줄링이 가능한가?"에 대해 궁금합니다.이번 글에서는 PostgreSQL의 확장 기능인 PL/Python을 활용하여 Python의 방대한 라이브러리 생태계를 DB 내부로 가져오는 방법과, pg_cro..