본문 바로가기

Project/ToyProject

(26)
[R.Manager - Toy Project] 3st (회원가입 - 비밀번호 및 입력 체크) Java Spring 비밀번호 확인 및 회원가입 [ Part 2 진행 순서 ] 비밀번호 유효성 검사 비밀번호 & 비밀번호 재확인 회원가입 기능 - DB에 저장 동영상은 회원가입부터 로그인까지의 시연 영상이지만 이전 포스팅에 언급했던 것처럼 생각보다 로직들이 많아서 나눠서 포스팅 진행 중이다 금일은 비밀번호 유효성 검사와 비밀번호와 비밀번호 재확인 기능 마지막으로 가입하기 버튼 클릭 시 DB에 입력 값을 모두 넣어주는 작업까지 진행할 예정이다 #registerBtn은 UI상 회원가입 버튼을 의미한다 해당 버튼을 클릭 시 여러 유효성 검사를 거치게 코드를 작성하였는데, 첫 번째로는 각각의 입력값이 만약 빈 값일 때 그대로 값을 DB에 입력하면 안 되기 때문에, (DB에 Not Null 값이 있을 시 오류 발..
[R.Manager - Toy Project] 2nd (회원가입 기능 - 아이디 중복 체크) Java Spring 아이디 중복체크 첫 번째로 만든 것은 회원가입 기능이다 생각보다 조건들이 많아서 2회에 걸쳐 포스팅하려 한다 [ Part 1 진행 순서 ] UI 구성 아이디 중복확인 기능 (비즈니스 로직) 첫 번째로, 회원가입 UI 등록 폼을 만들었다 jsp 파일에서 bootstrap을 이용하여 폼들을 구성하였고 사용자에게 회원가입 예시를 보여주기 위해 placeholder를 많이 사용하였다 Java에서 기본적으로 제공해주는 password type으로 비밀번호는 사용자 눈에 보이지 않게끔 구성하였고 이메일 또한 기본적으로 제공해주는 email type으로 이메일 형식을 체크해주었다 여기서 아이디는 중복이 되면 안 되기 때문에 중복체크 버튼을 만들었고, 버튼 클릭 시 현재 DB에 같은 아이디가 있는..
[R.Manager - Toy Project] 1st (Main UI, ERD) 그동안 만들었던 토이 프로젝트 포스팅 하려 한다 RManager는 아버지께서 회사 연구소에서 시약관리 업무를 하시는데, 주로 엑셀로 작업을 하시다가 불편함을 느끼셔서 웹사이트로 제작을 해드리려 시작하였다 2021년 2월 경에, IT에 대한 지식이 하나도 없던 나는 부트캠프 (스파르타 코딩 클럽)를 수강하면서 Python 언어와 Django 프레임워크를 사용하여 클론 코딩하여 웹사이트를 만들어 드린 적이 있다 약 3개월간 혼자 진행하였으며, 모든 코드들은 내 머리에서 나온 것이 아닌 구글링을 통해 남의 코드들을 짬뽕시켜 만든 것이었고 그렇기에 유지보수가 상당히 힘들었다 예를 들어 버튼 하나 만드는 데에도, 코드들을 분석하기 일쑤였고, DB 또한 존재하지 않았다 말 그대로 빈 껍데기 웹사이트였다 시간이 흐르..
[Baseball - Restrict console] 7th (InGame #2) 코드 바뀌기 전 모습! ​ while문 안에 for문 그리고 그 안에 다시 while문이 들어간다 첫 번째 while문 = 공격 턴 끝날 때까지 for문 = 정해놓은 타석 순대로 한 명씩 나온다 두 번째 while문 = 한 선수가 진루하거나 아웃당할 때까지 ​ 다른 방법이 있을까 생각해봤지만, 아직까지는 생각이 안 나서 반복문을 여러 개 쓰게 되었다 ​ 그로 인해, 변수들의 위치를 만들다가도 가늠이 안 잡히기 시작했고 하나하나 주석 달면서 처리하고 있다 ​ ​ 주석을 달고 다니, 지금 하는 부분에 대해서 다시 한번 생각할 수 있었고 전체적으로 특정 부분에 대한 코드들을 알기 쉬워졌다 ​ 그래서 변수 위치들을 바꾸는데 무리가 없었고, 계속해서 뜨는 index 오버 오류랑 분명 아웃됐는데 아웃넘버가 세지지 ..
[Baseball - Restrict console] 6th (InGame) 한숨부터 쉬고 시작! 처음 경매장을 만들고, 팀을 구성했을 때 '하.. 이거 왜 이렇게 어렵지?' 생각했었다 근데 오늘 ? 똑같은 생각이 든다.. 맨날 오류 오류 오류 오류 그만 좀!!!! 그래도 여기 부셔보고, 저기 뚝딱뚝딱 고치는 재미는 있으니깐 참고한다.. 그래 사용자가 선수 영입하고 구단이름 설정하고 상대 구단 지정하고 타석 바꾸기까지 됐어 이제 휘두르기만 하면 돼.. 근데 왜 인덱스 오버가 뜰까? 이건 잠시 보류하고 이쯤에서 문득 생각 들었다 '처음부터 잘못 만든 건 아니겠지?' 설계의 중요성을 다시 한번 깨닫는다 단순히 무슨 기능 무슨기능 만들고 어떻게 클래스 나눠야지.. 에서 끝났으면 안됐다 몰론 뼈대를 만들고 붙여가면서 코드도 줄이 고를 반복하는 게 맞는 방법 같은데 조금만.. 조금만 더 ..
[Baseball - Restrict console] 5th (change at bat / main) 전까지는, 실제로 야구게임을 하기 전에 구단을 생성하고, 원하는 선수들을 영입하는 식의 코드만 구현했었다. 4일간 진행하면서 중간중간 번쩍 떠오르는 아이디어들도 있었고 '이건 무조건 오류난다...'라는 것도 있었는데 일단, 기본적인 틀을 만들어놓고 하나씩 해결해 나가야 할 것 같다 InGame 클래스 에서는 실제로 사용자가 게임을 진행하였을 때 게임설명을 볼 수 있는 inGame_des 함수와 (사용자는 GameStart클래스에서만 진행되기 때문에 함수로 나누었다) ​ 각각의 선수들의 스탯'만' 가져올 수 있는 int형 타입 bringPlayerStats 함수 (후에 인게임에서 스탯별로 확률이 달라지기 때문에 구현하였다) ​ 그리고,. String타입으로 선수들의 목록 = 매개변수가 들어오면 그것을 한명..
[Baseball - Restrict console] 4th 결과를 먼저 얘기하면, 사용자가 한 클래스 내부에서 모든 걸 진행하고 싶어서 GameStart라는 클래스를 만들어서 그 클래스안에 다른 클래스에 있는 함수들을 다 가져와서 게임을 진행하게 만들었다 ​ 사용자로부터 구단이름을 입력받고, 입력받는과 동시에 txt 파일을 입력받은 구단명 이름으로 생성시킨다 ​ 그리고 구단만들었을 때 3000원이 자동으로 보유하게 되고, 보유 머니로 6명의 선수를 영입하게 한다. ​ 그리고 자신이 영입한 선수들의 목록을 보여준다 메인에서는 사용자가 원하는 값에 따라 함수들을 실행시킨다 메인 내용은 위에 콘솔 창 설명과 같다 제일 많이 바뀐 경매장 클래스인데, 기존에는 경매장에서 선수를 구입하고 판매하는 식으로 진행하였는데 텍스트 파일 안에 있는 선수들을 Stream을 이용해서 ..
[Baseball - Restrict console] 3rd 오늘은 프로젝트 코드에 진전이 별로 없다..ㅠ^ㅠ 3시 30분부터 10시까지 국비 수업이 진행되기 때문에, 대부분 12시부터 3시30분까지 인프런강의를 1시간 듣고, 나머지 시간 동안 개인 프로젝트를 만드는데, 어제 수업에서 배운 DB의 Join부분이 조금 어려워서 연습문제를 푸는데 애를 먹느라 시간을 좀 많이 쓰게 되고, ​ 프로젝트의 진행방향에 대해서 같이하는 친구와 회의하면서도 시간을 좀 많이 썼다 ​ 프로젝트의 방향성에 대해서 1. 함수를 나눠서 만들어 여러 가지 기능들이 있는 야구게임 2. 한 가지 함수를 서로 코드 구성을 하여서 서로 다른 풀이 방식에 대해서 토론하고 공부하는 방식 ​ 이 부분에 대해서, 1번으로 결정을 하였고 전자방식으로 진행하는 대신에, 자기가 왜 그렇게 코드를 짰는지 설명..