본문 바로가기

내일배움캠프/축구팀 관리 프로젝트37

축구팀 관리 프로젝트 33일차 - 프로젝트 유저 테스트 준비 축구팀 관리 프로젝트 33일차 - 프로젝트 유저 테스트 준비 길고 긴 설 명절을 지나 다시 팀원들과 모여 프로젝트를 수정하는 오늘이었습니다. 곧 배포할 프로젝트를 위해 유저테스트용 자료 만들기와 함께 테스트하며 발견한 오류를 수정하였습니다. 프로젝트 유저테스트 준비 오늘은 프로젝트의 다양한 피드백을 받기 위한 유저테스트 자료를 만들고, 배포 전 최종 테스트를 하며 발견한 오류를 수정하였습니다. 유저테스트 소개용 이미지도 만들고, 유저테스트 설문지도 구글폼을 활용하여 만들었습니다. 축구왕! 유저 테스트 설문 안녕하세요! 축구를 사랑하는 모든 분들의 활동을 지원하기 위해 탄생한 축구왕! 입니다. ⚽🔥 축구왕! 소개 🔥⚽ 조기축구팀을 위한 종합 관리 플랫폼으로, 30명 이상의 팀원 관리부터 지역별 docs.g.. 2024. 2. 13.
축구팀 관리 프로젝트 27일차 - 경기 생성 및 결과 테스트 코드 작성 축구팀 관리 프로젝트 27일차 - 경기 생성 및 결과 테스트 코드 작성 현재 작업중인 포메이션 추천 로직을 위해 축구팀 경기데이터가 필요했습니다. 하지만 기획 및 테이블 구조상 외부에서 자료를 가져오기가 어려웠습니다. 그래서 Jest로 더미데이터를 만들었습니다. Jest로 경기 데이터 만들기 축구팀 관리 프로젝트 19일차 - jest로 dummy data 생성 중, 사용법 축구팀 관리 프로젝트 19일차 - jest로 dummy data 생성 중, 사용법 jest로 코드 테스트 및 더미 데이터를 만드는 로직을 작성 중입니다. 제목이 만드는 중이라는 건 아직 다 못 만들었다는 뜻입니다. lemonlog.tistory.com 사실 이전에 만들어놓은 jest 코드가 있었습니다. 하지만 이번에 다시 돌려보니 오류.. 2024. 2. 8.
축구팀 관리 프로젝트 26일차 - 경기장 조회 페이지네이션 적용 축구팀 관리 프로젝트 26일차 - 경기장 조회 페이지네이션 적용 전날 경기장 데이터를 새로 Mysql에 저장하는 작업을 했습니다. 전국 경기장 데이터가 담긴 csv 파일을 파싱해서 Mysql에 넣었는데 데이터량이 필터를 했음에도 10,000건이 넘어갔습니다. 그래서 경기장 조회 화면에 페이지네이션을 적용하였습니다. 경기장 조회 화면 페이지네이션 적용 이전 경기장 조회 화면은 다음과 같았습니다. 기존에 있던 자료에는 경기장 목록이 50건 이하였습니다. 하지만 전날 작업한 csv 파일 안에 있는 경기장 목록은 3만건 정도가 있었습니다. * 파싱한 전국 경기장 데이터가 담긴 csv 파일 경기장 정보를 담는 테이블이 location과 soccer_fields가 있는데 아래 깃허브 프로젝트에 있는 파일로 csv .. 2024. 2. 6.
축구팀 관리 프로젝트 25일차 - 2월부터 AWS Public IPv4 요금 부과 축구팀 관리 프로젝트 25일차 - 2월부터 AWS Public IPv4 요금 부과 이전에도 EC2 인스턴스 여러개 생성하다가 요금 부과된 경험이 있어서 AWS 서비스 사용에 더 신중해지기 시작했습니다. 그러다가 오늘 AWS console을 들어가봤는데... AWS Public IPv4 요금 부과 2월 1일부터 또 돈이 부과되기 시작했습니다. 전에는 EC2 인스턴스 여러개 생성해서 하나만 중지상태로 두고 있었는데 그래도 돈이 나가기 시작했습니다.나가는 금액은 하루에 0.12달러였습니다. 일정하게 나가는거 보니 어딘가 계속 운영중인 서비스에서 나가는거라 생각했습니다. 바로 튜터님께 물어봤고, 같이 자료를 찾아보면서 알게되었습니다.AWS에서 2024년 2월 1일부터 요금 부과 정책을 바꿨다는 사실을요. AWS.. 2024. 2. 5.
축구팀 관리 프로젝트 24일차 - 포메이션 추천 시나리오 작성 축구팀 관리 프로젝트 24일차 - 포메이션 추천 시나리오 작성 포메이션 추천 기능을 만들고자 시나리오를 작성해보았습니다. 파이썬 사용은 불가피해 보였구요. 어떤 방식으로 포메이션 추천할지에 대해 고민해본 내용을 기록해봤습니다. 축구팀 관리 프로젝트 23일차 - 리엑트 반응형으로 화면 비율 고정 축구팀 관리 프로젝트 23일차 - 리엑트 반응형으로 화면 비율 고정 리엑트로 웹프로젝트 개발하면서 화면의 페이지 비율 변경시 만들어놓은 몇몇 컴포넌트들이 깨지는 현상을 발견하게 되었습 lemonlog.tistory.com 전날 작업한 기록입니다 포메이션 추천 기능을 위한 시나리오 포메이션 추천이 왜 생겼나면 아래 화면처럼 오른쪽에 보이는 '추천 포메이션' 이 부분을 실제로 사용가능하도록하기 위해서였습니다. 이는 처.. 2024. 2. 5.
축구팀 관리 프로젝트 23일차 - 리엑트 반응형으로 화면 비율 고정 축구팀 관리 프로젝트 23일차 - 리엑트 반응형으로 화면 비율 고정 리엑트로 웹프로젝트 개발하면서 화면의 페이지 비율 변경시 만들어놓은 몇몇 컴포넌트들이 깨지는 현상을 발견하게 되었습니다. 이를 해결하기 위해 다양한 방법을 찾아보았습니다. 리엑트 반응형으로 화면 비율 고정하는법 [React] 반응형으로 화면 비율 고정하기: 화면 크기가 변해도 해상도 유지하기 React로 게임 형식의 웹 프로젝트를 개발하면서 웹 페이지 반응형으로 고정 비율로만 화면이 보이게 하는 기능을 개발했다.이 기능을 개발하게 된 이유는 사실 작년에 비슷한 게임 형식의 웹 페 velog.io 위 페이지에서 많은 인사이트를 만날 수 있었습니다. 페이지에선 아래처럼 화면을 일정 비율로 조정하는 모듈을 만들어 사용하도록 하였습니다. imp.. 2024. 2. 4.
축구팀 관리 프로젝트 22일차 - 중간발표 끝, SQL 인젝션 해결방안 축구팀 관리 프로젝트 22일차 - 중간발표 끝, SQL 인젝션 해결방안 프로젝트 중간발표를 마쳤습니다. 발표전 리허설과 함께 발표자 외에도 각자 구현한 기능에 대한 질문을 대응하기 위한 준비를 철저히 한 덕분에 발표 후 여러 질문에도 적절히 대답할 수 있었습니다. 간략한 발표 소개와 함께 필자가 작성한 부분의 지적사항 및 개선방안에 대해 작성해보겠습니다. 중간발표를 마치고 3주간 작업한 내용에 대해 발표를 마쳤습니다. 발표자는 팀원이 하였으나 질문시 본인이 맡은 파트의 질문이 오면 그에 대해 답을 하기로 했습니다. 신기하게도 팀원 전부 한가지씩 질문을 받게 되었고, 그에 대한 답안도 적절히 대응할 수 있었습니다. SQL 인젝션 이슈 발생 필자는 typeORM에서 Raw Query 작성시 SQL 인젝션 이.. 2024. 2. 3.
축구팀 관리 프로젝트 21일차 - 추천 알고리즘? 백엔드로 가기 위해선 축구팀 관리 프로젝트 21일차 - 추천 알고리즘? 백엔드로 가기 위해선 중간발표 하루 앞둔 날, 튜터님과의 면담을 가졌습니다. 이번 면담 전에는 각자 기본 기능 외에 더욱 심화적인 기술을 구상해오라는 숙제가 있었습니다. 필자가 가지고간 기술 소개와 그에 따른 사전조사 및 고민에 대해 아래 기록해두려 합니다. 축구 포메이션 화면을 보다가 며칠 전부터 심화적인 기술에 대해 고민을 했었습니다. 주제가 축구팀 관리이다 보니 대용량 데이터 처리는 프로젝트 흐름상 어려웠습니다. 게다가 필자가 맡은 부분은 경기 예약, 경기 일정, 경기 포메이션 설정 이었습니다. 이에 관하여 심화적인 기술을 고민해보았습니다. 축구에 관한 대용량 데이터를 만들기 위해 해외 api를 가져와서 데이터 처리를 해볼까. 해외 축구 정보 API.. 2024. 2. 2.
축구팀 관리 프로젝트 20일차 - dataSource.query 사용, 부하테스트 축구팀 관리 프로젝트 20일차 - dataSource.query 사용, 부하테스트 벌써 프로젝트 진행한지 3주나 지났습니다. 시간이 어떻게 지나갔는지도 모를만큼 순식간에 3주를 바라보게 되었습니다. 며칠 뒤면 중간발표 기간이라 그 때까지의 기능 구현을 위해 개발에 몰두 중입니다. 그 와중에 테스트할 건 많아서 오늘 작업한 것과 부하테스트를 위한 사전조사를 했습니다. 전술 화면 계속 작업 중 축구팀 관리 프로젝트 19일차 - jest로 dummy data 생성 중, 사용법 축구팀 관리 프로젝트 19일차 - jest로 dummy data 생성 중, 사용법 jest로 코드 테스트 및 더미 데이터를 만드는 로직을 작성 중입니다. 제목이 만드는 중이라는 건 아직 다 못 만들었다는 뜻입니다. lemonlog.tis.. 2024. 2. 1.