체스 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 1 회고 체스 게임 시작을 위해 입력해야 할 명령어의 문구를 출력한다. 체스 게임 시작을 위해서 명령을 입력받는다. [예외처리] 구성외의 입력은 받을 수 없다. [예외처리] move 뒤 값이 {원래 칸} {이동할 칸} 형태여야 한다. status를 입력받울 수 있다. [예외처리] start, move, end를 입력받을 수 없다. 체스 게임을 시작한다 위치가 변경될 때 마다 체스판을 출력한다 체스 게... 체스레벨1step1우테코step1 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 2 회고 상여자는 커멘드로 간다^^ 방 이름을 입력받고 시작버튼을 누른다 이동하고 싶은 말과 칸을 커멘드로 입력한다 종료 버튼을 누른다 재시작 버튼을 누른다 각 방 이름별로 현재 진행 턴, 보드 상태를 저장한다. 방이름과 턴은 board 테이블에 String으로, 보드 상태는 squares 테이블에 저장한다 해당 방의 정보가 있는지 확인하고, 있을 시 게임 진행상태를 반환한다. 방 이름을 인자로 받아... 레벨1체스step2우테코step2 우아한테크코스 레벨1 체스 미션 정리 아마 당시에 isXXX() 형태의 메소드는 어떤 기능을 수행하는 것이 아니라 '~~이니?'라고 묻는 메소드이기 때문에 제거해볼 수 있지 않을까 하는 생각에서 시작된 고민이었다고 생각된다. A. 해당 부분을 상태 안으로 넣음으로써 상태를 사용하는 곳, 즉 외부에서는 현재 어떤 상태인지를 알 필요없이 사용할 수 있게 된다. 즉 도메인에서 뷰에 의존하고 있다고 볼 수 있다. 따라서 Symbol 이... 체스피드백레벨1우아한테크코스레벨1 아이템72. 표준 예외를 사용하라 상태패턴을 이용해서 체스게임을 구현했는데, 해당 피드백을 받았다. 지금까지 미션을 하면서 무지성으로 IllegalArgumentException을 던졌었는데, 이번 기회에 공부를 해봤다. 숙련된 프로그래머는 그렇지 못한 프로그래머보다 더 많은 코드를 재사용한다. 예외도 마찬가지로 재사용하는 것이 좋다. 대표적으로 재사용되는 예외는 아래와 같다. 예외 주요쓰임 IllegalArgumentExc... 체스우테코이펙티브자바우테코 instanceOf, getClass() 를 통해 비교하면 안될까? 이번에 체스미션을 배카라와 같이 구현했다. Piece 추상클래스를 상속받은 체스말들을 클래스로 만들어서 관리를 했는데 Pawn인지 확인하는 메서드를 구현하다가 고민이 생겼다. getClass를 이용해서 Pawn과 같은 클래스인지 확인하면 상속받은 모든 기물에서 구현할 필요가 없지만, abstract method를 쓰게되면 모든 기물에서 구현해야한다. 객체에서 메세지를 전해준다는 의미에서는 아... 체스우테코우테코
[우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 1 회고 체스 게임 시작을 위해 입력해야 할 명령어의 문구를 출력한다. 체스 게임 시작을 위해서 명령을 입력받는다. [예외처리] 구성외의 입력은 받을 수 없다. [예외처리] move 뒤 값이 {원래 칸} {이동할 칸} 형태여야 한다. status를 입력받울 수 있다. [예외처리] start, move, end를 입력받을 수 없다. 체스 게임을 시작한다 위치가 변경될 때 마다 체스판을 출력한다 체스 게... 체스레벨1step1우테코step1 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 2 회고 상여자는 커멘드로 간다^^ 방 이름을 입력받고 시작버튼을 누른다 이동하고 싶은 말과 칸을 커멘드로 입력한다 종료 버튼을 누른다 재시작 버튼을 누른다 각 방 이름별로 현재 진행 턴, 보드 상태를 저장한다. 방이름과 턴은 board 테이블에 String으로, 보드 상태는 squares 테이블에 저장한다 해당 방의 정보가 있는지 확인하고, 있을 시 게임 진행상태를 반환한다. 방 이름을 인자로 받아... 레벨1체스step2우테코step2 우아한테크코스 레벨1 체스 미션 정리 아마 당시에 isXXX() 형태의 메소드는 어떤 기능을 수행하는 것이 아니라 '~~이니?'라고 묻는 메소드이기 때문에 제거해볼 수 있지 않을까 하는 생각에서 시작된 고민이었다고 생각된다. A. 해당 부분을 상태 안으로 넣음으로써 상태를 사용하는 곳, 즉 외부에서는 현재 어떤 상태인지를 알 필요없이 사용할 수 있게 된다. 즉 도메인에서 뷰에 의존하고 있다고 볼 수 있다. 따라서 Symbol 이... 체스피드백레벨1우아한테크코스레벨1 아이템72. 표준 예외를 사용하라 상태패턴을 이용해서 체스게임을 구현했는데, 해당 피드백을 받았다. 지금까지 미션을 하면서 무지성으로 IllegalArgumentException을 던졌었는데, 이번 기회에 공부를 해봤다. 숙련된 프로그래머는 그렇지 못한 프로그래머보다 더 많은 코드를 재사용한다. 예외도 마찬가지로 재사용하는 것이 좋다. 대표적으로 재사용되는 예외는 아래와 같다. 예외 주요쓰임 IllegalArgumentExc... 체스우테코이펙티브자바우테코 instanceOf, getClass() 를 통해 비교하면 안될까? 이번에 체스미션을 배카라와 같이 구현했다. Piece 추상클래스를 상속받은 체스말들을 클래스로 만들어서 관리를 했는데 Pawn인지 확인하는 메서드를 구현하다가 고민이 생겼다. getClass를 이용해서 Pawn과 같은 클래스인지 확인하면 상속받은 모든 기물에서 구현할 필요가 없지만, abstract method를 쓰게되면 모든 기물에서 구현해야한다. 객체에서 메세지를 전해준다는 의미에서는 아... 체스우테코우테코