공부한 것
- LeetCode #287. Find the Duplicate Number
내가 푼 방식과 다른 해답을 8개 더 추가하였다.
구상 중
- 문제풀이 코드 제출 후 실행 결과를 여러 개 모아서 소요 메모리와 시간 추이를 시각화하기:
- 로그인 + 유저의 정보 중 submissions 정보에 접근하는 방법들(다음 Leetcode 질문 페이지의 답변을 전부 살펴봤다: https://leetcode.com/discuss/general-discussion/1297705/is-there-public-api-endpoints-available-for-leetcode):
방법1: https://github.com/JeremyTsaii/leetcode-stats-api
⇒ 주소 끝에 내 Leetcode 유저ID를 입력하기만 하면 JSON 결과를 받아볼 수 있는 방법. 로그인해야 얻을 수 있는 정보는 볼 수 없다(submissions의 구체적인 항목이 나오지 않는다)는 점에서 탈락.
방법2:
⇒ 주소 끝에 Leetcode 유저ID르 ㄹ입력하기만 하면 JSON 결과를 받아볼 수 있는 방법. 역시나 탈락이다.
방법3: https://github.com/akarsh1995/leetcode-graphql-queries
⇒ 로그인에 딱 필요한
EETCODE_SESSION
와csrftoken
쿠키를 언급하고 있는 걸로 보아 로그인을 하는 것은 확실해보이나, 내가 GraphQL 쿼리를 잘 모르고 샘플 결과에서 submissions 항목도 특별히 보이진 않아서 패스했다.
방법4: https://github.com/realvect0r/leetcode-api
⇒ 이곳을 보다가 방법5로 넘어감. 보류중
방법5: https://github.com/skygragon/leetcode-cli
진행중 (수많은 트러블슈팅은 다음에 이어서…)
- Document와 detail docment
- (추가 doc에서 이동 가능한 plugins 레파지토리: https://github.com/skygragon/leetcode-cli-plugins)
- leetcode-cli레파지토리에서 “csrfmiddlewaretoken”로 검색해서 뜯어보던 중 (https://github.com/skygragon/leetcode-cli/blob/5245886992ceb64bfb322256b2bdc24184b36d76/lib/plugins/leetcode.js#L482)
- user.json을 작성했더니 됐다는 이슈 링크 (해결의 핵심 실마리!! : https://github.com/skygragon/leetcode-cli/issues/194#issuecomment-559839631)
- 실제로 작동하는 user.json파일과 위치해야할 곳
- vscode에 leetcode api를 적용한 프로젝트도 있는데 이게 leetcode-cli를 기반으로 하는 거였음. 근데 신기하게 vscode 확장팩으로 깔고 ‘쿠키로 우회해서 로그인’하는 CUI 버튼으로 여차저차 로그인에 성공했더니 leetcode-cli 명령줄 프로그램도 로그인되어 있었다!
(vscode leetcode-cli 깃헙이슈: https://github.com/LeetCode-OpenSource/vscode-leetcode/issues/478)
(vscode leetcode-cli 깃헙 홈페이지: https://github.com/LeetCode-OpenSource/vscode-leetcode)
- leetcode-cli 하위 확장팩, cookies.chrome 강추! 및 그 역할(브라우저와 명령줄 프로그램에 한 session id로 동시에 로그인상태 유지 가능…)
- 무슨 프로필을 수동으로 입력해야하는 줄 알고 이슈 찾아보고 코드 뜯어보고 난리였다… 하지만 건드릴 필요조차 없는 설정값이었고….
- vscode 위에서 작동하는 확장팩은 내 쓸모는 아님. user.json에 필요한 작동하는 속성값을 추릴 수 있었다는 데 의의를 두고, 삭제해도 될 듯하다.
- 누군가는 vsc-leetcode-cli라는 임시 라이브러리를 설치해서 됐다는데 이걸 설치했기 때문에 leetcode -cl 같은 명령어가 된 건지, 아니면 아무 쓸모 없는 설치였던 건지 잘 모르겠다.
- (npm 홈페이지: https://www.npmjs.com/package/vsc-leetcode-cli)
- (’vsc-leetcode-cli를 추천해준 누군가’의 글: https://github.com/skygragon/leetcode-cli/issues/195#issuecomment-569324781)
- 로그인 명령어 $leetcode user -l -vvv
- chatGPT한테도 잠깐 물어본, powershell 터미널과 command prompt 터미널의 차이 (powershell에서는 git add leet…[tab, tab…]이 되는데 cmd에서는 tab해도 자동완성 안됨)(powershell에서는 글로벌로 설치한 leetcode 명령어가 안 먹혀서 npx leetcode user -l이라고 해줘야 하고, cmd에서는 먹혀서 단순히 leetcode user도 수행됨. 이거는 알겠다. powershell은 보안문제 때문에 스크립트 실행을 허용하지 않고 어쩌구저쩌구…)
- Document와 detail docment
- 로그인 + 유저의 정보 중 submissions 정보에 접근하는 방법들(다음 Leetcode 질문 페이지의 답변을 전부 살펴봤다: https://leetcode.com/discuss/general-discussion/1297705/is-there-public-api-endpoints-available-for-leetcode):
Uploaded by N2T