이름 일치 메모리 게임 개발 경험: Amazon Q CLI 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 초보 개발자 및 AWS CLI 사용자
- AI 도구 활용에 관심 있는 프론트엔드/백엔드 개발자
- Flask 프레임워크 학습자
- 소셜 기술 훈련을 위한 웹 애플리케이션 개발자
- 난이도: 중간 (AWS CLI, Flask 기본 지식 필요)
핵심 요약
- Amazon Q CLI를 사용하여 CLI 게임 → 웹 앱으로의 전환을 자동화
- 게임 핵심 로직:
def play_game()
함수로 JSON 데이터 기반 명확한 이름 매칭 로직 구현 - 웹 앱 기능:
people_data.json
,game_stats.json
파일과static/images/
디렉토리로 다이나믹 이미지 로딩
섹션별 세부 요약
1. 게임 개요 및 동기
- 소셜 상황에서 이름 기억 어려움 해결을 목표로 한 명확한 이름-얼굴 매칭 게임
- Amazon Q CLI를 활용한 CLI → 웹 애플리케이션 개발 과정
- AWS CLI 설치와 Q CLI 설정을 통한 초기화
2. CLI 게임 로직 구현
- Python CLI 게임으로 시작:
play_game()
함수에서 people_data
JSON 파일로 데이터 로딩options
생성 및 랜덤 선택score
추적 및 반복 라운드 구조- 코드 예시:
```python
def play_game(self, num_rounds: int = 5) -> None:
if len(self.people_data) < 4:
print("You need at least 4 people in the database to play the game.")
```
3. 웹 앱으로의 전환 (Flask 활용)
- Q CLI가 자동으로 Flask 앱 구조 생성:
app.py
에서Flask
서버 실행templates/
디렉토리의 HTML 템플릿과 CSS 스타일링- 웹 앱 주요 기능:
- 랜덤 얼굴 선택
- 다중 선택 (3-4개 이름 옵션)
- 즉시 피드백 및 점수 추적
- 최종 결과 요약 (정확도, 성과 분석)
4. 파일 구조 및 설정
- 데이터 파일:
people_data.json
:{"id":"alice","name":"Alice Johnson"}
형식game_stats.json
: 세션별 통계 추적- 이미지 저장:
static/images/
디렉토리에alice.jpg
형식으로 저장 - 가상 환경 설정:
```bash
python3 -m venv venv
source venv/bin/activate
pip install flask
```
5. 개선 계획 및 학습 요약
- 추가 기능:
- 사용자 인증 시스템
- 웹 기반 이미지/데이터 업로드 인터페이스
- 데이터베이스 통합 (JSON → MySQL/PostgreSQL)
- 리더보드 및 난이도 조절
- Amazon Q CLI 활용 핵심 교훈:
- AI 기반 코딩의 빠른 개발 가능
- 인터랙티브 문제 해결 (예: Flask 설치 오류 해결)
- 반복적 개발 및 대화형 학습
결론
- Amazon Q CLI는 CLI → 웹 앱 전환을 자동화하며, Flask 웹 개발의 핵심 개념을 대화형으로 학습 가능
- JSON 데이터 및 이미지 관리로 확장성 있는 구조 설계
- 사용자 인증과 리더보드 추가로 다양한 기능 확장 가능
- AI 도구 활용을 통해 개발 효율성 향상 및 소셜 기술 훈련 도구로 활용 가능