기타/프로젝트

팀 프로젝트 Web으로 동작 되는 RPS(가위 바위 보) 게임 1일 차

서영환 2024. 7. 4. 16:50
  • 요구사항
    • “가위 바위 보 게임” 을 웹 브라우저에서 즐길 수 있게
    • Flask 와 HTML 을 이용
  • 추가 요구사항
    • sqlite 로 가위바위보 게임 전적을 저장
    • HTML 에 승/무/패 통계와 게임 기록을 표시
  • 기간
    • 07.04~07.10 까지
  • 진행 사항
    • 총 프로젝트가 2가지 주어졌으나 1가지는 하루만에 끝낸 상황이라 기간이 널널 하기에 이틀간 개별로 작업 수행
    • 단순히 사용자가 가위, 바위, 보를 선택 하여 승부를 보게 될 경우 서버가 임의로 선택한 가위, 바위, 보를 통하여 사용자에게 결과를 가르쳐 준다
    • 이때 따로 기록 하는게 아니고 단순히 게임 페이지 아래쪽에 해당 결과는 쌓아 놓았다.
최초 화면 사용자가 가위, 바위, 보 선택 후 게임을 할지 결정하는 화면
최초 화면
사용자가 선택 한 것을 보여주어 해당 부분으로 낼지 확인 하는 화면
게임을 진행 했을 때 결과는 전적에 표시하는 화면 게임을 총 13회 진행 한 화면
이후 사용자가 선택한 것과 컴퓨터 선택한 것에 대하여 결과는 전적에 기록 하는 부분
총 13번을 했을때의 화면

 

  • 진행 중인 사항
    • 사용자의 전적을 기록에 남기기 위해서는 사용자를 구별 할 필요 가 있을 것 같아 로그인과 회원가입이 필요
    • 로그인 페이지 와 회원가입 페이지 작성 
    • 데이터 베이스에 회원관련 테이블 생성
로그인 페이지 회원 가입 페이지
회원 가입 완료시 해당 유저 생성 부분  
 
  • 진행 예정 중이 사항
    • 아이디 중복 체크
    • 비밀번호 해쉬화
    • 로그인
    • 로그인 때만 game.html에 접근 가능하게 수정
    • game_log 테이블 생성 하여 유저별로 전적 나오게 수정
    • 전적 부분을 game_log 테이블에서 조회된 것으로 변경
  • 진행하면 만났던 오류 및 문제점
    • database.db 파일이 github에 올라가게 됨
      • 검색을 통하여 git에서 특정 파일 제외 하는 기능 확인
        • 특정 파일 일때 : git rm --cached 파일명
        • 특정 확장자 전체 일때 :git rm --cached *.확장자
        • 특정 폴더 일때 :git rm --cached 디렉토리명/ -r
        • 해당 명령어는 github에 올라가 있는 파일을 삭제 하는 것이므로 남용 하면 안된다
        • 내가 임의로 만들고 테스트 할 때 잠깐 사용하는 파일이나 디렉토리들만 삭제 해야 하지 기존에 있는 파일을 임의로 삭제 하면 안된다
    • flask에서 파일을 접근할 때
      • python 이 아닌 php 였다면 주소를 가져와서 바로 입력을 하겠으나 flask를 사용하므로 flask에서 파일을 접근 하는 방식을 사용필요
      • 하여 url_for를 이용하여 파일을 접근
      • 또한 js, image, css 파일의 경우 static 폴더를 사용하여 해당 파일을 관리 하는걸 배움
    • 강의에는 따로 post 형식으로 던져진 값을 확인 하는 부분이 없어 이를 검색을 통하여 해결
      • 회원 가입시나 로그인 할 때에는 특정한 정보가 있고 또한 비밀번호에는 특수 문자등이 존재하므로 이를 get으로 던졌을때 url 오류가 발생 할 수도 있다.
      • 그래서 post를 이용하여 url 뒤에 파라메터들이 노출 되지 않게 하는데 강의때에는 request를 활용 하여 args.get()을 통하여 파라메터를 접근 했는데 그대로 post에서 그대로 사용시 당연히 에러발생
      • post일 때에는 args 대신 form을 통하여 form 데이터를 가져오는데 이때 가져오는 데이터 타입이 딕셔너리이므로 사용 파라메터에 접근을 할 때에는 form안에 입력했던 input의 name 값을 입력하여 해당 데이터에 접근 하면 쉽게 해결

 

참조 사이트 : https://kcmschool.com/194

 

[Git] git ignore 특정 파일또는 폴더 제외 or 무시하기

Git을 하게 되면 내가 작업하는 공간에는 필요하지만 remote(원격)에 push를 무시해야 하는 경우가 있습니다. 이런 경우는 소스 파일이라던가 올리면 충돌이 일어나 오류를 범할 수 있기 떄문입니다

kcmschool.com