Programming 36

💾 SQL Server 메모리 과점유 문제 해결 및 진단 가이드

🔎 문제 상황최근 로컬 개발 환경에서 SQL Server가 시스템 메모리를 과도하게 점유하면서, 다른 응용 프로그램(VS Code, 크롬, 파이썬 등)의 반응 속도가 느려지는 현상이 발생했다. 작업 관리자를 열어보니 전체 16GB 메모리 중 여유 공간이 1GB도 채 남지 않은 상태였다.SQL Server는 기본적으로 시스템 메모리를 가능한 한 많이 사용하도록 설계되어 있기 때문에, 특별한 설정이 없다면 이런 상황이 자주 발생할 수 있다.⚠️ 원인 요약SQL Server의 기본 메모리 설정값은 max server memory = 2147483647, 즉 무제한 사용그 결과, OS나 다른 앱에 할당할 메모리가 부족해짐Windows OS에서 available memory가 1GB 이하로 떨어지면 전체 시스템..

Programming 2025.05.28

📊 Twelve Data API 완벽 가이드 – 실시간 금융 데이터 가져오기

요즘 주식, 암호화폐, 외환 데이터를 자동으로 분석하거나 시각화하는 작업을 많이 하죠. 그럴 때 필요한 것이 바로 신뢰할 수 있는 금융 데이터 API입니다. 오늘은 그중에서 **가볍고 사용이 간편한 API인 Twelve Data**를 소개하고, 실전 코드까지 함께 살펴보겠습니다.🔎 Twelve Data란?Twelve Data는 전 세계 금융시장 실시간 데이터 및 과거 시세를 손쉽게 가져올 수 있는 REST API 기반의 서비스입니다.초보 개발자부터 프로 개발자, 퀀트 투자자까지 다양하게 활용할 수 있도록 문서도 잘 정리돼 있으며, 무료 요금제로도 꽤 많은 기능을 사용할 수 있습니다.🎯 제공하는 데이터 종류주식 (Stocks)ETF암호화폐 (Crypto)외환 (Forex)지수 (Indices)펀더멘털 ..

Programming 2025.05.10

📈 yfinance 429 오류 해결법: Too Many Requests 문제 완전 정복

최근 금융 데이터 수집을 자동화하려는 많은 개발자들이 yfinance를 활용해 Yahoo Finance API에서 데이터를 가져오고 있다. 그러나 2025년 4월 말부터 갑작스럽게 429 Too Many Requests 오류가 빈번하게 발생하고 있다. 본 포스팅에서는 이 오류의 원인 분석부터 해결 방법까지, 실전 코드와 함께 상세히 정리해보겠다.🛑 문제 현상: 429 오류의 정체는?❗ 에러 메시지YFRateLimitError('Too Many Requests. Rate limited. Try after a while.')위 메시지는 Yahoo Finance API에서 너무 많은 요청이 들어오거나, Python의 requests 모듈을 통한 접근을 제한했을 때 발생한다.심지어 동일 코드를 웹 브라우저에서..

Programming 2025.05.10

🛠️ 야후 파이낸스 API 429 오류(Too Many Requests) 대응법 총정리

야후 파이낸스는 트레이딩 봇, 백테스트, 투자 정보 분석 등에 유용한 API입니다. 하지만 비공식 API인 만큼 일정 횟수 이상 요청을 보내면 HTTP 429 Too Many Requests 오류로 차단될 수 있습니다.이번 포스트에서는 이 오류 발생 시:원인회복 방법코드 예시지수 백오프 + User-Agent 우회 + 자동복구를 한 번에 다룹니다.📌 1. 429 오류란?HTTP 429: Too Many Requests너무 자주 요청을 보낼 경우 서버가 차단일반적으로 IP, User-Agent, 쿠키 등의 패턴 기반으로 감지보통 수 분~수 시간 후 자동 해제되며, 영구 차단은 드뭄📦 2. fetch_trending_tickers() 함수 구조import timeimport randomimport req..

Programming 2025.05.08

🧠 진짜 쉽게 배우는 Python 함수형 프로그래밍: lambda, map, filter, reduce

Python을 배우다 보면 이런 문법들이 등장합니다:lambda, map, filter, reduce처음 보면 생소하고, 도대체 왜 쓰는지 감이 안 오기도 하죠.하지만 코드를 짧고 간결하게 만들 수 있어서, 파이썬스러운 코드 작성을 위해 꼭 알아야 하는 기본 문법입니다.이 글에서는 초보자도 이해할 수 있도록 하나하나 아주 쉽게 설명해드릴게요. 🚀🔸 1. lambda 함수 – 이름 없는 함수✅ lambda란?lambda는 짧은 함수를 한 줄로 정의할 때 사용합니다.함수 이름을 생략하기 때문에 익명 함수라고도 부릅니다.📌 우리가 원래 알던 함수 만들기 방식부터 볼게요.# 일반 함수def plus(x, y): return x + yprint(plus(3, 4)) # 👉 7이걸 lambda로 바꾸..

Programming 2025.03.31

