1 of 14

web20조

2 of 14

목차

  • 계획
  • Github issue template 만들기
  • 환경설정 : Windows와 MacOS 화해시키기
  • Todo 인터페이스 설계
  • 스케줄링 테스트 코드 작성
  • 세미나

3 of 14

계획

  • 환경설정
    1. React-Typescript 프로젝트 생성
    2. eslint, prettier 설정
    3. Jest 설정
  • 스케줄링 알고리즘 구상
  • 스케줄링 알고리즘 인터페이스 작성
  • 테스트 데이터 가공
  • 테스트 코드 작성

4 of 14

Github issue template 만들기

  • WHY?
    • Github project 사용 중 Issue 생성시 자동으로 프로젝트와 연동할 수 없었음
      • label, project, milestone을 수동으로 추가하는 번거로움
    • 어랏 label은 Issue template에 미리 지정할 수 있구나.
    • Issue template도 markdown 형식이라 불편했는데 이참에 form 형식으로도 바꾸자

5 of 14

Github issue template 만들기

  • 이슈 템플릿을 만들긴 했는데…

6 of 14

Github issue template 만들기

  • /.github/ISSUE_TEMPLATE 폴더를 만들고, 아래에 사용하고싶은 이슈 템플릿을 yml로 만들어준다

7 of 14

Github issue template 만들기

8 of 14

Github issue template 만들기

9 of 14

Github issue template 만들기

  • 추가적인 고민
    • issue 생성시 프로젝트, 마일스톤 자동 추가는?
      • issue에 project를 자동추가 및 기본 필드 삽입을 하는 것은 github action으로 가능, marketplace에 있음
      • 간단한 것 외에는 Github API요청을 통해서 Github Project 관련 작업을 수행할 수는 있으나 GraphQL 쿼리를 사용해야함..
    • Github Project에서 생성한 Issue에서 템플릿을 사용할 수 없다
    • PR template에는 적용할 수 없다

10 of 14

환경설정 : Windows와 MacOS 화해시키기

  • 문서의 끝을 개행 처리 할 때 운영체제에 따라서 두가지로 나뉜다
    • Unix : 줄의 끝이 LF(Line Feed) : \n
    • Windows : 줄의 끝이 CRLD(Carriage Return Line Feed) : \r\n
  • 두 운영체제에서 협업을 한다면 LF와 CRLF가 싸우게되는..

11 of 14

Todo 인터페이스 설계

12 of 14

스케줄링 테스트 코드 작성

  • 테스트 코드에 앞서 알고리즘 Feature List 작성
    • 작성 중 용어에 혼동이 와 용어 사전 작성

용어

설명

Imminent Todo List

당일에 해야 하는 Todo List

Importance

중요도, A, B, C로 구분, A가 제일 높음

EDF

EDF(Earliest Deadline First)

Todo

할 일, task

Todo List

전체 Todo 리스트 'L' 주의('l' 아님)

Distant Todo List

당일에 하지 않아도 되는 Todo List (전체 - imminent Todo List)

Wait

Prev Todo가 완료되지 않은 Todo의 상태

Ready

Prev Todo가 완료된 Todo의 상태

Active

최상단에 정렬된 Todo의 상태

Table View

Todo List를 보여주는 페이지

13 of 14

스케줄링 테스트 코드 작성

  • 테스트 코드에 앞서 알고리즘 Feature List 작성
    • 작성 중 용어에 혼동이 와 용어 사전 작성
  • Test Case 작성

14 of 14

세미나

  • yarn
  • vite
  • XState