전체 글(1104)
-
FastAPI @asynccontextmanager
셋팅@asynccontextmanagerasync def lifespan(app: FastAPI): log_settings_on_startup() yield설명짧게 말하면 **앱의 시작/종료 시점 훅(hook)**입니다.@asynccontextmanager로 만든 lifespan을 FastAPI(lifespan=lifespan)에 넘기면,yield 이전 코드는 서버 시작 단계(startup)에서 실행됩니다. → 여기서 log_settings_on_startup()이 한 번 찍혀요.yield 이후(finally 쪽) 코드는 서버 종료 단계(shutdown)에서 실행됩니다. → 리소스 정리·종료에 사용.즉, 예전의 @app.on_event("startup") / @app.on_event("shut..
2025.10.08 -
k8s namespace안의 모든 내용 조회
kubectl get allkubectl get all -n abc
2025.09.26 -
Ubuntu 특정 디렉토리 아래의 파일중에 특정 문자 찾기
# 기본grep -r "찾을문자" /path/to/dir# 줄 번호까지 보기grep -rn "찾을문자" /path/to/dir# 대소문자 구분 없이 찾기grep -ri "찾을문자" /path/to/dir# 특정 확장자만 검색하기 (예: .py 파일만)grep -rn --include="*.py" "찾을문자" /path/to/dir# 결과에 파일명만 출력하기grep -rl "찾을문자" /path/to/dir
2025.09.20 -
Ubuntu command에서 양방향 암호화
암호화echo "암호화할 문자열" | openssl enc -aes-256-cbc -a -pbkdf2 -salt -k "암호화에 쓰일 키" 복호화echo "암호화된문자열" | openssl enc -aes-256-cbc -a -d -pbkdf2 -k "암호화에 쓰일 키"
2025.09.19 -
Postgresql 백터 DB 생성(pgvector)
postgres 계정으로 app DB에 pgvector 생성CREATE EXTENSION IF NOT EXISTS vector;app 계정으로 app DB에 테이블 및 필요한 객체 생성 CREATE TABLE ai_memory ( id BIGSERIAL PRIMARY KEY, user_id TEXT NOT NULL, -- 사용자 구분 kind TEXT NOT NULL, -- fact|preference|profile|task|note 등 content TEXT NOT NULL, -- 메모리 본문 source T..
2025.09.14 -
Postgresql pgvector 설정
-- 설치 가능한지 확인SELECT * FROM pg_available_extensions WHERE name='vector';-- 이미 설치됐는지 확인SELECT * FROM pg_extension WHERE extname='vector';-- 설치CREATE EXTENSION IF NOT EXISTS vector;
2025.09.14