0. 프로젝트 개요

프로젝트 배경

⛳ Codewars 문제를 풀면 자동으로 깃헙에 업로드해주는 프로그램을 만들자

Leethub라는 확장 프로그램이 있다.
Leetcode에서 문제를 풀면 그 내용을 깃허브에 자동으로 커밋해주는 프로그램이다.
써보니 편하더라. 매번 Readme 업데이트하고, 코드를 커밋할 필요가 없어진 것이 얼마나 편한지 모른다. 문제를 수정할 때마다 잔디가 진해지는 것은 덤이다 ^^

나는 Codewars를 푼다. Codewars에도 비슷한 프로그램이 있었으면 좋겠지만 없었다. 그래서 만들기로 했다. Codewars 문제를 풀면 자동으로 깃헙에 올려주는 프로그램을 만들자!

현재는 푼 문제를 이렇게 관리하고 있다. 매우 귀찮다.

무엇을 만들 것인가?

Git에 어떤 프로그램을 이용하여 업로드를 할 것인가?

  1. 확장 프로그램을 만들어서 업로드한다. (Leethub처럼)
  2. Github action을 이용하여 업로드한다.

1번의 경우는 Leethub라는 예제도 있고, 이전에 확장프로그램을 살짝 건드려보기도 해서 더 편할 것 같다. 잘 만들면 배포하기도 쉽고.

2번의 경우는 확장프로그램을 이용하는 것보다 업로드하는 방법이 간단할 것 같은 느낌이다. 깃헙 자체에서 제공하는 액션을 이용하는게 더 편하지 않을까? (예: YES24의 IT 신간 도서 40개를 주기적으로 확인하는 Github Action 만들기 )

어떤 방법이 더 편할지는 아직 못 정했다.

어떻게 만들 것인가?

크롤링을 이용한다

현재 Codewars에서 제공하는 API를 보면 '유저가 제출한 정답을 가져오는 기능'은 없는 것으로 보인다. ( Codewars api 목록 )

그러면 어떻게 내가 제출한 코드를 가져오지? ⇒ 크롤링으로 가져올 수 있을 것 같다.
+) 크롤러를 잘 만들면 다른 프로젝트에서도 이용할수있지 않을까? 🤭

어떤 기능을 제공할 것인가?

아직 미정이다. 대략적으로 생각한 내용을 적어둔다.

1. 문제를 풀 때마다 폴더를 생성해 저장한다.

──[문제 이름 폴더]
   ├─ Readme.md # 문제를 저장 
   └─ [문제 이름].[확장자]
  • [문제 이름].[확장자] 를 올릴때 아래 주석을 추가하여 올린다. (가능하다면)
/**
 * @name [문제 이름]
 * @link [codewars link]
 * @date [문제를 푼 날]
 * @author [codewars username]
 */

2. 프로젝트 Readme.md에 푼 문제를 업로드한다.

[8kyu] | [문제 이름](문제 codewars 링크) [내 깃헙 코드 링크]

3. 커밋 메세지: 아직 못 정했다.

언제 만들 것인가?

시간 나는 대로 만들 계획이다.

이번부터 스터디도 들어가고하니 시간이 적을거같긴 하다만.. 올해 안에 완성할 수 있었으면 좋겠다.

추가로 시도하고 싶은 것

  • jest 사용해보기
  • 다른 곳에서도 이용할 수 있는 함수 만들기 (크롤링)
  • 통신라이브러리(axios 등), framework 라이브러리(NestJS, Express 등), 테스트 라이브러리 (jest) 외의 라이브러리는 최대한 사용하지 않고 개발하기

좋은 웹페이지 즐겨찾기