우테코

⭐ 레벨1 인터뷰를 준비하며 드디어 약 두 달 간의 우테코 레벨1 생활을 마치고, 오늘 이리내, 오잉, 제나와 만나서 인터뷰를 준비하고 있다. 그동안 학습한 내용들을 바탕으로, 짧게 키워드를 정리해 보았다. 키워드에 대해 질문하고 싶은 것이 있다면 댓글로 남겨주세요! 💋 자동차 경주 미션 ✔ 페어 프로그래밍 페어 프로그래밍은 페어와 함께 설계와 구현의 모든 과정을 진행하는 방식이다. 페어 프로그래밍을 통해 생산성이 향상되는 경우가 많다고 한다. ✔ 단위 테스트 단위테스트는 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 것이다. ✔ 네이밍의 중요성 네이밍은 너무 짧아도 좋지 않다. 정확하게 역할을 설명하는 이름을 지어주는 것이 좋다. 이름을 통해서 의도를 드러내는 것이 좋다. ..
💋 TDD에 대한 생각 TDD를 처음 적용해서 설계를 할 때는 굉장히 어려웠다. TDD의 아이러니 중 하나는 테스트 기술이 아니라는 점이다. TDD는 분석 기술이며, 설계 기술이기도 하다. - 켄트벡, Test Driven Development by Example 중 특히 처음에는 이 말이 너무너무 어려웠다. 나에게 TDD는 테스트 코드를 먼저 짜는 것 뿐이었다. TDD가 설계 기술이라는 것을 인지하지 못한 채, 테스트 코드부터 짜기 위해서는 내가 테스트하고 싶은 메서드의 시그니처(파라미터, 반환값의 타입)는 반드시 알아야 했다. 굉장히 작게 어떤 메서드를 테스트한다는 생각만 가지고 있어서 오히려 더 설계를 방해했던 것 같기도 하다. 하지만 지금 느끼는 TDD는 다르다. 우선, 설계부터가 중요하다. 한 ..
· JAVA
💋 인트로 우아한테크코스 미션 중 블랙잭 미션을 진행할 때, 굉장히 핫한 주제가 있었다. 바로 상속과 조합이었다. 조합에 대해 처음 들어보았고, 찾아보려 검색했지만 이펙티브 자바에서 다루는 아이템 18 상속보다는 컴포지션을 사용하라에 대한 내용 외에 컴포지션에 대해 설명하는 내용을 찾아볼 수가 없었다. 그래서 직접 써보기로 했다! 👍 조합? 컴포지션? 조합 == 컴포지션 같은 말이다. 상속은 문제가 많다. 잘 사용하면 되는 일이지만, 상속을 하면서 내부 구현을 외부에 드러내지 않고 사용하기는 굉장히 어렵다. (상속의 문제점은 이 포스팅의 주제가 아니니, 더 구체적으로 설명하지 않겠다.) 이 포스팅은 상속이 좋다, 조합이 좋다를 강조하는 포스팅이 아니다. 상속을 사용하다가, 상속의 단점을 크게 느껴 조합을..
· JAVA
💋 인트로 지난주 우테코의 강의 주제는 함수형 프로그래밍이었다. 하지만 잘 이해가 되지 않았다.... 또 이리내와 함께 한 람다와 스트림 발표에서, 마코에게 질문을 받았다. "왜 stream의 최종연산 forEach에서 출력 외에 외부 변수에 변화를 주는 작업을 하면 안되나요?" 이 질문에 대답은 이펙티브 자바 아이템 46에 나와 있다. 아마 읽어도 잘 와닿지 않을 것이다.... 1. 스트림은 그저 또 하나의 API가 아닌, 함수형 프로그래밍에 기초한 패러다임이다. 2. 스트림 패러다임의 핵심은 계산을 일련의 변환으로 재구성하고 각 변환 단계는 이전 단계의 결과를 받아 처리하는 순수 함수여야 한다. 3. 순수 함수란 오직 입력만이 결과에 영향을 주는 함수를 말한다. 다른 가변 상태를 참조하지 않고, 함수..
2단계까지 구현한 '체스말을 움직일 수 있는' 체스판에서, King이 잡히면 게임을 종료하고, 그 전에 게임의 점수를 계산할 수 있는 기능을 만드는 것이 3단계였다. 👍 Controller 코드 이쁘게 정리하기 우선 나는 2단계까지 컨트롤러에서 명령을 받는 로직을 잘 구현하지 않았는데, start, end, status는 명령을 쉽게 검증할 수 있지만 move b2 b4와 같은 명령은 명령어가 move인지를 먼저 검사한 후에 뒤에 따라오는 b2, b4와 같은 positions도 검증해야 하기 때문에 조금 어렵게 느껴졌다. 허브 호출! 쫌 잘한다고 소문이 좀 도는 허브를 한 번 데려와봤다. 명령어를 처음부터 List의 타입으로 받으면 저장이 될테니 그렇게 바꾸면 된다는 것! 허브는 발생할 수 있는 상황에 ..
깃짱
'우테코' 태그의 글 목록