우아한테크코스

삶의 의미 많은 사람들이 한 번쯤 생각해 볼 것이다. 어차피 죽을 건데 왜 사냐고. 인간은 우주의 먼지 같은 존재라고 과거의 나는 이 숨막힐 듯 거대한 무의미에 짓눌려 허덕였다. 그럼에도 작지만 빛나는 의미 하나를 찾고 싶었다. “삶의 의미는 무엇인가요?” 그 누구도 쉽게 답하지 못했지만 각자 경험을 토대로 서로 다른 답을 들려주었다. 그제야 삶의 의미를 알게 됐다. 나만의 의미를 찾아가는 그 삶이 자체가 의미 있는 것이라고 그때부터 결과가 아닌 과정, 삶 자체에 집중하기 시작했다. “정답이 없으면 결과보다 과정이 중요하다.” 삶과 개발 개발에는 정답이 없다. 다수의 의견도 있고 누군가의 경험에 의해 정형화된 방법(아키텍처나 패턴 등)도 있다. 그렇지만 그것조차 정답은 아니다. 몹프로그래밍이나 팀프로젝트..
들어가기 전에 이 글은 MVP 패턴 적용이나 단위 테스트에 대한 경험이 없다면 이해하는데 어려움이 있을 수 있습니다. 테스트가 필요한가? 장바구니 주문 미션 2단계 제출할 때까지 Presenter 테스트 의 필요성을 인지하지 못했다. 리팩터링 할 때마다 테스트 리팩터링이 계속해서 필요했다. 또한, 기능을 다 구현했는데 하나하나 테스트를 짜야한다는 것이 그저 숙제로 느껴졌다. 시간이 부족하다는 이유로 기존에 작성했던 테스트를 전부 주석 처리하고 제출하는 만행을 저질렀다. 리뷰어님이 다음과 같은 메세지 를 남겨주셨다. 도메인 관련 클래스를 잘 분리하고 테스트 코드까지 잘 작성해주셨습니다. 다만 안드로이드와 관련된 코드들은 테스트가 작성되지 않은게 아쉬웠습니다. 그러자 내가 테스트를 잘 못짜서 필요성을 인지하..
오목 미션을 진행하면서 렌주룰의 금수를 처음 알게 되었다. 렌주룰의 금수 : 먼저 시작하는 흑돌이 무조건 유리하기 때문에 흑목은 3-3, 4-4, 장목 등을 금지한다. 예를 들어 다음과 같은 경우가 3-3 이고 가운데에 흑돌을 놓을 수 없다. 3-3, 4-4 는 다른 사람의 코드를 사용했고 장목은 직접 만들어 사용했다. override fun isForbidden(location: Location) = OmokForbiddenRuleAdapter(board, stone).isForbidden(location) || OmokLongForbidden.isForbidden(board, location, stone) 그러다보니 위와 같이 코드를 작성했다. 가독성도 떨어지고 확장성이 떨어져서 좋지 못한 구조이다...
step1 에서 블랙잭 미션을 진행하면서 코드가 점점 복잡해지고 마음에 들지 않았다! step1 미션 PR https://github.com/woowacourse/kotlin-blackjack/pull/16 [베르] 1단계 블랙잭 제출합니다. by SeongHoonC · Pull Request #16 · woowacourse/kotlin-blackjack 안녕하세요! 우테코 5기 베르입니다! 리뷰 잘부탁드립니다! github.com step2 에서 상태 패턴을 알게 되었고 적용해 보았다. 상태 패턴 : 객체지향 관점으로 유한 상태 기계를 구현하는 디자인 패턴 그럼 유한 상태 기계는 뭘까? 유한 상태 기계는 유한한 개수의 상태를 가질 수 있는 기계이다. 한 번에 오로지 하나의 상태만을 가지게 되며, 어떠한..
테스트 주도 개발 (Test-driven development TDD) 여기서 가장 중요한 단어는 development 이다. d가 들어간 단어가 많은데 Development 인지 design 인지 구분해야한다. TDD 는 development 이므로 TDD로 넘어가기 전에 설계(design) 을 끝내야 한다.  design에 대한 고민을 안하고 TDD 를 하려고 하면 어렵다. TDD를 사용하면 자신감을 불어 넣어 준다.TDD = TFD(Test First Development) + 리팩터링 클래스 설계, 명세, 기능 요구사항 분석은 사전에 수행 TDD의 사이클실패 테스트 작성테스트가 빨리 통과 되게끔 만든다. -> 죄악을 저지른다. 밑에 나오는 예시를 보면 죄악이 어떤건지 알게될 것이다ㅎㅎ리팩터링 ->..
현직자 리뷰어 님의 피드백을 바탕으로 정리하였습니다. 페어 프로그래밍 리뷰 페어 프로그래밍을 처음해봐서 아직 제대로 이해하지 못한 코드를 많이 적용하게 되었고 그러다 보니 이해도가 점점 떨어지게 되었다. 리뷰 또한, 당연하게도 제대로 이해하지 못한 것들의 질문을 많이 받게 되었다. 그 질문들에 대한 답을 간단하게 정리해 본다.  1. 스켈레톤 코드 커밋  프리코스 때 부터 시작하기 전에 대략적인 구조를 만들고 그 구조에 맞게 클래스를 미리 정의하고 커밋했다. 기능을 구현하는 과정에서 어떻게 구현을 해 나갈지 모르고 구현 시 코드에 많은 변경이 있을 것이다. 따라서 작성자 본인 외에 알기 어려운 커밋 단위는 좋지 않은 커밋이다.  귀찮음을 피하는 것은 커밋으로 해결해선 안된다. 2. 멤버 변수로 사용할 필..
베르_최성훈
'우아한테크코스' 태그의 글 목록