본문 바로가기

Development

208개의 글

Development

Flyway로 Spring Boot 스키마 버전 관리

운영 DB 스키마를 누가 언제 어떻게 바꿨는지 추적이 안 돼서 곤란했던 경험은 대부분 있을 것이다. 개발 DB에서는 되던 쿼리가 운영에서 컬럼이 없다고 터지고, ALTER 문은 누군가의 로컬 메모나…

아무로레이·2026년 9월 9일·조회 1
Development

Testcontainers로 Spring Boot 통합 테스트에 진짜 DB와 Kafka 띄우기 - @ServiceConnection, 컨테이너 재사용, CI 설정

통합 테스트를 H2 인메모리 DB로 돌려놓고 운영은 PostgreSQL로 하는 프로젝트를 자주 본다. 나도 예전엔 그렇게 했다. 빠르고 편하니까. 문제는 방언(dialect) 차이에서 터진다. H2…

¯¯\_(ツ)_/¯·2026년 9월 4일·조회 6
Development

pip와 venv, poetry를 uv 하나로 합치기 - pyproject.toml과 uv.lock으로 재현성 잡고 CI 빌드 시간 줄이기

Python 프로젝트를 새로 잡을 때마다 python -m venv 로 가상환경 만들고, pip install 로 패키지 넣고, pip freeze requirements.txt 로 목록을 뽑는 과…

주말만기다려주말만기다려·2026년 9월 2일·조회 5
Development

린트(lint)란 무엇인가 - 정적 분석 도구의 유래와 포매터와의 차이

새 프로젝트를 세팅할 때 "린트도 같이 걸어주세요"라는 요청을 받는 일이 많다. 그런데 막상 물어보면 린트가 컴파일 에러를 잡는 건지, 코드 정렬을 해주는 건지 헷갈려 하는 경우가 적지 않다. 빌드…

¯¯\_(ツ)_/¯·2026년 8월 27일·조회 9
Development

외부 서비스 웹훅을 로컬에서 테스트하고 서명 검증하기: smee, ngrok, HMAC, 재전송 방어

외부 서비스 연동을 붙이다 보면 웹훅(webhook) 처리에서 한 번은 멈춘다. 결제 완료, 저장소 push, 메시지 수신 같은 이벤트를 상대 서비스가 우리 서버로 POST해주는 구조인데, 문제는 …

포스트맨·2026년 8월 20일·조회 18
Development

Spring Boot @Async 스레드 폭증과 큐 적체 잡기: ThreadPoolTaskExecutor 설정과 MDC 전파

@Async 하나 붙였다가 운영에서 스레드가 이상하게 늘거나 응답이 밀리는 상황은 자주 온다. 그런데 그 원인을 검색하면 "@Async는 요청마다 스레드를 무한 생성해서 서버가 죽는다"는 설명이 많…

¯¯\_(ツ)_/¯·2026년 8월 16일·조회 12
Development

Git 히스토리에 커밋된 비밀번호와 API 키 완전히 제거하기 (git filter-repo, BFG, gitleaks)

사내 저장소를 정리하다 보면 config/deploy.env 같은 파일이 3년 전 커밋에 그대로 들어 있는 경우를 종종 만난다. 최신 커밋에서는 이미 지워져 있어서 눈에 안 띄다가, 저장소를 공개로…

동교동삼거리동교동삼거리·2026년 8월 7일·조회 10

Python(57868) MallocStackLogging: can't turn off malloc stack logging because it was not enabled. 해결방법

Development

1. 현상 macOS 상에서 수행 중인 파이썬 프로그램에서 다음과 같은 에러가 발생했습니다. Python(57868) MallocStackLogging: can't turn off malloc st…

아무로레이·2025년 3월 4일·조회 3,736

파이썬 장고 프로젝트 1분만에 생성하기 (Python Django Project)

Development

1. 개요 파이썬 장고 프로젝트를 생성하는 방법. 맥OS를 기반으로 한다. 2. 장고 설치 다음 명령어를 통해 장고를 설치한다. pip install django 또는 pip3 install dja…

아무로레이·2022년 10월 13일·조회 1,324

Node.js에서 PostgreSQL 연결하고 조회(SELECT) 쿼리 실행 결과 JSON 받아오기

Development

1. 배경 Node.js에서 PostgreSQL 데이터를 SELECT하여 JSON으로 반환하는 API 생성. 기본적인 연결 방법은 /index.php/development/2288-node-js-p…

아무로레이·2022년 7월 5일·조회 2,789

