우테코 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 1 회고 체스 게임 시작을 위해 입력해야 할 명령어의 문구를 출력한다. 체스 게임 시작을 위해서 명령을 입력받는다. [예외처리] 구성외의 입력은 받을 수 없다. [예외처리] move 뒤 값이 {원래 칸} {이동할 칸} 형태여야 한다. status를 입력받울 수 있다. [예외처리] start, move, end를 입력받을 수 없다. 체스 게임을 시작한다 위치가 변경될 때 마다 체스판을 출력한다 체스 게... 체스레벨1step1우테코step1 [우아한테크코스 백엔드 4기] 레벨1 - "블랙잭" 회고 참여자 이름 입력 받는 기능 [예외] 빈 문자열을 입력받은 경우 참여자의 배팅금액 입력 받는 기능 [예외] 숫자가 아닌 경우 한장 더 받는지 여부 확인 기능 [예외] y 또는 n이 아닌 문자를 입력받은 경우 카드 생성 플레이어 모음 객체 생성 플레이어 객체 생성 배팅금액 객체 생성 [예외] 0 이하일 경우 이름 객체 생성 카드 숫자 계산 카드 추가 기능 딜러 : 2장의 합계가 16 이하이면 ... 레벨1블랙잭우테코레벨1 [레벨1 - 미션4] 2단계 자판기 미션 피드백 상수도 복잡하면 나눠라 그런데 처음으로 constants.ts 파일을 여러 개로 분리했어요. constants.ts에 너무 많은 상수들이 있었거든요. 상수도 복잡해지면 분리해줘야합니다! 보통 validate-- 함수를 보면 어떤 역할과 반환 값을 기대하시나요? 👆 ValidationResult의 첫번째 인자가 hasError이다보니 true일 경우 에러가 발생하도록 설계되었어요. privat... 우테코우테코 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 2 회고 상여자는 커멘드로 간다^^ 방 이름을 입력받고 시작버튼을 누른다 이동하고 싶은 말과 칸을 커멘드로 입력한다 종료 버튼을 누른다 재시작 버튼을 누른다 각 방 이름별로 현재 진행 턴, 보드 상태를 저장한다. 방이름과 턴은 board 테이블에 String으로, 보드 상태는 squares 테이블에 저장한다 해당 방의 정보가 있는지 확인하고, 있을 시 게임 진행상태를 반환한다. 방 이름을 인자로 받아... 레벨1체스step2우테코step2 [레벨1 - 미션4] 1단계 자판기 미션 피드백 굉장히 어렵고 엄청 많은 곳에서 빨간색 밑줄이 뜨더라구요. 여태까지 JS로 개발하면서 "에러 처리를 많이 놓치고 있었구나😢" 느낄 수 있었습니다. Typescript의 필요성을 엄청 느꼈습니다. try catch문 안에서 forEach를 돌리고, 강제 throw에러로 루프를 벗어나는 방법 Array.some() 메소드를 쓰는 방법 Array.every() 메소드를 쓰는 방법 1) 기본 has... 우테코우테코 [레벨1 - 미션4] 자판기 기억에 남는 피드백 크루들은 어떻게 개발했나 살펴볼까요? 👍 protected 사용 private과 비슷하긴 합니다. 자손 클래스에서도 접근이 가능하다는 점이 다릅니다. 👍 interface도 분리 인터페이스나 타입도 복잡해지면 분리할 생각을 합시다. 👍 미리 타입을 선언하는 멤버함수 class 작성 시 멤버함수들의 타입을 미리 작성해두는 크루를 봤어요. 괜찮은 것 같아요! 👍 API 처리하기 👆 API를 가져... 우테코우테코 [우테코] 프리코스 2주차 미션 - 자동차 경주 게임 1주차 피드백 1주차 피드백이 나왔다 초간단 자동차 경주 게임을 구현한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다. 경주 ... 우테코우테코 2021.07.07 데일리 회고 .d.ts파일에는 declare namespace, declare module, declare const 등이 들어갈 수 있다. 예를 들어 js로 구현되어 있는 라이브러리의 경우 타입스크립트에서 사용한다면 타입 체크가 되지 않지만 .d.ts파일에서 해당 라이브러리를 불러와서 declare module을 통해 타입을 정의해 줄 수 있다. 해당 파일은 타입스크립트에서 타입을 검사하는 용도로만 사... 데일리 회고우테코데일리 회고 [우아한테크코스 백엔드 4기] 레벨1 - git 페어 프로그래밍 세팅 🔗 출처 우테코 홈페이지 속 해당 미션으로 들어가 미션시작 버튼 클릭 저장소에 내 이름 브랜치가 추가된다. 미션 브랜치 생성 저장소 우측 상단의 fork 버튼을 클릭해 우테코 미션 저장소를 내 계정으로 Fork 터미널에서 저장될 폴더 안까지 이동 Fork된 내 저장소에서 내 아이디(betterfuture4)의 branch만 로컬로 clone 기능구현을 위한 브랜치 생성 7.IntelliJ에서... 레벨1git페어프로그래밍우테코git [우테코] 1주 차 백엔드 피드백 이름을 통해 의도를 드러내라 변수 이름, 함수(메서드) 이름, 클래스 이름을 짓는데 시간을 투자하자. 이름을 통해 변수의 역할, 함수의 역할, 클래스의 역할에 대한 의도를 드러내기 위해 노력하라. 누구나 클래스, 메서드 또는 변수의 이름을 줄이려는 유횩에 곧잘 빠지곤 한다. 클래스와 메서드 이름을 한 두 단어로 유지하려고 노력하고 문맥을 중복하는 이름을 자제하자. 클래스 이름이 Order라면... 피드백우테코우테코 toString()은 어떻게 써야하나? "만약 요구사항이 콘솔 출력에서 웹 페이지 출력으로 바뀐다면 toString의 반환값을 HTML로 나타내야 할까?" 라는 질문에 대해서도 한번 고민해보시면 좋겠습니다. 자동차 미션을 구현하던 중 toString() 메서드에 대한 질문을 받고 출력형태에 따라 반환값을 다르게 해야하나 고민했다. 이펙티브 자바에 toString()에 관한 내용이 있길래 읽고 정리해봤다. toString() 일반 ... 자동차경주우테코우테코 객체지향 생활 체조를 하는 이유? 인덴트를 줄이고 else를 쓰지말고 한 메서드가 한 기능을 하고 등등. 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다. 규칙 2: else 예약어를 쓰지 않는다. 규칙 3: 모든 원시값과 문자열을 포장한다. 규칙 4: 한 줄에 점을 하나만 찍는다. 규칙 5: 줄여쓰지 않는다(축약 금지). 규칙 6: 모든 엔티티를 작게 유지한다. 규칙 7: 2개 이상의 인스턴스 변수를 가진 클래스를 ... 객체지향우테코객체지향
[우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 1 회고 체스 게임 시작을 위해 입력해야 할 명령어의 문구를 출력한다. 체스 게임 시작을 위해서 명령을 입력받는다. [예외처리] 구성외의 입력은 받을 수 없다. [예외처리] move 뒤 값이 {원래 칸} {이동할 칸} 형태여야 한다. status를 입력받울 수 있다. [예외처리] start, move, end를 입력받을 수 없다. 체스 게임을 시작한다 위치가 변경될 때 마다 체스판을 출력한다 체스 게... 체스레벨1step1우테코step1 [우아한테크코스 백엔드 4기] 레벨1 - "블랙잭" 회고 참여자 이름 입력 받는 기능 [예외] 빈 문자열을 입력받은 경우 참여자의 배팅금액 입력 받는 기능 [예외] 숫자가 아닌 경우 한장 더 받는지 여부 확인 기능 [예외] y 또는 n이 아닌 문자를 입력받은 경우 카드 생성 플레이어 모음 객체 생성 플레이어 객체 생성 배팅금액 객체 생성 [예외] 0 이하일 경우 이름 객체 생성 카드 숫자 계산 카드 추가 기능 딜러 : 2장의 합계가 16 이하이면 ... 레벨1블랙잭우테코레벨1 [레벨1 - 미션4] 2단계 자판기 미션 피드백 상수도 복잡하면 나눠라 그런데 처음으로 constants.ts 파일을 여러 개로 분리했어요. constants.ts에 너무 많은 상수들이 있었거든요. 상수도 복잡해지면 분리해줘야합니다! 보통 validate-- 함수를 보면 어떤 역할과 반환 값을 기대하시나요? 👆 ValidationResult의 첫번째 인자가 hasError이다보니 true일 경우 에러가 발생하도록 설계되었어요. privat... 우테코우테코 [우아한테크코스 백엔드 4기] 레벨1 - "체스" STEP 2 회고 상여자는 커멘드로 간다^^ 방 이름을 입력받고 시작버튼을 누른다 이동하고 싶은 말과 칸을 커멘드로 입력한다 종료 버튼을 누른다 재시작 버튼을 누른다 각 방 이름별로 현재 진행 턴, 보드 상태를 저장한다. 방이름과 턴은 board 테이블에 String으로, 보드 상태는 squares 테이블에 저장한다 해당 방의 정보가 있는지 확인하고, 있을 시 게임 진행상태를 반환한다. 방 이름을 인자로 받아... 레벨1체스step2우테코step2 [레벨1 - 미션4] 1단계 자판기 미션 피드백 굉장히 어렵고 엄청 많은 곳에서 빨간색 밑줄이 뜨더라구요. 여태까지 JS로 개발하면서 "에러 처리를 많이 놓치고 있었구나😢" 느낄 수 있었습니다. Typescript의 필요성을 엄청 느꼈습니다. try catch문 안에서 forEach를 돌리고, 강제 throw에러로 루프를 벗어나는 방법 Array.some() 메소드를 쓰는 방법 Array.every() 메소드를 쓰는 방법 1) 기본 has... 우테코우테코 [레벨1 - 미션4] 자판기 기억에 남는 피드백 크루들은 어떻게 개발했나 살펴볼까요? 👍 protected 사용 private과 비슷하긴 합니다. 자손 클래스에서도 접근이 가능하다는 점이 다릅니다. 👍 interface도 분리 인터페이스나 타입도 복잡해지면 분리할 생각을 합시다. 👍 미리 타입을 선언하는 멤버함수 class 작성 시 멤버함수들의 타입을 미리 작성해두는 크루를 봤어요. 괜찮은 것 같아요! 👍 API 처리하기 👆 API를 가져... 우테코우테코 [우테코] 프리코스 2주차 미션 - 자동차 경주 게임 1주차 피드백 1주차 피드백이 나왔다 초간단 자동차 경주 게임을 구현한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다. 경주 ... 우테코우테코 2021.07.07 데일리 회고 .d.ts파일에는 declare namespace, declare module, declare const 등이 들어갈 수 있다. 예를 들어 js로 구현되어 있는 라이브러리의 경우 타입스크립트에서 사용한다면 타입 체크가 되지 않지만 .d.ts파일에서 해당 라이브러리를 불러와서 declare module을 통해 타입을 정의해 줄 수 있다. 해당 파일은 타입스크립트에서 타입을 검사하는 용도로만 사... 데일리 회고우테코데일리 회고 [우아한테크코스 백엔드 4기] 레벨1 - git 페어 프로그래밍 세팅 🔗 출처 우테코 홈페이지 속 해당 미션으로 들어가 미션시작 버튼 클릭 저장소에 내 이름 브랜치가 추가된다. 미션 브랜치 생성 저장소 우측 상단의 fork 버튼을 클릭해 우테코 미션 저장소를 내 계정으로 Fork 터미널에서 저장될 폴더 안까지 이동 Fork된 내 저장소에서 내 아이디(betterfuture4)의 branch만 로컬로 clone 기능구현을 위한 브랜치 생성 7.IntelliJ에서... 레벨1git페어프로그래밍우테코git [우테코] 1주 차 백엔드 피드백 이름을 통해 의도를 드러내라 변수 이름, 함수(메서드) 이름, 클래스 이름을 짓는데 시간을 투자하자. 이름을 통해 변수의 역할, 함수의 역할, 클래스의 역할에 대한 의도를 드러내기 위해 노력하라. 누구나 클래스, 메서드 또는 변수의 이름을 줄이려는 유횩에 곧잘 빠지곤 한다. 클래스와 메서드 이름을 한 두 단어로 유지하려고 노력하고 문맥을 중복하는 이름을 자제하자. 클래스 이름이 Order라면... 피드백우테코우테코 toString()은 어떻게 써야하나? "만약 요구사항이 콘솔 출력에서 웹 페이지 출력으로 바뀐다면 toString의 반환값을 HTML로 나타내야 할까?" 라는 질문에 대해서도 한번 고민해보시면 좋겠습니다. 자동차 미션을 구현하던 중 toString() 메서드에 대한 질문을 받고 출력형태에 따라 반환값을 다르게 해야하나 고민했다. 이펙티브 자바에 toString()에 관한 내용이 있길래 읽고 정리해봤다. toString() 일반 ... 자동차경주우테코우테코 객체지향 생활 체조를 하는 이유? 인덴트를 줄이고 else를 쓰지말고 한 메서드가 한 기능을 하고 등등. 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다. 규칙 2: else 예약어를 쓰지 않는다. 규칙 3: 모든 원시값과 문자열을 포장한다. 규칙 4: 한 줄에 점을 하나만 찍는다. 규칙 5: 줄여쓰지 않는다(축약 금지). 규칙 6: 모든 엔티티를 작게 유지한다. 규칙 7: 2개 이상의 인스턴스 변수를 가진 클래스를 ... 객체지향우테코객체지향