Allen's 데이터 맛집

[3] 프로젝트 리뷰: 이메일 자동 로그인 시스템 구축 본문

etc Project/셀레니움을 활용한 이메일 자동 로그인

[3] 프로젝트 리뷰: 이메일 자동 로그인 시스템 구축

Allen93 2024. 9. 25. 11:55
제가 진행한 "이메일 자동 로그인(Automatic E-mail Sign in)" 프로젝트에 대해 리뷰를 작성해보려고 합니다. 이 프로젝트를 통해 배운 점과 어려웠던 점, 그리고 이를 해결한 방법들을 공유하고자 합니다.

 

프로젝트 리뷰

 

코딩을 다른 측면에서 바라본 경험

이번 프로젝트를 통해 코딩에 대해 새로운 관점에서 생각해보게 되었습니다. 간단한 계산이나 알고리즘을 해결하기 위해 코딩을 사용하면서, 아날로그 방식과 비교하여 효율성을 고민하게 되었습니다. 예를 들어, 단순한 문제를 암산이나 종이에 계산할 때는 30분이면 충분한 반면, 이를 코딩으로 해결하려고 하니 2시간 이상이 걸리기도 했습니다. 이 과정에서 시간 대비 효율이 떨어진다고 느꼈습니다.

 

자동화의 가치

하지만, 이러한 자동화 시스템의 가치는 반복적인 작업에서 더욱 빛을 발합니다. 예를 들어, 매일 5번씩, 몇 년 동안 반복해야 하는 작업을 자동화한다면, 초기에는 시간이 오래 걸리더라도 장기적으로는 엄청난 효율을 가져올 수 있습니다. 특히, 이 자동화 시스템을 다른 사람들이 사용할 수 있게 된다면 그 가치와 효율성은 더욱 커질 것입니다.

 

이메일 자동 로그인 프로젝트의 경험

이번 프로젝트에서는 이메일을 로그인하고 받은 메일함을 확인하는 작업을 자동화했습니다. 수동으로 이메일을 로그인하고 확인하는 데는 20초도 걸리지 않지만, 이를 매크로를 활용해 자동화하면 초기에는 비효율적으로 보일 수 있습니다. 그러나 장기적으로 보면 자동화의 가치는 매우 큽니다.

 

매크로(Macro)와 자동화의 중요성

매크로란 사용자가 정해놓은 일련의 과정을 자동으로 수행하는 것을 의미합니다. 저는 Java의 내장 라이브러리인 Robot을 사용하여 원시적인 방법으로 매크로를 구현해 보았습니다. 더 나아가 Selenium을 사용하여 브라우저를 자동화하고 많은 작업을 눈 깜짝할 새에 끝낼 수 있었습니다. 이러한 경험을 통해 프로그래밍의 가치를 다시 한번 생각해보게 되었습니다.

 

 

프로젝트에서 배운 점

  1. 반복적인 작업의 자동화: 초기에는 시간이 오래 걸리더라도 장기적인 효율성을 고려할 때 자동화의 가치는 매우 큽니다.
  2. 자동화 도구의 활용: Java의 Robot 클래스와 Selenium을 사용하여 자동화를 구현해 보면서, 각각의 도구의 장단점을 파악할 수 있었습니다.
  3. 프로그래밍의 가치: 반복적인 작업을 자동화하여 시간과 노력을 절약할 수 있음을 깨달았습니다.

 

어려웠던 점과 해결 방법

  • Robot 클래스의 한계: 원시적인 방법으로 키보드와 마우스를 제어하다 보니 정교한 제어가 어려웠습니다. 이를 극복하기 위해 Selenium을 사용하여 브라우저를 보다 정교하게 제어하였습니다.
  • Selenium 설정의 복잡성: Selenium을 처음 설정하고 사용하는 과정에서 어려움을 겪었지만, 다양한 튜토리얼과 문서를 참고하여 문제를 해결할 수 있었습니다.