피드로 돌아가기
Dev.toInfrastructure
원문 읽기
SaaS 대체용 Local License Manager 구축을 통한 비용 제로화 및 데이터 제어권 확보
Y a de petites choses qu'on peut coder soi-meme au lieu de payer un SaaS
AI 요약
Context
고비용의 Software Asset Management SaaS 솔루션이 제공하는 핵심 기능이 단순 SQL 테이블과 알림 시스템에 불과하다는 점에 주목함. 외부 클라우드 의존성을 제거하고 관리자 로컬 환경에서 작동하는 경량 라이선스 관리 시스템의 필요성 대두.
Technical Solution
- 데이터 정합성 보장을 위해 잔여 일수를 DB에 저장하지 않고
date_expiration기반의 실시간 Derived Data로 계산하는 구조 설계 QTimer기반의 폴링 주기 최적화를 통해 1Hz에서 60s로 변경하여 CPU 리소스 소모 최소화plyer라이브러리를 활용한 OS Native Notification 인터페이스 추상화로 Cross-platform 알림 체계 구현smtplib와matplotlib를 결합하여 외부 API 없이 내부 SMTP 서버 기반의 HTML 리포트 및 시각화 차트 자동 전송 파이프라인 구축- PyQt5의 QSS(Qt Style Sheets)를 이용한 CSS 기반 테마 전환 로직으로 외부 테마 라이브러리 의존성 제거
실천 포인트
- DB 설계 시 상태 값(State)보다는 원천 데이터(Source of Truth)를 저장하고 런타임에 계산하여 데이터 불일치(Obsolescence) 방지 - 외부 API 기반의 알림 서비스 도입 전, OS Native API나 표준 프로토콜(SMTP)로 대체 가능한 단순 기능인지 검토 - 프레임워크 내장 스타일시트 기능을 우선 활용하여 서드파티 테마 라이브러리 도입에 따른 의존성 증가 억제