Skip to content

xhdtlsid2/boj-streak-keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOJ Streak Keeper

BOJ/solved.ac의 문제 풀이 스트릭을 유지할 수 있도록, 매일 하나씩 자동으로 소스 코드를 제출해 주는 프로그램입니다.

How to use

먼저 프로그램을 돌릴 컴퓨터가 필요합니다. 개인용 컴퓨터를 사용해도 되지만, 대신 컴퓨터를 하루 종일 켜 놓아야 합니다.

클라우드 컴퓨팅 서비스를 이용하면 개인용 컴퓨터를 사용하지 않아도 매일 24시간 프로그램을 돌릴 수 있습니다. 특정 제한 범위 안에서 무료로 사용할 수 있는 서비스들이 있는데, Google Cloud Platform은 체험판 종료 이후에도 무료 등급 한도 내에서 계속 공짜로 서비스를 이용할 수 있습니다. 사용 방법 등 자세한 사항은 홈페이지를 참고하시기 바랍니다.

프로그램을 돌릴 컴퓨터가 준비되었으면, 먼저 Node.js와 npm을 설치합니다. 설치가 완료되면 디렉토리를 하나 생성하고 boj-bot.jspackage.json파일을 해당 디렉토리 안에 복사한 뒤, shell에서 해당 디렉토리로 이동하고 npm install명령을 실행합니다.

명령이 실행 완료되면, cookie.txt라는 파일을 해당 디렉토리 안에 생성합니다. 그 다음 본인의 컴퓨터로 백준에 로그인한 뒤, 브라우저의 개발자 도구를 열어 OnlineJudge쿠키의 값을 복사하여 cookie.txt에 복사합니다.

다음으로, sources라는 디렉토리를 만들고, 이곳에 제출할 소스 코드들을 저장합니다. 이때 몇 가지 알아야 할 사항은 다음과 같습니다.

  • 이 프로그램은 sources디렉토리 안의 소스 코드를 매일 하나씩 제출하고, 제출된 소스 코드 파일은 삭제됩니다.
  • 프로그램을 실행시킨 시점에 첫 자동 제출이 이루어지고, 해당 시점을 기준으로 하루 간격으로 계속해서 제출이 이루어집니다.
  • 자동 제출 시점에 sources디렉토리가 비어 있을 경우 프로그램은 종료됩니다.
  • 처음부터 제출할 모든 소스 코드를 저장해둘 필요는 없습니다. 프로그램 실행 도중에도 소스 코드 파일을 추가할 수 있습니다.
  • 소스 코드 파일 이름은, 해당 소스를 제출할 문제의 번호여야 합니다.
  • 소스 코드 파일 확장자는, 백준의 설정 > 언어에서 기본 언어로 설정된 언어의 확장자여야 합니다.
  • 예를 들어, 기본 언어가 C++17일 때, 1000번 문제에 제출할 소스 코드 파일은 1000.cpp여야 합니다.
  • 한 가지 예외 사항으로, 확장자가 .py인 경우 기본 언어 설정과 상관 없이 PyPy3으로 제출됩니다.

소스 코드들을 저장하고 나면 프로그램을 실행시켜 주면 됩니다. 단, 프로그램을 실행시키기 전에 본인의 컴퓨터에서 백준에 로그인 된 상태여야 하고, OnlineJudge쿠키의 값이 cookie.txt에 적힌 값과 일치해야 합니다. shell을 빠져나와도 프로그램이 계속 실행될 수 있도록 해야 하며, 유닉스 계열 OS를 사용 중인 경우 nohup node boj-bot &명령으로 프로그램을 실행시켜 주면 됩니다. 프로그램을 실행시켰으면 이제 shell을 빠져나와도 됩니다.

제출할 소스 코드가 없어 프로그램이 종료된 경우, 소스 코드를 sources디렉토리에 추가하고 위와 같은 방법으로 다시 프로그램을 실행시키면 됩니다.

기타

  • 이 프로그램은 자동 로그아웃 방지를 위해 25분마다 새로고침을 수행하며, 이로 인해 본인의 컴퓨터에서도 로그인 상태가 계속 유지됩니다.
  • 이 프로그램은 제출된 코드의 정답 여부를 따로 확인하지 않습니다. 자동 제출된 이후 직접 확인하거나, 부계정을 통해 미리 제출해 보는 것을 권장합니다.

버그 제보 및 문의 사항은 xhdtlsid2@gmail.com으로 연락 주시면 감사하겠습니다.

About

백준/솔브드 스트릭 자동 유지 프로그램

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published