우아한테크코스5기

2단계까지 구현한 '체스말을 움직일 수 있는' 체스판에서, King이 잡히면 게임을 종료하고, 그 전에 게임의 점수를 계산할 수 있는 기능을 만드는 것이 3단계였다. 👍 Controller 코드 이쁘게 정리하기 우선 나는 2단계까지 컨트롤러에서 명령을 받는 로직을 잘 구현하지 않았는데, start, end, status는 명령을 쉽게 검증할 수 있지만 move b2 b4와 같은 명령은 명령어가 move인지를 먼저 검사한 후에 뒤에 따라오는 b2, b4와 같은 positions도 검증해야 하기 때문에 조금 어렵게 느껴졌다. 허브 호출! 쫌 잘한다고 소문이 좀 도는 허브를 한 번 데려와봤다. 명령어를 처음부터 List의 타입으로 받으면 저장이 될테니 그렇게 바꾸면 된다는 것! 허브는 발생할 수 있는 상황에 ..
💋 코드 저장소 이건 우테코 리뷰어에게 받은 리뷰의 PR이고 [1,2단계 체스] 깃짱(조은기) 미션 제출합니다 by eunkeeee · Pull Request #463 · woowacourse/java-chess 디디 안녕하세요!!! 궁금한 점은 해당하는 부분에 코드리뷰로 적어놨어요! 이번 미션 너무 어려워서 구현이 좀 늦어졌네요...! 제 코드 리뷰해주셔서 감사합니다!!! github.com 이건 다른 크루들에게 받은 리뷰 PR이다. 깃짱의 체스 포니가 제일싫어 by eunkeeee · Pull Request #3 · woowacourse-code-review-study/java-chess 안녕 친구들 이번주는 꼼꼼히 리뷰갈겡 힘내자!!! github.com 💋 처음 해보는 3인 페어 우테코 인원이 홀..
머지는 아직 안 되었지만, 그냥 써보는 회고 💋 코드 저장소 Pull Request 링크 [2단계 - 사다리 게임 실행] 깃짱(조은기) 미션 제출합니다. by eunkeeee · Pull Request #188 · woowacourse/j 안녕하세요! 새로운 리뷰어님!!! 제 코드 읽어주셔서 감사합니다! 깃짱 드림. github.com 깃허브 링크 GitHub - eunkeeee/java-ladder: 사다리타기 미션을 위한 저장소 사다리타기 미션을 위한 저장소. Contribute to eunkeeee/java-ladder development by creating an account on GitHub. github.com 💋 리뷰어의 교체...?!! 지난 번 리뷰어 제이미가 진짜 1단계에서 엄청난 정..
💋 코드 저장소 https://github.com/woowacourse/java-ladder/pull/53 [1단계 - 사다리 생성] 깃짱(조은기) 미션 제출합니다. by eunkeeee · Pull Request #53 · woowacourse/java-ladde 안녕하세요!!! 사다리 게임 구현 완료했습니다 리뷰 감사합니다! 질문 저는 아래같이 코드를 작성하고 있는데, 테스트 코드에서 에러 메세지의 종류까지 테스트하고 싶은데, 어떻게 할 수 있을 github.com https://github.com/eunkeeee/java-ladder/tree/step1 GitHub - eunkeeee/java-ladder: 사다리타기 미션을 위한 저장소 사다리타기 미션을 위한 저장소. Contribute to eu..
우테코는 모든 미션을 페어로 진행한다. 페어 프로그래밍은 이번 미션을 통해 처음 해봤는데 두 명의 개발자가 하나의 컴퓨터로 작업하는 것이다. 한 명은 Navigator가 되어 작성하는 코드의 방향에 대해 실시간으로 피드백하고, 한 명은 Driver가 되어서 직접 코드를 작성한다. 아무튼 첫 미션에 대해 시간이 좀 지났지만, 더 지나기 전에 회고해보려 한다. 깃허브 저장소 GitHub - eunkeeee/java-racingcar: 자동차 경주 게임 미션 저장소 자동차 경주 게임 미션 저장소. Contribute to eunkeeee/java-racingcar development by creating an account on GitHub. github.com 1단계 PR [1단계 - 자동차 경주 구현] ..
좋은 코드의 조건이란? 💋 1. 코드를 통해 의도를 전달하자! p같이 의도를 알기 어려운 구린 변수명보다는 position같이 의도가 드러나고 이름이 정갈한 변수명을 사용한다. 물론 그것보다 좋은 것은 그것보다 좋은건 원시값 포장이다. 예) class Position 그렇다고 모든 원시값을 포장할 수는 없다! 개발자라면 알아서 잘 느낄 것이다. 💋 2. 일관된 코드 스타일을 가져가자! 💋 3. 하나의 메서드는 하나의 일만! 하나의 함수가 많은 일을 하면 추상화 계층이 나빠질 수 있다. 이게 무슨 말인지 이해하기가 좀 어려운데, 좋은코드, 나쁜코드의 추상화 계층 내용을 읽어보면 도움이 될 수 있다. 테스트 코드를 작성하기 너무 힘들다면, 추상화계층이 너무 커진 것 아닌지 의심해 본다. 그렇다고 갈기갈기 찢..
나는 네트워크, 웹 이런 단어를 많이 사용하지만 막상 용어에 대해 설명하라고 하면 너무 어렵다. 💋 네트워크 쉽게 말해, 컴퓨터 2대를 유선으로 연결하면 네트워크다. 점점 더 많이 연결할 수록 다양한 네트워크가 생기는데, 이 네트워크를 다시 연결하면 엄청 큰 세상이 만들어지고, 이것이 바로 인터넷이다. 인터넷이라는 단어의 유래에 대해서는 많은 의견들이 있는데 유튜브에 검색해보면 쉽게 찾을 수 있다. 💋 웹 월드 와이드 웹(World Wide Web; WWW)과 같은 말이다. 인터넷에 연결된 컴퓨터를 이용해 정보를 공유하는 공간을 뜻한다. 하이퍼텍스트는 하이퍼링크로 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트를 뜻한다. 💋 웹의 3요소 1. URL (Uniform Resouce Identi..
나는 TDD라는 말을 우테코 프리코스를 준비하면서 처음 접했다. 테스트 주도 개발이라.... 왜 사용하는 건지도 모르겠고, 사람은 구현 목록을 보고 머릿속으로 생각을 하고 들어가야 하지 않나? 싶은 막연한 생각이 있었다. 테스트 코드에 대해 이해하려면 먼저 반대 용어를 살펴보는 것이 좋다. 💋 프로덕션 코드 VS 테스트 코드 - 프로덕션 코드: 프로그램 구현 담당, 사용자가 실제로 사용하는 코드 - 테스트 코드: 프로덕션 코드가 제대로 작동하는지 테스트하는 코드 💋 TDD = TFD(Test First Development) + 리팩토링 테스트를 먼저 작성하고, 리팩토링하는 방법이다. 단순히 순서가 먼저일까? 아직 이 방법을 사용해보지 않아서 어떻게 감을 잡아야 할지 좀 어렵게 느껴졌다. 💋 TDD의 과..
👍 좋은 코드란...? 이런 애매한 주제로 구글링해봤다. 생각보다 괜찮은 답변인데...? 첫 번째로는 잘 동작해야한다. 잘돌아가는 쓰레기가 안돌아가는 예술품보다 낫다는 말이 있다. 기능이 제대로 구현되고 나서는 이제 사람마다 다른 의견이 많은데, 크게는 가독성, 유지보수성, 효율성 등등 각기 다른 주장이 많다. 가독성: 읽기 좋은 코드를 말한다. 개발자들은 코드를 쓰는 시간보다 읽는 시간이 많다고 하고, 내가 아닌 다른 사람이 내 코드를 보는 경우도 당연히 많기 때문에 좋은 개발자의 좋은 코드로는 당연한 덕목인 것 같다. 유지보수성: 마찬가지로 코드는 내일의 내가 보면 오늘의 코드는 다른 사람이 쓴 코드같이 느껴질 때가 많다. 유지보수를 쉽게 하는 방법에 대해서는 수없이 많은 책이 나와있다. 테스트 용이..