": Code Against the Clock :!"에 다시 오신 것을 환영합니다. 블로그 시리즈는 일상적인 작업을 간소화되고 시간을 절약해 주는 경이로운 작업으로 바꿔줍니다. 오늘 저는 반복적인 수동 작업을 자동화된 발전소로 전환한 프로젝트를 공유하게 되어 기쁩니다. 시간을 절약하고 작업 흐름에 흥미를 더할 수 있는 방법을 알아볼 준비가 되셨나요? 뛰어들어 보세요!
아시다시피 저는 스타트업에서 풀스택 개발자로 일하고 있습니다. 우리는 사무실에 들어오고 나갈 때 매일 수동으로 출근 및 퇴근을 해야 하는 직원 출석 관리에 Keka를 사용합니다. 문제? 가끔 출근이나 퇴근을 잊어버려 출석이 부재중으로 표시되는 경우가 있습니다. 이는 이를 수정하기 위해 Keka에서 티켓을 발행해야 한다는 것을 의미합니다. 이 지루한 작업을 자동화하고 싶었습니다.
처음에는 Keka에서 이 목적으로 제공하는 API를 찾았지만 안타깝게도 Keka에서는 제공하지 않습니다. 괜찮아요! 저는 개발자로서 이 문제를 스스로 해결해야 한다는 도전에 나섰습니다. 저는 Keka의 웹사이트가 어떻게 작동하는지 이해하기 위해 분석부터 시작했습니다. 브라우저 개발자 도구의 네트워크 탭을 사용하여 클럭 인/아웃 시 트리거되는 엔드포인트를 식별했습니다.
헤더에 Bearer 토큰이 있는 요청을 보내기 위해 가져오기를 사용하여 간단한 Node.js 스크립트를 작성했는데 작동했습니다. 그러나 문제가 있었습니다: Bearer 토큰은 매일 만료됩니다. 웹사이트가 로컬 저장소에 새로 고침 토큰을 보관하고 있다는 사실을 발견했습니다. 이 토큰은 이전 무기한 토큰이 만료되었을 때 새 무기명 토큰을 얻는 데 사용되었습니다.
이 문제를 처리하기 위해 스크립트를 조정한 후 몇 가지 문제에 더 직면했습니다.
이러한 문제를 해결하기 위해 다음과 같은 솔루션을 고안했습니다.
[CRON Job (Every 15 minutes)] ---> [Node.js Script] \-------> [Check Time] ---> [Clock In/Out] \-------> [Notify (Slack)]
모든 것이 준비되면 15분마다 스크립트를 실행하도록 크론 작업을 예약했습니다. 이 설정은 1년 동안 완벽하게 작동하여 출석 관리를 효율적으로 자동화했습니다.
1년 후, 저는 스크립트를 Chrome 확장 프로그램으로 변환하여 솔루션을 강화하기로 결정했습니다. 덕분에 동료들과 공유하기가 더 쉬워졌습니다. 확장 프로그램의 작동 방식은 다음과 같습니다.
[CRON Job (Every 15 minutes)] ---> [Node.js Script] \-------> [Check Time] ---> [Clock In/Out] \-------> [Notify (Slack)]
이러한 간소화된 접근 방식으로 출석 관리가 더욱 쉬워졌습니다!
참고: 소스 코드에 관심이 있으시면 언제든지 저에게 연락해주세요!
코드를 사용하여 작업을 자동화해 본 적이 있나요? 아래 댓글로 여러분의 경험과 팁을 공유해 주세요! 어떤 작업을 자동화하고 싶나요? 토론해보자!
이 자동화 여정에 동참해 주셔서 감사합니다. 더 많은 팁과 업데이트를 보려면 내 블로그를 구독하는 것을 잊지 마세요. 즐거운 코딩하세요!
위 내용은 Code Against the Clock : 출석 관리 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!