보안 점검 후 Flask 서비스에서 고친 7가지
사내 보안 점검 지적을 계기로 Flask 서비스의 인증과 세션 처리를 다시 살폈다. 하드코딩된 시크릿 키, 쿠키 폴백 인증, OIDC state·nonce 검증 등 7가지 항목과 수정 코드를 체크리스트로 정리했다.
Stack · PythonFramework2026.10.0415/15현장 데이터 서비스 구축기대화형 로그인 라이브러리를 컨테이너에서 자동 로그인시키기
ID와 비밀번호를 터미널에서 입력받는 사내 데이터 조회 라이브러리를 컨테이너 안 Flask 앱에서 자동 로그인시킨 방법이다. stdin 리다이렉트가 통하지 않는 이유, getpass 패치, 프롬프트 문구로 입력 항목을 판별하는 방법을 코드로 정리했다.
Stack · PythonFramework2026.10.0414/15현장 데이터 서비스 구축기pfx 인증서를 Kubernetes TLS Secret으로 바꾸기
사내 CA에서 받은 pfx 인증서를 Kubernetes TLS Secret에 넣으려면 인증서와 개인키를 따로 꺼내야 한다. openssl 추출 명령, Git Bash에서 비밀번호 입력이 멈출 때 해결법, 넣기 전 검증 방법을 정리했다.
Stack · PythonFramework2026.10.0413/15현장 데이터 서비스 구축기SSO 무한 리다이렉트 디버깅: 로그의 'POST /' 한 줄
Kubernetes로 옮긴 Flask 서비스에 사내 SSO(ADFS)를 붙이며 겪은 MSIS9224 오류와 무한 리다이렉트를 해결한 기록이다. 도메인, TLS, SSO를 어떤 순서로 붙여야 하는지와 단계별 확인 방법을 정리했다.
Stack · PythonFramework2026.10.0412/15현장 데이터 서비스 구축기Flask 앱을 Kubernetes로 옮길 때 체크리스트: 옛 코드 배포, OOM, 쿼터 초과
사내 PaaS에서 돌던 Flask 서비스를 Kubernetes 플랫폼으로 옮기며 겪은 문제를 체크리스트로 만들었다. 고친 코드가 반영되지 않을 때, ML 모델을 올린 Pod가 OOM으로 죽을 때, 롤링 업데이트가 쿼터 초과로 실패할 때 확인할 항목이다.
Stack · PythonFramework2026.10.0411/15현장 데이터 서비스 구축기비개발자를 위한 쿠버네티스: 쇼핑몰로 이해하기
Pod, Node, Namespace, Ingress, Service, Secret 같은 쿠버네티스 용어를 쇼핑몰에 빗대 정리했다. 인프라 담당자와 대화해야 하는 기획자와 PI 담당자, 처음 배포를 맡은 개발자를 위한 글이다.
Stack · PythonFramework2026.10.0410/15현장 데이터 서비스 구축기인사이트 문장은 사람이 쓰고, 노출은 데이터가 정한다
현장 이슈 대시보드의 '한눈에 보기' 화면을 5년 추이, 최근 3개월, 시기별 주의 순서로 설계했다. 인사이트 문장을 미리 써 두고 데이터가 기준을 넘을 때만 보여주는 방식과, 시스템 전환 때문에 생기는 추이 차트 착시를 막은 방법을 정리했다.
Stack · PythonFramework2026.10.0409/15현장 데이터 서비스 구축기이슈 1건에 리포트 1장: AI 이슈 사례분석 화면 설계
재발 여부 판정, 연관 이슈 검색, 관련 정보 제공이라는 세 가지 요청을 탭 세 개가 아니라 한 장의 이슈 분석 리포트로 묶었다. 대화형 채팅과 구조화 리포트 두 방식을 나란히 놓고 비교한 과정도 함께 정리했다.
Stack · PythonFramework2026.10.0408/15현장 데이터 서비스 구축기폐쇄망에서 사내 LLM API 붙이기: openai 패키지 없이 urllib 하나로
사내 LLM 게이트웨이(OpenAI 호환 API)를 Flask 서비스에 연동하면서 openai 패키지 없이 Python 표준 라이브러리 urllib만 썼다. 사내 필수 헤더, 호출별 ID, 환경변수로 공급자를 바꾸는 구조, API 승인 전 mock으로 먼저 개발하는 방
Stack · PythonFramework2026.10.0407/15현장 데이터 서비스 구축기비전문가에게 AI 성능을 보여주는 법: 점수 대신 '10건 중 약 6건'
현업 사용자가 보는 AI 화면에서 점수 대신 건수로 성능을 표현하고, 자유 입력 대신 선택형 입력을 받도록 바꿨다. 용어 정책과 함께 비전문가용 AI 화면을 설계하며 적용한 원칙 4가지를 정리했다.
Stack · PythonFramework2026.10.0406/15현장 데이터 서비스 구축기고위험 이슈는 ML에 맡기지 않았다: 키워드 룰 안전망 설계
이슈 등급 분류에서 가장 중요한 고위험 이슈를 ML 대상에서 빼고 키워드 룰로 분리했다. 중대 여부가 접수 텍스트가 아니라 결과로 갈린다는 것을 데이터로 확인한 과정과, 오탐 키워드를 걸러 룰을 '검토 요망' 플래그로 만든 방법을 정리했다.
Stack · PythonFramework2026.10.0405/15현장 데이터 서비스 구축기3천 건 이슈 데이터로 등급 분류 모델 만들기: 10개 모델 비교와 재학습 가드
15년 치 현장 이슈 데이터 약 3,000건으로 이슈 등급(등급·경미·아차)을 추천하는 분류 모델을 만들었다. 코드 체계가 다른 두 시스템의 데이터를 텍스트 기준으로 합친 방법, 10개 모델 교차검증, 재학습 때 엉뚱한 모델 교체를 막는 가드 로직을 정리했다.
Stack · PythonFramework2026.10.0404/15현장 데이터 서비스 구축기인프라 자원 신청서, 실측값으로 산정근거 쓰기
사내 Kubernetes 자원과 DB를 신청하면서 산정근거표를 쓴 방법을 정리했다. Grafana 실측값으로 CPU·메모리를, 첨부파일 증가 추세로 스토리지를 계산하는 방식과 함께 내야 하는 서류 3종을 다룬다.
Stack · PythonFramework2026.10.0403/15현장 데이터 서비스 구축기Mendix로 1년 만든 시스템을 코드로 다시 만들기로 한 이유
Mendix로 1년 동안 혼자 만들고 운영한 점검 관리 시스템을 새 플랫폼으로 이관하는 대신 Flask/FastAPI로 재개발하기로 결정했다. 이관할 때 생기는 리스크 6가지, 재개발 판단 기준, DB 테이블을 이관·신규 구현·폐기로 나누는 방법을 정리했다.
Stack · PythonFramework2026.10.0402/15현장 데이터 서비스 구축기보고서를 자동화하지 말고 '보고'를 없애기: 현장 이슈 리포팅 업무 재설계
제조 현장의 이슈 리포팅을 통합 포털과 자연어 질의로 다시 설계한 과정이다. 보고서 작성을 빠르게 만드는 대신 보고 행위 자체를 줄이는 쪽으로 과제를 재정의한 이유와 단계 구성을 PI 관점에서 정리했다.
Stack · PythonFramework2026.10.0401/15현장 데이터 서비스 구축기