백준 허브와 LeetHub를 이용하면 각각 백준과 LeetCode에서 푼 코딩 문제의 코드를 GitHub에 자동으로 업로드할 수 있다. 원조는 LeetHub로, LeetCode에서 푼 코딩 문제를 GitHub와 연동시키는 기능을 백준에 적용한 것이 백준 허브이다. 둘 다 Chrome extension이기 때문에, 반드시 Chrome 브라우저를 이용해야 한다.
백준허브 chrome 웹 스토어에 접속해서 extension을 설치하자. 설치한 후 브라우저 우측 상단에서 확장 프로그램 > 백준 허브를 클릭하면 Authenticate with GitHub to use BaekjoonHub
라는 창이 뜬다. 그러면 Authenticate 버튼을 눌러서 Authorize
버튼을 누르고 코드를 저장할 repository를 생성하면 된다. 새로 생성해서 연동하거나 이미 있는 repository에 연결할 수도 있다.
아래에는 Organize by Platform
과 Organize by Language
중 선택할 수 있는 옵션이 하나 더 있는데 Organize by Platform
은 플랫폼 별로 (백준, 프로그래머스) 정리하는 옵션이고 Organize by Language
는 프로그래밍 언어 별로 (python, C++, JAVA, ...) 정리하는 옵션이다. 편의에 따라 지정하면 된다.
연동을 완료하고 나면 백준이나 프로그래머스에서 문제를 풀고 정답을 제출하면 별도의 조치 없이 바로 내가 풀이한 코드가 지정한 repository에 저장된다. (오답을 받았을 경우에는 업로드되지 않는다.) 문제의 내용이 README.md
로 함께 저장되어 무슨 문제인지 알아보기도 편리하다.
LeetHub에 접속해서 extension을 설치하자. 설치한 후 브라우저 우측 상단에서 확장 프로그램 > LeetHub를 클릭하면 백준 허브와 마찬가지로 GitHub과 연동할 수 있는 창이 뜬다. 연동은 백준 허브와 동일한 방법으로 하면 된다. (정확히는 백준허브가 LeetHub과 동일한 방식으로 연동하는 거지만ㅎ)
연동을 완료하면 Submit 버튼을 눌러 정답을 제출하면 별도의 조치 없이 자동으로 내 풀이 코드가 지정한 repository에 저장된다. 문제의 내용이 README.md
로 함께 저장될 뿐만 아니라 LeetHub의 경우 문제에 대한 개인 메모도 작성할 수 있기 때문에 이 메모까지 NOTES.md
로 저장된다.
참고로 백준허브와 LeetHub가 같은 repository로 연동되어 있더라도 충돌 등의 문제는 발생하지 않는다.
다만 LeetHub은 문제가 있는데, 분명 Submit으로 정답 코드를 제출했음에도 불구하고 코드가 업로드 되지 않는다. extension 창을 확인해보면 repository에 연동은 잘 되어 있지만 문제 푼 것을 인식 못하는 것처럼 보인다.
이는 UI 상의 문제로, 최신 UI와 LeetHub가 호환되지 않아서 생기는 문제라고 한다.
위와 같은 형태의 창이면 최신 UI로, Submit을 눌러도 문제 풀이가 인식되지 않는다. 이 때는 우측 상단의 프로필 클릭 > Revert to old version를 클릭해서 구버전 UI로 돌아가서 Submit하면 문제 풀이가 인식이 되면서 자동으로 repository에 코드가 저장이 된다.
(위와 같이 구버전 UI 창에서 submit 누르면 오류 해결)
https://oliviakim.tistory.com/34
https://yhoons.tistory.com/99
https://velog.io/@dombe/백준허브-Leethub-사용
https://bolob.tistory.com/entry/Tools-LeetCode를-Github에-연동하기-LeetHub-플러그인
https://velog.io/@dombe/Leethub-작동중지-및-해결방법