# Assignment 1 1번 과제는 전체적인 과제 흐름을 익히고, [PF](../components/pf/index.md) component 구현을 진행 한 뒤, 실제로 제출을 해보는것을 목표로 합니다. 진행 순서는 다음과 같습니다: 1. [GitHub Classroom](https://classroom.github.com/)에서 과제 시작하기 2. [PF](../components/pf/index.md) component 구현 3. [pytest](../tutorials/pytest.md)로 테스트 해보기 4. [git](../tutorials/git.md)을 사용해서 제출하기 --- ## 1. GitHub Classroom에서 과제 시작하기 [GitHub Classroom Assignment Invitation 링크](https://classroom.github.com/a/n4wcyDyW)로 들어가서 accept를 하고, 생성된 본인용 repository를 clone 합니다. 만약 접근 권한이 없다고 나오는 경우, 이메일함을 확인해보세요. ## 2. PF component 구현 repository에서 `bluebase/pf/` 아래에 있는 다음의 코드를 완성하면 됩니다: * `file.py` * `page.py` * `buffer.py` * `cache.py` 구현해야하는 부분에는 `raise NotImplementedError`가 있습니다. `manager.py`, `layout.py`, `error.py`는 미리 구현되어있으니, 이 코드들을 참고하세요. 각 클래스와 함수에 대한 자세한 설명은 [PF](../components/pf/index.md) 문서에 나와있습니다. ## 3. pytest로 테스트 해보기 구현을 다 했다면, 테스트를 해봅시다: ```bash uv run pytest ``` 모두 통과했다면 성공입니다! ## 4. git을 사용해서 제출하기 작성한 코드를 제출해봅시다. commit 후에 push까지 해야 제출이 됩니다. ```bash git add . git commit -m "solve" git push ``` 이후 [GitHub](https://github.com/)에 있는 본인용 repository에 들어가보면, "Actions" 탭에서 가장 최근 한 push에 대해 채점이 이뤄진 것을 확인할 수 있습니다. 여기서도 모두 통과했다면 성공입니다!