📡 Python으로 MSSQL 저장 프로시저 실행하기 (파라미터 전달까지 완벽 정리!)

Python을 사용해서 MSSQL에 저장된 프로시저(Stored Procedure) 를 호출하고,파라미터를 안전하게 전달하는 방법을 실습 중심으로 알아보겠습니다.이 포스트 하나로, 기초부터 실전 예제까지 완벽히 정리해드릴게요! ✅✅ 저장 프로시저란?저장 프로시저(Stored Procedure) 는 미리 정의된 SQL 쿼리 블록을 데이터베이스에 저장해놓고,필요할 때마다 호출해서 실행할 수 있는 일종의 “미리 짜둔 함수”입니다.예시:EXEC GetUserByAge @MinAge = 30우리는 이걸 Python 코드로 자동화하는 것이 목표입니다.🛠 1. Python에서 MSSQL 연결하기📦 설치해야 할 라이브러리pip install pyodbcpyodbc는 Python에서 ODBC 드라이버를 통해 SQL ..

Programming 2025.03.28

📬 Python으로 텔레그램에 알림 보내는 방법 (봇 API 활용)

자동화 모니터링, 에러 감지, 백업 완료 알림까지! Python으로 텔레그램 봇을 활용해 실시간 메시지를 전송해보세요. 🧱 1. 텔레그램 봇 만들기📌 1-1. @BotFather 실행텔레그램 앱을 열고 검색창에 @BotFather 입력 → 채팅 시작/start/newbot봇 이름 입력 (ex: My Alert Bot)봇 사용자명 입력 (반드시 bot으로 끝나야 함. ex: my_alert_bot)성공 시 아래와 같은 메시지와 함께 토큰(token)을 제공합니다.Use this token to access the HTTP API:123456789:ABCdefGHIjklMNOpqrSTUvwxYZ✅ 이 토큰은 절대 외부에 유출되지 않도록 주의하세요!🔍 2. Chat ID 확인하기텔레그램 메시지를 보내려..

Programming 2025.03.27

🔎 Python에서 조건별로 MSSQL 쿼리 동적 생성하기 (f-string과 SQL Injection 방지법)

Python으로 MSSQL에 접속할 때, 사용자의 선택이나 조건에 따라 동적으로 SQL 쿼리를 생성해야 하는 상황이 많습니다.하지만 잘못된 방식으로 쿼리를 구성하면 보안에 치명적인 SQL Injection 문제가 발생할 수 있죠. 이번 포스팅에서는 아래 내용을 쉽게 정리해보겠습니다.f-string을 이용한 동적 쿼리 생성법SQL Injection 방지법 (✅ params 사용)실전 예제와 비교📌 1. 기본 구조: MSSQL 접속과 쿼리 실행import pyodbcconn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=서버주소;DATABASE=DB명;UID=아이디;PWD=비번')cursor = conn.cursor()💥 2. ..

Programming 2025.03.26

📦Python 가상환경(venv) 사용법 + `requirements.txt` 완전정복

팀 프로젝트를 하거나 외부에 배포할 때, 파이썬 가상환경 설정과 패키지 관리는 필수입니다.이번 포스팅에서는 venv로 가상환경을 만들고, requirements.txt로 패키지를 관리하는 법을 기초부터 실전 예제까지 정리해보겠습니다. ✅🎯 1. 가상환경이란? 왜 필요한가요?파이썬은 전역(Global) 환경에 패키지를 설치하면 모든 프로젝트에서 섞여서 충돌할 수 있습니다.📌 가상환경은 프로젝트마다 독립된 패키지 공간을 만들어주는 "격리된 공간"입니다.예를 들어,프로젝트 A는 pandas==1.3프로젝트 B는 pandas==2.2을 쓸 때 서로 영향을 주지 않도록 해주는 게 바로 venv입니다!🛠️ 2. 가상환경 만들기 (venv 사용)✅ 가상환경 생성python -m venv venvvenv라는 폴더..

Programming 2025.03.25

🔁 MSSQL에서 반복문 처리하기: WHILE vs CURSOR 기초 정리

SQL은 기본적으로 선언형 언어지만, 반복 작업이 필요한 경우에는 WHILE이나 CURSOR 같은 제어문을 사용할 수 있습니다.이번 포스팅에서는 MSSQL에서 반복문을 처리하는 두 가지 방법,WHILE 루프와 CURSOR의 사용법을 예제로 쉽게 설명해 드릴게요! 🚀🧭 1. WHILE 루프 기본 사용법WHILE은 일반적인 프로그래밍 언어에서 쓰는 반복문과 유사합니다.✅ 기본 구조DECLARE @i INT = 1;WHILE @i 🔍 설명@i가 5보다 작거나 같은 동안 반복SET으로 카운터 증가PRINT 또는 INSERT, UPDATE 같은 SQL 명령어로 작업 수행🛠 실전 예제: 테이블에 1~10까지 숫자 삽입CREATE TABLE NumberTable (num INT);GODECLARE @i INT..

Programming 2025.03.24