본문 바로가기
728x90

분류 전체보기286

첫 번째 미션 - 레이싱 게임 미션 회고 레이싱 게임 미션 요구사항은 다음과 같다. 기능 요구사항: 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다. 각 자동차에 이름을 부여할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 사용자는 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다. 전진하는 조건은 0에서 9 사이에서 random 값을 구한 후 random 값이 4 이상일 경우 전진하고, 3 이하의 값이면 멈춘다. 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다. 프로그래밍 요구사항: 모든 로직에 단위 테스트를 구현한다. 단, UI(System.out, System.in) 로직은 제외 자바 코.. 2022. 2. 21.
git 기초 upsteram, origin 어떤 저장소 A가 있다고 해보자. 이 저장소를 내 깃허브에 fork하고 fork한 저장소를 local에 clone받는다 해보자. 그러면 다음과 같은 관계가 형성된다. 여기서 upstream, downstream은 두 저장소 간의 관계에 따라 정의되는 상대적 개념이다. 위 그림에서 origin repository의 upstream은 upstream repository이다. 하나의 upstream에서 여러 개의 downstream이 생성될 수 있다. upstream과 origin 차이 통상적으로 내가 다른 사람의 저장소를 포크해왔을 때 upstream은 일반적으로 다른 사람의 저장소를 의미한다. origin은 내가 포크한 내 깃허브에 있는 저장소를 의미한다. 저장소가 클론될 때.. 2022. 2. 21.
5장. 스트림 활용 스트림은 내부 반복을 사용하고 있기 때문에 스트림 API가 내부에서 데이터를 처리하는 방식을 관리한다. 따라서 내부적으로 다양한 최적화가 이루어질 수 있다. 이번 장에서는 자바 8, 9에서 추가된 스트림 연산을 살펴본다. 필터링 스트림에서 필요한 요소만 선택하는 방법이다. 프레디케이트로 필터링 스트림 인터페이스에서 지원하는 filter 메서드는 프레디케이트를 인수로 받아 프레디케이트와 일치하는 요소를 포함하는 스트림을 반환한다. 1 2 3 4 List oddNumbers = numbers.stream() .filter(number -> number % 2 != 0) .collect(toList()); Colored by Color Scripter cs 고유 요소 필터링 고유(unique)한 값만 추출하길.. 2022. 2. 18.
1~2주차 회고 기대 이상으로 좋았고 행복했던 2주였다. 하루의 시작을 데일리 미팅으로 시작하는 것도 좋고, 페어프로그래밍을 하는 것, 1:1로 코드 리뷰를 받는 것, 연극을 진행한 것 모두 좋았다. 개발에 대해 내가 일방적으로 말하는 것이 아닌, 혼자 모든 것을 해결하는 것이 아닌 다 같이 문제에 대해 고민하고 분업이 아닌 협업을 경험할 수 있었다. 페어프로그래밍을 하면서 한 문제에 대해 고민을 하면서 기존에 고착화 되있던 틀을 조금은 벗어난거 같다. 모던 자바 인 액션을 읽으면서 자바8에 대해 더 많이 알게 되었다. 예전에는 자바가 함수형 프로그래밍을 도입했고 스트림을 사용가능 하다는 정도의 막연한 정보만 알고 있었다. 하지만 이 책을 읽으면서 자바가 왜 함수형 프로그래밍을 도입했는지, 함수형 프로그래밍이 왜 좋은지.. 2022. 2. 18.
728x90