- 프리코스 경험 기반으로 관련된 분야의 미션을 설계하고 구현한다.
- 미션 주제는 자유롭게 정한다.
- 스스로 도전하고 싶은 목표를 설정하고, 그에 맞는 실행 계획을 세워 미션을 진행한다.
- 2주 동안 자료 조사, 기획, 실행 후 결과물을 제출한다.
- 낯선 도구 해커톤
- 설명: 난이도는 평범하나 평소에 잘 사용하지 않는 개발 도구나 언어(예: Rust, Kotlin, WebAssembly, 하드웨어 보드 등)로 문제를 해결한다.
- 과제: 반드시 동작하는 작은 결과물(예: 간단한 앱, CLI 툴, 시뮬레이션) 제출한다.
- 고난도 문제 해커톤
- 설명: 평소에 익숙한 기술을 사용하여 난이도가 높은 문제를 해결한다.
- 과제: 난도가 높은, 정답이 없는 문제를 정의하고, 해결해 가는 과정, 결과물을 제출한다.
- 제한 협업 미션
- 설명: 2~3명이 한 팀이 되어 처음 보는 사람과 협업한다.
- 과제: 제한 조건을 만들어서 진행한다.
- 예) “소통은 하루 15분 화상회의만 가능”, “코드 작성은 깃허브 이슈/PR로만”
입력
- 드래그 앤 드롭으로 블록 이동
- 블록 홀드 중 키보드 입력
- q: 블록 반시계 방향으로 90도 회전
- e: 블록 시계 방향으로 90도 회전
- w,s: 블록 상하 반전
- a,d: 블록 좌우 반전
출력
- 7 x 9의 게임판 생성
- 조작 방법 및 승리 조건을 명시
- 정사각형 5개를 변과 변을 맞대어 붙일 때 생기는 서로 다른 모양인 펜토미노 블록 12개를 생성
- 1. 게임판, 설명서, 펜토미노 블록 초기화
- 2. 블록 상호 작용
- 2-1. 마우스와 상호작용
- 2-2. 키보드와 상호작용
- 2-3. 블록이 놓인 위치 저장
- 3. 승리 메시지 출력
- 1. 남겨진 칸이 3칸인지 확인
- 2. 칸 중 하나가 오늘의 날짜(월, 일, 요일) 중 하나와 일치하는지 판단
- 3. 남은 칸에 대해서 반복
- 4. 오늘의 날짜와 모두 부합하다면 승리
- 블록은 게임판 내부에 놓아져야 한다.
- 블록을 잡은 채 상호작용 한다.
잘못된 입력의 경우 IllegalArgumentException을 발생시키고, 입력을 다시 받는다.
- 게임판 외부로의 블록 놓기
- 블록을 잡지 않은 채 키보드 입력
AngularJS Git Commit Message Conventions을 참고하여 커밋 메시지 작성할 것.
| Type | Description |
|---|---|
| feat | 새로운 기능 추가 |
| fix | 버그 수정 |
| docs | 문서 관련 작업 |
| style | 코드 형식, 놓친 세미 콜론 등 |
| refactor | 리팩토링 |
| test | 테스트 수정 및 보완 |
| chore | maintain |