Node.js의 pg 모듈을 이용한 PostgreSQL 연결

Development

1. 배경 Node.js 기반으로 PostgreSQL 연동하여 작업 실행. 2. pg 설치 npm install pg 3. Connection Pool const { Pool } = require(…

아무로레이·2022년 7월 1일·조회 2,363

Node.js의 Callback vs. Promises vs. Async Await 차이점

Development

1. 개요 Callback vs Promises vs Async Await 차이점은 무엇인가? 2. Callback JavaScript에서 함수는 객체이다. 따라서 객체를 매개변수로 함수에 전달할 …

주말만기다려주말만기다려·2022년 7월 1일·조회 1,530

Springboot - PostgreSQL - DataSource - Maven 연동

Development

1. 배경 Springboot 기반으로 PostgreSQL 연동하여 작업 실행. 2. Maven Dependency dependency groupid org.postgresql /groupid ar…

아무로레이·2022년 6월 29일·조회 5,633

Linux에 SDKMAN 설치하기

Development

리눅스에 SDKMAN을 설치하는 문서이다. 1. 파일 다운로드 $ curl -s "https://get.sdkman.io" | bash -+syyyyyyys: `/yho:` -yd. `/yh/` +…

제임스딘·2022년 4월 12일·조회 3,259

Google 제공 Github 샘플로 Python Flask App 만들기 (그리고 App Engine, GKE에 배포까지)

Development

1. 개요 구글 깃허브에서 제공하는 앱 2. 상세 2.1. 디렉토리 생성 mkdir sample-app 2.2. 깃 클론 git clone https://GitHub.com/GoogleCloudPl…

후아빠·2022년 1월 14일·조회 1,948

초 Simple Python 애플리케이션 만들기 (테스트용)

Development

1. 개요 각종 테스트에 사용할 간단 파이썬 애플리케이션을 만들어본다. 2. 구성 2.1. 상위 디렉토리 생성 mkdir -p sample-app 2.2. sample-app/main.py samp…

후아빠·2022년 1월 14일·조회 1,524

Java Array Sort (자바 배열 정렬)

Development

1. 개요 자바 언어에서 배열(Array)을 정렬하는 방법이다. Arrays.sort 를 사용한다. 2. 숫자 정렬 import java.util.Arrays; public class ArraySo…

OOOooOOoo·2021년 6월 14일·조회 6,400

Java Random Number (난수) 생성하기

Development

1. 개요 자바를 이용하여 랜덤한 숫자를 생성하는 방법 2. Math.Random() 사용 private void getNumberByMathRandom() { double randomValue =…

OOOooOOoo·2021년 6월 12일·조회 1,899
Development

vscode HTTP Client 익스텐션

개요 vscode의 REST Client 익스텐션을 활용해서 손쉽게 REST API 테스트를 수행할 수 있다. API 요청 자체를 파일로 작성하여 버전관리를 할 수 있다. 사용법 vscode의 ex…

aapplelover1026·2021년 4월 6일·조회 3,890

gvm(go version manager)

Development

gvm(go version manager) gvm은 nvm처럼 golang의 버전을 관리해주는 도구이다. 패키지매니저로 go를 설치할 때 버전이 너무 낮아서 곤란하거나, 바이너리로 설치했는데 go …

hheover1cks·2021년 3월 23일·조회 2,744

ModuleNotFoundError: No module named 'requests'

Development

1. 개요 macOS Big Sur 업데이트 이후 파이썬 환경이 전반적으로 망가짐 2. 현상 ModuleNotFoundError: No module named 'requests' 3. 해결 pyth…

나크나로·2021년 1월 30일·조회 6,914

dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 에러 해결

Development

1. 개요 macOS 환경 얼마전 Big Sur 업데이트 2. 현상 dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.fram…

나크나로·2021년 1월 30일·조회 1,870

Cypress로 UI 테스트하기

Development

1. 개요 UI 테스트 도구인 Cypress의 설치방법과 실행방법에 대해 소개한다. 2. Cypress 설치 프로젝트 폴더에서 npm이나 yarn을 사용하여 Cypress를 설치한다. $ npm i…

ssnowball·2020년 12월 18일·조회 2,489
Development

django swagger 사용하기

개요 장고에서 Swagger를 사용하여 API Doc을 사용하는 방법을 알아본다. 필요 모듈 djangorestframework와 django-rest-swagger 설치가 필요하다. #requir…

hheover1cks·2020년 11월 24일·조회 31,149