[카테고리:] QA & Tech

QA, AI, 자동화, 개발 기록

  • 업무 시간 재려고 고블린을 만들었다 👾

    업무 시간 재려고 고블린을 만들었다 👾

    Python · PySide6 · SQLite · Notion API

    01. 아니 내가 뭘 얼마나 했더라?

    QA로 일하다 보면 하루에도 여러 프로젝트를 왔다 갔다 한다.

    오전에는 A 프로젝트 QC 하다가, 갑자기 B 프로젝트 이슈 확인하고, 개발자랑 얘기 좀 하다 보면 어느새 퇴근 시간.

    분명 하루 종일 바빴는데…

    그래서 오늘 뭐 했지?

    ㅋㅋㅋㅋ

    특히 프로젝트별로 업무 시간을 정리하려고 하면 기억이 안 난다.

    기존 타이머 앱을 사용해도 되지만, 내가 원하는 건 조금 달랐다.

    그래서 그냥 만들어 보기로 했다.

    02. 왜 하필 고블린이냐면

    요즘 나는 치이카와에 빠졌다. 그리고 그 중에서 고블린들이 젤 귀엽다구 생각한다.

    그래서 타이머를 만든다고 생각했을 때, 평범한 숫자 창보다는 고블린이 화면 한쪽에 있으면 좋겠다고 생각했다!

    어차피 매일 켜 놓을 거면 귀여운 게 좋잖아 ㅎㅎ

    그렇게 고블린을 내 컴퓨터에 취직시키기로 했다.

    업무 시간 기록 담당 고블린.

    급여는 없습니다.

    처음에는 타이머만 만들 생각이었는데, 막상 캐릭터를 넣으니까 이것저것 더 해보고 싶어졌다.

    이래서 사이드 프로젝트가 무서운가 봄.

    03. 일단 AI랑 만들어 봄

    개발은 Python으로 진행했다.

    사실 처음부터 모든 걸 설계하고 시작한 건 아니었다.

    일단 필요한 기능을 정리하고 AI에게 구현 방법을 물어보면서 하나씩 만들어 갔다.

    코드를 받아서 실행하고, 마음에 안 드는 부분을 수정하고, 다시 실행하고.

    이걸 계속 반복했다.

    그런데 AI가 코드를 만들어 준다고 프로그램이 알아서 완성되는 건 아니었다.

    기술역할
    Python기본 로직
    PySide6데스크톱 UI
    SQLite업무 기록 저장
    Notion API노션 연동

    04. 만들고 보니 내가 QA였음

    타이머가 시작되고 시간이 흐르는 걸 보니까 처음에는 꽤 신기했다.

    오, 되는데?

    근데 조금만 생각해 보면 확인할 게 한두 가지가 아니다.

    • 일시정지 후 재개하면 시간이 정확한가?
    • 프로젝트를 변경하면 기록이 제대로 구분되는가?
    • 프로그램을 종료하면 데이터가 남아 있는가?
    • 노션 연동에 실패하면 어떻게 되는가?
    • 장시간 실행해도 문제가 없는가?

    아니 그냥 타이머 하나 만들려고 했는데.

    생각해 보니 내가 QA였다.

    ㅋㅋㅋㅋ

    회사에서는 남이 만든 프로그램을 테스트하는데, 이번에는 내가 원하는 걸 AI가 만들고 그걸 다시 내가 테스트하고 있다.

    기획도 나, 테스트도 나, 수정 요청도 나.

    혼자 바쁨.

    그래도 평소 업무에서 하던 테스트 설계나 예외 상황 확인이 실제로 도움이 된다는 점이 재미있었다.

    05. 근데 아직 손볼 게 많다

    일단 프로그램이 실행된다고 끝난 건 아니다.

    지금은 사용하면서 불편한 점을 발견하고 조금씩 수정하는 단계에 가깝다.

    특히 신경 쓰고 싶은 건 최적화다.

    사실 타이머라는 게 엄청난 성능을 요구하는 프로그램은 아니잖아.

    그런데 업무 시간 내내 켜 놓을 프로그램이 CPU나 메모리를 많이 사용하면 좀 곤란하다.

    시간 재려고 켜 놨는데 컴퓨터가 힘들어하면 안 됨.

    ㅋㅋㅋㅋ

    그래서 앞으로는 이런 부분을 확인해 보려고 한다.

    • CPU 및 메모리 사용량 줄이기
    • 불필요한 화면 갱신 최소화
    • 장시간 실행 시 메모리 사용량 확인
    • 데이터 저장 및 노션 동기화 방식 개선
    • 프로그램 실행 속도와 반응성 개선

    기능을 추가하는 것도 재미있지만, 이미 만든 프로그램을 더 가볍고 안정적으로 만드는 과정도 경험해 보고 싶다.

    06. 앞으로 추가하고 싶은 것

    최적화 외에도 생각해 둔 것들이 있다.

    • 프로젝트별 일간 / 주간 작업 시간 통계
    • 노션 기록 자동 정리
    • 고블린 애니메이션 추가
    • 작업 상태에 따른 캐릭터 반응
    • UI와 사용성 개선

    특히 고블린 애니메이션은 꼭 추가하고 싶다.

    업무를 시작하면 열심히 일하고, 쉬는 시간에는 같이 쉬는 고블린.

    업무 시간이 길어지면 지친 표정을 짓는 것도 귀여울 것 같다.

    물론 그때쯤이면 나도 같이 지쳐 있을 예정.

    07. 일단 첫 번째 버전

    처음에는 그냥 업무 시간을 편하게 기록하고 싶었다.

    그런데 어쩌다 보니 Python으로 GUI도 만들고, 데이터베이스도 연결하고, 노션 API까지 건드리게 됐다.

    아직 수정할 부분도 많고 추가하고 싶은 기능도 많다.

    그래도 일단 내가 원하는 걸 직접 만들어서 사용해 볼 수 있다는 게 꽤 재미있다.

    그리고 무엇보다.

    내 컴퓨터에 치이카와 고블린이 산다.

    일단 이걸로 만족. 👾

    앞으로 수정하거나 기능을 추가하면 그 과정도 하나씩 기록해 봐야겠다.

    Little waves, big stories. 🌊