매일 오후 6시가 지나면, 그날 동안 캡쳐된 약 480장의 이미지(1분마다 촬영 × 60분 × 8시간)를 특정 Google 드라이브에 자동 업로드하는 프로그램을 구현했다. 덕분에 기존에 노트북에서 직접 수동 업로드하던 번거로운 작업을 자동화할 수 있었습니다.
하지만 이 프로그램을 시범적으로 4대의 노트북에서 사용해보니 몇 가지 이슈가 드러났어요. 특히 구글 드라이브 업로드 시간이 너무 오래 걸린다는 점이 사용성 측면에서 큰 문제였습니다. 현재는 4대에서만 운영 중이지만, 안정화 이후 약 20대의 노트북에서 운영할 예정이었기에, 더 범용적이고 안정적인 프로그램으로 개선할 필요가 있었어요.
[이슈 요약]
우선, GPT와 대화를 통해 기존 방식을 개선할 수 있는 방법으로 Google Drive API를 대신할 수 있는 대안을 물어보았습니다.
다양한 옵션이 있었지만, 구현 난이도 상관없이 사용자의 사용성을 우선시해야 한다고 생각하였고, 마침 약 480장의 대용량 이미지를 매일 업로드해야 하는 상황이므로 rclone으로 자동업로드 방식을 변경해보기로 하였습니다.
프로젝트 폴더에서 rclone
을 설치
명령 프롬프트(cmd)를 열고, rclone을 실행
rclone config
아래의 프롬프트에 따라 설정을 진행
New remote: n
Name: gdrive
(원하는 이름 입력)
Storage: drive
(구글 드라이브 선택)
Client Id: 빈 칸으로 두고 Enter
Client Secret: 빈 칸으로 두고 Enter
Scope: 1
(전체 접근)
Root Folder ID: 빈 칸으로 두고 Enter
Service Account File: 빈 칸으로 두고 Enter
Edit advanced config: n
Use auto config: y
웹 브라우저가 열리고, 구글 계정에 로그인하여 rclone에 접근하도록 허용
인증 후, rclone 창으로 돌아가서 y
을 입력하여 설정을 완료
Configure this as a Shared Drive (Team Drive)?: y
공유 드라이브 내 폴더 선택
발급된 토큰을 프로젝트 코드에 추가하여 연동
저의 경우 복사하여 프로젝트 내 rclone.conf
파일에 그대로 넣어두었어요
[teamdrive]
type = drive
scope = drive
token = [TOKEN]
team_drive = [DRIVE_ID]
rclone 적용해보니 약 480장의 사진 기준으로 하여, 업로드 시간을 1/10으로 단축되는 성과가 있었어요.
결과적으로 약 480장의 이미지를 업로드하는데 6시부터 약 6분이 걸렸습니다.
(제 구글 드라이브 계정으로 토큰을 발급받았기에, 내가 직접 업로드한 것으로 기록되는 중)
구글 드라이브 업로드는 당연히 API를 쓰면 될 거라 생각했고, 속도 문제는 크게 없을 거라 예상했습니다. 하지만 막상 사용해보니 업로드에 50분이나 걸렸고, 그 순간 ‘내가 직접 사용자라면 얼마나 불편할까?’라는 생각이 들었어요. 그때부터 대안을 계속 찾아 나갔고, 결국 업로드 시간을 크게 단축할 수 있었습니다. 이번 경험을 통해 역시 부딪혀 봐야 진짜 문제를 알 수 있다는 말을 다시 한번 느꼈습니다.