모니터링 자동화 프로그램을 약 한 달간 4대 이상의 노트북에서 모니터링 용도로 사용성 테스트를 진행했습니다. 이 과정에서 사용자로부터 얻은 피드백을 반영해 일부 기능을 수정하였어요.
📁 Desktop
└── 📁 screenshot_uploader
├── 📄 auto_screenshot.py # 메인 실행 파일 (Tkinter GUI, 캡처, 업로드)
├── 📄 auto_screenshot.spec # PyInstaller 빌드 설정 파일
├── 📄 file_utils.py # 설정 텍스트 자동 불러오기 유틸
├── 📄 screenshot_course_info.txt # GUI 자동 입력용 기본 설정 파일
├── 📄 rclone.conf # rclone 설정 (토큰, 드라이브 ID 등)
└── 📄 rclone.exe # 구글 드라이브 업로드용 CLI 실행 파일
.txt
에서 자동으로 가져오기기존 구조에서 변경된 점은 screenshot_course_info.txt
파일이 추가 된 점이예요.
이 파일은 아래 내용으로 구성되어 있습니다.
KDT 과정명: KDT_COURSE_NAME
KDT 과정 기수: 3
캡쳐 주기(초): 60
컴퓨터 자동 종료 시간: 18:30
* 컴퓨터 자동 종료를 해제하고 싶다면 빈 칸으로 두시면 됩니다.
기존: 프로그램을 실행한 뒤, 매번 실행 화면에서 과정명, 과정 기수, 캡쳐 주기(예: 60초마다) 등의 정보를 직접 입력해야 했습니다. 이 과정은 반복적이고 시간이 많이 걸릴 뿐만 아니라, 실수로 잘못 입력할 가능성도 있어요.
변경: 프로그램이 실행되면 프로젝트 폴더에 있는 screenshot_course_info.txt
파일을 자동으로 불러와, 해당 내용을 기본값으로 적용해줍니다.
한 번만 .txt
파일을 수정해두면, 그 다음부터는 따로 입력할 필요 없이 바로 실행할 수 있어 편리해졌습니다. 특히 KDT는 한 기수가 약 6개월 동안 이어지기 때문에, 기수가 바뀔 때만 설정 파일을 한 번 업데이트해두면 그 외에는 별다른 조작 없이도 안정적으로 사용할 수 있어요.
[위와 같은 방법을 사용했을 때의 장점]
기존: 바탕화면에 매일 새로운 폴더를 생성하고 캡쳐 파일을 저장.
변경: "Screenshot Archive" 폴더를 생성하여, 매일 생성되는 폴더를 해당 폴더 안에 저장하도록 변경.
📁 Desktop
└── 📁 fullstack_1_20250131
│ ├── 📄 fullstack_1_202501310900.png
│ ├── 📄 fullstack_1_202501310901.png
│ ├── 📄 ...
│ ├── 📄 fullstack_1_202501311758.png
│ └── 📄 fullstack_1_202501311759.png
└── 📁 fullstack_1_20250201
│ ├── 📄 fullstack_1_202502010900.png
│ ├── 📄 fullstack_1_202502010901.png
│ ├── 📄 ...
│ ├── 📄 fullstack_1_202502011758.png
│ └── 📄 fullstack_1_202502011759.png
└── 📁 fullstack_1_20250202
└── 📁 ...
이 프로젝트를 정말 마무리하게 되었는데, 사용자가 불편해하는 부분까지 개선하고 작업을 마무리할 수 있었던 점이 뿌듯하게 다가왔어요. 인턴으로 근무하고 있어서 근무 종료 시간이 정해져 있기에, 이 프로그램의 개발자인 내가 없어도 지속적으로 사용할 수 있도록 고민하며 기획하고 개발했던 것 같아요.
그 과정에서 프로그램을 실제로 사용할 사용자에게 불편사항을 물어보며 개선점을 찾고 반영할 수 있었습니다.
이 프로그램을 구현하면서 Python의 다양한 라이브러리를 사용해 보고, 구글 드라이브에 파일 자동 업로드를 위해 Google Drive API와 rclone을 활용하며 업로드 시간을 단축할 방법을 모색했습니다. 또한 매번 반복적으로 작성하던 정보를 개선하여 .txt
파일과 실행 프로그램을 연결하는 방식으로 효율성을 높였어요.
이러한 개선 과정을 거치면서 사용자뿐만 아니라, 나 역시 이런 방식으로 프로그램을 구현할 수 있겠구나 싶어 개발하는 동안 매우 흥미로웠습니다~
이번 프로젝트도 이제 끝~