애드소프트 기술블로그

개발·서버 운영 실무 기록

애드소프트 박재호입니다. IIS·ASP.NET·Docker·메일서버를 직접 운영하며 겪은 문제와 해결 과정을 기록합니다.

최신 글

인증서·도메인 만료를 메일로 알려 주는 「InfraWatch」 개발기 — 설계부터 운영 배포까지

웹·메일 서버의 SSL 인증서, 도메인 만료, DNS, 메일 서버 상태를 주기적으로 점검하고 이상이 있으면 메일로 알려 주는 InfraWatch를 만들었다. 설계 문서로 점검 명세와 알림 규칙을 먼저 정하고, Phase 0~9를 거쳐 운영 배포까지 한 과정을 연재 첫 글로 정리했다.

트레이 상주 앱 마무리 — 단일 인스턴스, 설정 즉시 적용, 한/영 전환, 70MB 단일 exe

창 없이 트레이에 상주하는 WPF 앱을 배포 가능한 상태로 마무리했다. Mutex와 이벤트로 만든 단일 인스턴스, 다시 시작 없이 바뀌는 단축키·테마·언어, 범위 외였던 영어 화면을 하루 안에 넣은 문구 표 구조, 155MB에서 70MB로 줄인 단일 exe와 그 대가까지 정리하며 연재를 마친다.

아직 없는 동기화를 위해 스키마부터 — GUID, UpdatedAt, 소프트 삭제와 JSON 가져오기

1차는 한 PC 전용이지만 2차 여러 PC 동기화를 대비해 Id는 GUID, 모든 엔티티에 UpdatedAt, 삭제는 소프트 삭제로 정했다. 이 결정이 JSON 가져오기의 충돌 처리(더 최신인 쪽 유지)로 바로 쓰인 과정과, 고정 GUID 샘플, VACUUM INTO 백업, EF Core에서 만난 함정을 정리했다.

어느 창에서든 단축키로 뜨는 WPF 검색 팝업 — RegisterHotKey, 포커스 복원, 첫 호출 82ms

어느 프로그램 위에서든 Ctrl+Shift+Space로 검색 팝업을 띄우고, Enter로 복사한 뒤 원래 창으로 포커스를 돌려주는 구조. 메시지 전용 창으로 받는 전역 단축키, 커서가 있는 모니터와 DPI, 미리 렌더링으로 줄인 첫 호출 시간, 클립보드 재시도, 마우스 클릭이 안 먹던 결함까지 정리했다.

Play 스토어 비공개 테스트까지 — Unity Android AAB, 서명 키, 버전 코드, 디버그 기호

Unity 6 게임을 Play 스토어 비공개 테스트에 올리기까지의 기록. 빌드 설정을 강제하는 에디터 스크립트, 저장소 밖 서명 키와 환경변수, 한 번 쓰면 다시 못 쓰는 버전 코드, 네이티브 디버그 기호, -version 인자 충돌, 광고 ID 선언과 개인정보처리방침, 결과 이미지 공유까지 정리했다. 연재 마지막 글이다.