Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
안녕하세요, 임규영 리뷰어님!
그리디 프론트엔드 4기로 함께하게 된 고규민입니다.
리뷰어님의 리뷰이로 선정되어 정말 영광입니다! 😊
저는 그동안 개인 프로젝트를 진행해 왔었는데 바이브 코딩에 의존하거나 AI가 짜주는 코드에 지나치게 기대고 있다는 한계를 느꼈습니다. 이번 기회를 통해 기초부터 한 단계씩 제대로 배우며 단단하게 성장하고 싶어 지원하게 되었습니다. 바쁜 시간 쪼개어 리뷰해 주시는 만큼 열심히 배워나가겠습니다! 한 학기 동안 잘 부탁드립니다!!
✅기능 구현 목록
[게임 흐름 제어 (BaseballController.js)]
- 확인 버튼 클릭 시 유효성 검사 및 판정 로직 실행
- 재시작 버튼 클릭 시 Model과 View 초기화 후, 새 게임 시작
[게임 데이터 관리 (BaseballModel.js)]
- 컴퓨터의 서로 다른 임의의 수 3개 생성
- 사용자의 입력값과 컴퓨터의 숫자를 비교 후 스트라이크/볼 판정
- 게임 재시작 시 새로운 정답 숫자 생성 후 데이터 초기화
[유효성 검사 (isValid.js)]
- 3자리 숫자가 아니거나, 중복된 숫자가 있거나 0이 포함된 경우 alert 메시지 띄움
[사용자 인터페이스 (BaseballView.js)]
- 사용자가 입력한 숫자에 대한 힌트를 화면에 출력
- 정답을 맞췄을 경우 축하 메시지와 재시작 버튼 표시
- 재시작 버튼 클릭 시 입력창과 결과창 초기화
💡학습하면서 고민하고 알게 된 점
1. 변수 선언 키워드(const, let)와 MVC 패턴의 관계 고찰
이번 미션에서 const와 let만을 사용하며 단순히 '상수와 변수'의 차이를 넘어, 코드의 정적 구조와 동적 상태를 구분하는 기준으로서의 가능성을 고민해 보았습니다. 프로젝트의 큰 골격인 Model이나 Controller는 const로 선언하여 참조의 안정성을 유지하고, 실제 변화가 필요한 데이터들만 최소한의 let으로 관리하며 데이터의 불변성과 예측 가능성을 높이고자 노력했습니다. 변수 선언 하나가 동료 개발자에게 데이터의 성격을 전달하는 의사소통 수단이 될 수 있음을 배웠습니다.
2. git 스테이징 영역과 커밋
이번 커밋 과정에서 isValid.js 파일을 폴더 이동시키며 취소선이 그어진 파일과 새로운 파일이 동시에 나타나는 현상을 겪었는데, 이를 통해 깃의 스테이징 영역과 U(Untracked), M(Modified), D(Deleted)라는 파일 상태 개념을 알게 되었습니다. 깃은 파일의 이동을 단번에 감지하지 못하고 기존 위치에서의 삭제와 새로운 위치에서의 생성을 별개의 사건으로 인식하지만, 이 두 변화를 모두 스테이징 영역으로 올리면 비로소 파일 내용의 일치 여부를 확인해 이를 하나의 '이사'인 R(Renamed) 상태로 통합하여 표시해 준다는 핵심 원리를 배울 수 있었습니다.
Q. MVC 패턴의 기준 적용 범위
MVC 패턴을 학습하기 전에는 const(상수)와 let(변수)의 정적/동적인 특성을 기준으로 코드의 역할을 구분해볼 수 있지 않을까 하는 고민을 하기도 했습니다. 결과적으로는 이번 미션에서 MVC 패턴을 적용해 구조를 나누었지만, 실제 현업이나 프로젝트에서도 항상 이 패턴을 엄격히 고수하는지 궁금합니다.
특히, 데이터 흐름 측면에서 View가 Model을 직접 참조하지 않고 반드시 Controller를 거쳐야만 하는 지와 어느 정도 수준까지 지키는 것이 실무적으로 권장되는 관례인지 리뷰어님의 생을 여쭙고 싶습니다!
자바스크립트를 이번 미션으로 처음 접하며 단순히 기능을 구현하는 것을 넘어, MVC 패턴 도입과 여러 요구사항을 통해 '지속 가능한 개발'의 본질을 고민해 볼 수 있었던 것 같습니다. 처음 마주하는 문법과 클래스 활용법에 대해 끊임없이 고민하고 어떤 걸 사용하는 게 더 나을까 끊임없이 질문을 던지면서 학습했던 거 같은데 스스로 더 나은 방식을 찾아가는 과정이 정말 즐거웠습니다!
아직은 배울 것이 많은 시작 단계이지만, 제가 놓친 포인트나 더 깊이 고민해 볼 지점들을 피드백해 주시면 감사한 마음으로 다시 성장의 발판으로 삼아 열심히 학습하겠습니다. 부족한 점이 많더라도 한 학기 동안 잘 부탁드립니다!