피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Flask 기반 Background-task 구조의 Zero-dependency 파일 매니저 설계
FileFy
AI 요약
Context
SCP, Rsync 등 CLI 기반 파일 관리 도구의 높은 진입 장벽과 복잡한 워크플로우로 인한 운영 효율 저하 발생. 비기술 협업자의 접근성 부재와 무거운 FTP 클라이언트 설치의 필요성이라는 페인 포인트 존재.
Technical Solution
- Flask 서버 기반의 SPA 구조를 채택하여 클라이언트 사이드 의존성을 제거한 제어 인터페이스 구현
- Daemon Thread 기반의 Background-task 아키텍처 설계를 통해 대용량 압축 및 원격 다운로드 시 서버 블로킹 방지
- upload-init, upload-chunk, upload-complete 3단계 프로토콜을 통한 Resumable Chunked Upload 메커니즘 구축
- 750ms 간격의 Polling 엔드포인트를 구현하여 서버 사이드 작업 진행률을 실시간으로 UI에 동기화
- BASE_DIR 기반의 경로 검증 로직을 적용하여 Path Traversal 공격을 원천 차단하는 보안 계층 설계
- Cloudflare Quick Tunnel 자동 통합을 통한 별도 네트워크 설정 없는 외부 공개 URL 즉시 생성
실천 포인트
- 대용량 파일 처리 시 서버 응답성 유지를 위한 Background-task 및 Polling 구조 검토 - 네트워크 불안정 환경을 고려한 Chunked Upload 및 Resume 로직 설계 적용 - 외부 노출 서비스의 보안을 위한 엄격한 Path Validation 및 Base Directory 제한 설정