{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":154407726,"defaultBranch":"master","name":"java-ladder","ownerLogin":"next-step","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-10-23T23:02:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/25274995?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713358591.0","currentOid":""},"activityList":{"items":[{"before":"4791f10db3fc66e1b57f725d182af424727b6c8b","after":"5c10f6f0c3aee1bb921d3aa5240e64f8c6bbda73","ref":"refs/heads/yuus95","pushedAt":"2024-05-14T00:10:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step4 사다리타기 리팩토링을 진행했습니다. (#2170)\n\n* step4 라인 생성 리팩토링 완료\r\n\r\n* step4 리팩토링\r\n\r\n* step4 사다리타기 구현\r\n\r\n* step4 코드리팩토링\r\n\r\n* step4 Direction 변수 추가","shortMessageHtmlLink":"Step4 사다리타기 리팩토링을 진행했습니다. (#2170)"}},{"before":"5ea02eb22b6c191578a8b3d58db96c4fcc276e2e","after":"8e943ef06ee6a9fba6919d33d4ebbe9284bbceee","ref":"refs/heads/movingone","pushedAt":"2024-05-08T20:39:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"4단계 - 사다리(리팩터링) (#2168)\n\n* refactor : main class System.out.println -> input\r\n\r\n* refactor : output simple\r\n\r\n* feat : MatchingReward create, main controller simplelify refactor","shortMessageHtmlLink":"4단계 - 사다리(리팩터링) (#2168)"}},{"before":"7200b628f553688422bed3d4c3377ab157d56a10","after":"deb156840c36f59130de0dba335fe8efdb00d8a6","ref":"refs/heads/jaejeong1","pushedAt":"2024-05-07T21:36:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step1 (#2169)\n\n* feat: 람다\r\n\r\n* feat: 스트림\r\n\r\n* feat: Optional","shortMessageHtmlLink":"Step1 (#2169)"}},{"before":"eb227173c160ca49cb71cba49db834d915db6264","after":"30063846c98a6623e2dd6c1c9991854092f35b58","ref":"refs/heads/kbzz17","pushedAt":"2024-05-03T00:07:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"🚀 4단계 - 사다리(리팩터링) 미션 완료 (#2167)\n\n* [refactor] 인스턴수 변수 final 추가\r\n\r\n* [refactor] Random 값 생성기 클래스 이름 변경\r\n\r\n* [refactor] (InOut) Point 클래스 리팩토링\r\n\r\n* [feat] (InOut) Cross 클래스 구현\r\n\r\n* [refactor] (InOut) Line 클래스 리팩토링\r\n\r\n* [refactor] (InOut) Ladder 클래스 리팩토링\r\n\r\n* [feat] Direction 방향마다 움직임 정도를 반환하는 기능 구현\r\n\r\n* [refactor] UserResult 테스트 코드 리팩토링\r\n\r\n* [refactor] Controller 및 view 리팩토링","shortMessageHtmlLink":"🚀 4단계 - 사다리(리팩터링) 미션 완료 (#2167)"}},{"before":"24843067c23643de8698b1508ecfe6a2bd7c2252","after":"4791f10db3fc66e1b57f725d182af424727b6c8b","ref":"refs/heads/yuus95","pushedAt":"2024-05-01T05:09:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"사다리(게임실행)기능을 구현했습니다. (#2166)\n\n* step3 사다리(게임실행)기능구현\r\n\r\n* step3 Position 클래스 생성\r\n\r\n* step3 position 관련 로직 리팩토링\r\n\r\n* step3 화면뷰 리팩토링","shortMessageHtmlLink":"사다리(게임실행)기능을 구현했습니다. (#2166)"}},{"before":"b451c20052b9cb7e92a3f452faa37cf29678e529","after":"9ad4bdd021513faa7e91a1f691f81ec753a71c1f","ref":"refs/heads/kimsunghyun1995","pushedAt":"2024-04-29T12:07:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"🚀 3단계 - 사다리(게임 실행) (#2161)\n\n* refactor: 익명 클래스를 람다로 전환\r\n\r\n* feat: 람다를 활용해 중복 제거\r\n\r\n* feat: 다양한 stream method 실습\r\n\r\n* refactor : Optional을 활용해 조건에 따른 반환\r\n\r\n* refactor: Optional에서 값을 반환\r\n\r\n* refacotr: optional에서 exception 처리\r\n\r\n* refacotr: 유저 나이 조건부분 user 객체로 넘기도록 수정\r\n\r\n* feat: Line 구현\r\n\r\n* feat: Line을 List로 가져가는 ladderBoard 생성\r\n\r\n* doc: 요구사항, 클래스 구조 설계, 테스트코드 작성\r\n\r\n* feat: 라인 기능 구현\r\n\r\n* test: 라인에 전략패턴 적용 테스트\r\n\r\n* feat: 라인에 전략패턴 적용\r\n\r\n* refactor: 랜덤클래스 분리\r\n\r\n* feat: 라인을 List로 가지고있는 LadderBoard 기능 구현\r\n\r\n* feat: View 클래스 생성\r\n\r\n* feat: Main, LadderGame 클래스 생성\r\n\r\n* refactor: Line의 좌표 값 갖는 Point 클래스 추가\r\n\r\n* test: point 테스트코드 추가\r\n\r\n* test: Line 테스트 수정\r\n\r\n* fix: 겹치는 라인 판별에 대한 로직 수정\r\n\r\n* feat: InputView에서 이름 5글자 추가 체크 기능 구현\r\n\r\n* refactor: ladderBoard에 값 가져오도록 수정\r\n\r\n* refactor: Line 클래스 메소드 추출\r\n\r\n* feat: ladderGame 추가 구현\r\n\r\n* refactor: 코드 정리\r\n\r\n* feat: 결과 view 구현\r\n\r\n* doc: 요구사항, 클래스 구조 설계, 테스트 코드 작성\r\n\r\n* refactor: 검증부분 UserNames 클래스에 이전\r\n\r\n* refactor: 네이밍 수정\r\n\r\n* refactor: 네이밍 수정\r\n\r\n* refactor: 게터대신 메시지 전달 방법으로 수정\r\n\r\n* refactor: 패키지 분리\r\n\r\n* refactor: 메소드명 제너럴하게 변경\r\n\r\n* refactor: 메소드 분리를 통한 코드 리팩토링\r\n\r\n* refactor: 게터 쓰지 않고, 메시지 전달해서 응답은 패키징 방식으로 받는 방법으로 변경\r\n\r\n* refactor: 네이밍 일반화하게 표현\r\n\r\n* refactor: 뎁스 줄이기\r\n\r\n* refactor: 인덱스를 이용한 방식이 아닌, 이전의 상태를 저장하는 형태로 수정\r\n\r\n* refactor: 단일책임 순수함수로 리팩토링\r\n\r\n* refactor: Scaaner 객체 재활용\r\n\r\n* test: 테스트 목적 명확하게 리팩토링\r\n\r\n* refactor: 자동 정렬 수행\r\n\r\n* refactor: 정적 메소드 팩터리 패턴 추가\r\n\r\n* refactor: 테스트명 명확히 부여\r\n\r\n* refactor: 일급컬렉션 메소드 네이밍 수정\r\n\r\n* test: 사다리 움직임 가능 여부 테스트\r\n\r\n* feat: 사다리 움직임 가능 여부 구현\r\n\r\n* feat: 게임 참여 유저 구현\r\n\r\n* feat: 사다리 게임 로직 구현\r\n\r\n* test: 사다리 게임 로직 테스트\r\n\r\n* refactor: LadderGameLogic 클래스 삭제 후 GameUsers 클래스 생성\r\n\r\n* refactor: 디미티 법칙 준수 리팩토링\r\n\r\n* feat: 실행결과 입력하는 부분 구현\r\n\r\n* refacotr: formatting 수정\r\n\r\n* feat: 실행 결과 만드는 메소드 구현\r\n\r\n* feat: 실행결과를 위한 입출력 구현\r\n\r\n* feat: 실행결과 관련 일급 컬렉션 구현\r\n\r\n* feat: 실행결과 기능 추가한 게임 로직\r\n\r\n* refactor: 사용하지 않는 Import 제거\r\n\r\n* refactor: 사용하지 않는 메소드 삭제\r\n\r\n* refactor: line 상태에 따라 position 이동하도록 메시지 전달\r\n\r\n* refactor: LadderBoard -> Ladder로 네이밍 변경\r\n\r\n* refactor: ladder가 사다리 실행 담당\r\n\r\n* refactor: 접근제한자 private 추가\r\n\r\n* refactor: 사디리 게임 결과 관련 로직 ResultView로 이동\r\n\r\n* refactor: Line 값 유효한지 확인\r\n\r\n* test: 더 작은 단위 객체 추가","shortMessageHtmlLink":"🚀 3단계 - 사다리(게임 실행) (#2161)"}},{"before":"804f51972f1f64eb3264ef1d15ab2132787af740","after":"5ea02eb22b6c191578a8b3d58db96c4fcc276e2e","ref":"refs/heads/movingone","pushedAt":"2024-04-29T11:56:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"3단계 - 사다리(게임 실행) (#2163)\n\n* refactor : create RandomBoolean interface\r\n\r\n* feat : input runResult\r\n\r\n* feat : output runResult\r\n\r\n* fix : ladder location error\r\n\r\n* refactor : Person class method add\r\n\r\n* refactor : result class create\r\n\r\n* refactor : result class save finalResult\r\n\r\n* refactor : service delete and domain method add\r\n\r\n* feat : Location class\r\n\r\n* refactor : Location indent deep 2\r\n\r\n* refactor : final result class division\r\n\r\n* test : delete test","shortMessageHtmlLink":"3단계 - 사다리(게임 실행) (#2163)"}},{"before":"562dc489d5806ae8eb3469d22785bc6d47244d4e","after":"24843067c23643de8698b1508ecfe6a2bd7c2252","ref":"refs/heads/yuus95","pushedAt":"2024-04-28T00:49:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step2 사다리 생성 기능을 구현했습니다. (#2162)\n\n* step2 참가자 구현\r\n\r\n* step2 사다리 생성 기능 구현\r\n\r\n* step2 Ladder 변수 final 선언\r\n\r\n* step2 Ladder 주생성자 선언\r\n\r\n* step2 Ladder 주생성자 오타 수정\r\n\r\n* step2 주생성자와 부생성자를 이용하여 클래스 생성하는 방식으로 수정\r\n\r\n* step2 테스트코드 Assertions static import 처리","shortMessageHtmlLink":"Step2 사다리 생성 기능을 구현했습니다. (#2162)"}},{"before":"0898dad9484d1522fe77333e5342881c3c8e5a4b","after":"73955388954c74a07ddb32f57d1429081a5e2cd6","ref":"refs/heads/hyungjunn","pushedAt":"2024-04-26T21:48:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"4단계 - 사다리(리팩터링) (#2165)\n\n* Refactor: i -> rungPosition\r\n\r\n* remove step3\r\n\r\n* doc(README.md): write todolist\r\n\r\n* Test: true false 일 때, 움직이면 -1\r\n\r\n* Test: false true 일 때, 움직이면 +1\r\n\r\n* Test: false false 일 때, 그대로\r\n\r\n* Test: true true 일 때, 예외 반환\r\n\r\n* Test: 첫 번째 Direction은 무조건 left가 false\r\n\r\n* Test: 첫 번째 다음의 Direction은 left는 기존의 right\r\n\r\n* Test: 마지막 Direction은 무조건 right가 false\r\n\r\n* Test: 첫 번째 Direction은 무조건 left가 false\r\n\r\n* Refactor: Driection constructor\r\n\r\n* Test: first 다음부터 true다음엔 무조건 false\r\n\r\n* Refactor: Direction::last return value\r\n\r\n* doc(README.md): checkout\r\n\r\n* Test: position 0이고 false true 일 때, 움직이면 +1\r\n\r\n* Test: position 0이고 false false 일 때, 움직이면 0\r\n\r\n* style: position -> rung\r\n\r\n* Refactor: refactor by parameterizedTest\r\n\r\n* Test: rung 1이고 true false 일 때, 움직이면 0\r\n\r\n* Test: Rung::move\r\n\r\n* Test: position이 Rung의 list에 따라 움직인다\r\n\r\n* Test: Rung의 list는 참가자 수에 따라 결정된다\r\n\r\n* Test: position이 Line list에 따라 움직인다\r\n\r\n* Test: Line의 list는 height에 따라 결정된다\r\n\r\n* docs(todo): todo정리\r\n\r\n* Fix: line을 create안하고 추가해서 생긴 indexOutOfBounds 에러\r\n\r\n* Feat: view단 구현\r\n\r\n* Feat: direction exception 정의\r\n\r\n* Feat: create exception\r\n\r\n* Style: intellij formatting\r\n\r\n* Chore: 프로젝트 구조 구성\r\n\r\n* doc(README.md): 책임주도설계 todolist\r\n\r\n* Feat: interface 구현\r\n\r\n* Test: GameLineTest#move()\r\n\r\n* Test: GameLineTest#move()\r\n\r\n* Test: GameLadderResultTest#add()\r\n\r\n* Refactor: interface로 바꾸기\r\n\r\n* Test: GameLadderTest#game()","shortMessageHtmlLink":"4단계 - 사다리(리팩터링) (#2165)"}},{"before":"555470f6320dcde1e869461df8879c41500f0c49","after":"7c6ba7d9fb3f99504684c8397fed32e811b8f9ad","ref":"refs/heads/hisomini","pushedAt":"2024-04-26T00:50:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"🚀 2단계 - 사다리(생성) (#2164)\n\n* 중복 filter문 하나로 사용\r\n\r\n* getName -> matchName 사용\r\n\r\n* 함수내에서 바로 출력하도록 수정, 줄바꿈으로 가독성 향상\r\n\r\n* 기존 테스트코드, 메서드 복원 및 sum 메서드 추가하여 중복 로직 제거\r\n\r\n* Line 생성\r\n\r\n* Ladder 생성\r\n\r\n* RandomGenerator 추가\r\n\r\n* 참여자 객체 생성\r\n\r\n* input, output 생성\r\n\r\n* createLadder 메서드 추가\r\n\r\n* main application, controller 추가","shortMessageHtmlLink":"🚀 2단계 - 사다리(생성) (#2164)"}},{"before":"71483650e5e496271b352ac040e2cba6f91d1417","after":"34aee4373ddd4462deeb392e7df61bbb6bd3aaa7","ref":"refs/heads/kylekim2123","pushedAt":"2024-04-23T08:21:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"[STEP 4] 사다리 리팩토링 (kylekim2123, 김영주) (#2143)\n\n* [STEP 3] refactor: Item 객체의 깊은 복사 시 문자열 값도 새로 생성하여 안전성 보장\r\n\r\n* [STEP 4] test: 사다리 라인의 한 점을 나타내는 연결 객체에 대한 테스트 코드 작성\r\n\r\n* [STEP 4] feat: 사다리 라인의 한 점을 나타내는 연결 객체의 생성, 검증, 이동 로직 추가\r\n\r\n* [STEP 4] refactor: boolean에서 Connection 타입으로의 포장으로 인한 변경사항 수정\r\n\r\n* [STEP 4] test: boolean에서 Connection 타입으로의 포장으로 인한 변경 사항 관련 테스트 코드 수정\r\n\r\n* [STEP 4] refactor: Connection 객체 변경으로 인한 출력 로직 수정\r\n\r\n* [STEP 4] docs: README.md에 기능 요구사항 수정\r\n\r\n* [STEP 4] refactor: 사다리 포지션 이동 로직을 Direction 객체에서 담당하도록 이관","shortMessageHtmlLink":"[STEP 4] 사다리 리팩토링 (kylekim2123, 김영주) (#2143)"}},{"before":"674d4fff10b18c1fcdea2e6eed473eb5ef651203","after":"eb227173c160ca49cb71cba49db834d915db6264","ref":"refs/heads/kbzz17","pushedAt":"2024-04-23T08:19:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"🚀 3단계 - 사다리(게임 실행) 미션 완료 (#2160)\n\n* [refactor] 이전 피드백 반영(불필요한 method 분리 개선)\r\n\r\n* [refactor] 이전 피드백 반영(foreach 사용하지 않기)\r\n\r\n* [feat] Point가 연결되어 있다면 이동하는 로직 개발\r\n\r\n* [feat] equals Hashcode 추가\r\n\r\n* [feat] 각 유저의 사다리 이동 및 결과\r\n\r\n* [feat] 결과를 보고 싶은 사람의 결과를 찾는 기능 개발\r\n\r\n* [feat] 결과 출력을 위한 기능 개발","shortMessageHtmlLink":"🚀 3단계 - 사다리(게임 실행) 미션 완료 (#2160)"}},{"before":"9121e7990b5cb29303e4e6a0863a234e743cef51","after":"a3ea80b66adafb2e9de802c5c7fdf4553c8d9428","ref":"refs/heads/seung7642","pushedAt":"2024-04-20T12:02:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ksy90101","name":"SeYun(Marco)","path":"/ksy90101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53366407?s=80&v=4"},"commit":{"message":"4단계 - 사다리(리팩터링) (#2148)\n\n* refactor: Bridge 요구사항 변경. In -> Out 리프 노드 객체부터 테스트해나가기.\r\n\r\n* feat: 다리 (Bridge) 를 생성하고, 이동한다.\r\n\r\n* test: 이동 유무 테스트\r\n\r\n* feat: 이동 유무 테스트\r\n\r\n* test: 다리를 연속해서 놓을 경우 예외가 발생한다.\r\n\r\n* test: 여러 Bridge 객체를 기반으로 Bridges 일급 컬렉션을 생성한다.\r\n\r\n* feat: 여러 Bridge 객체를 기반으로 Bridges 일급 컬렉션을 생성한다.\r\n\r\n* test: 특정 높이의 다리의 이동방향을 구한다.\r\n\r\n* feat: 특정 높이의 다리의 이동방향을 구한다.\r\n\r\n* feat: 전체 다리의 갯수를 구한다.\r\n\r\n* test: 특정 높이의 다리의 이동방향을 구한다.\r\n\r\n* feat: 특정 높이의 다리의 이동방향을 구한다.\r\n\r\n* refactor: 의미 변경\r\n\r\n* test: 시작 column 을 입력받아 최종 column 을 출력한다.\r\n\r\n* feat: 시작 column 을 입력받아 최종 column 을 출력한다.\r\n\r\n* test: 순서를 입력받아 플레이어를 구한다.\r\n\r\n* feat: 순서를 입력받아 플레이어를 구한다.\r\n\r\n* test: 순서를 입력받아 보상을 구한다.\r\n\r\n* feat: 순서를 입력받아 보상을 구한다.\r\n\r\n* refactor: 테스트 픽스처 추가\r\n\r\n* test: 특정 플레이어의 보상을 구한다.\r\n\r\n* test: 특정 플레이어의 순서를 구한다.\r\n\r\n* feat: 특정 플레이어의 순서를 구한다.\r\n\r\n* feat: 특정 플레이어의 보상을 구한다.\r\n\r\n* test: 마지막 다리의 우측에는 다리를 놓을 수 없다.\r\n\r\n* feat: 마지막 다리의 우측에는 다리를 놓을 수 없다.\r\n\r\n* refactor: 가장 마지막 다리의 우측에는 다리를 놓을 수 없다.\r\n\r\n* refactor: GameResult 반환하도록 변경\r\n\r\n* refactor: 변경된 객체를 사용하도록 개선\r\n\r\n* refactor: 재설계로 불필요해진 객체 삭제\r\n\r\n* refactor: 재설계로 불필요해진 객체 삭제\r\n\r\n* docs: 기능 요구사항 정리\r\n\r\n* refactor: 사용되지 않는 코드 제거\r\n\r\n* refactor: 사용되지 않는 코드 제거\r\n\r\n* refactor: \"all\" 이름의 플레이어를 생성하는 부분 개선\r\n\r\n* refactor: Bridge의 정적 팩터리 메서드명 개선\r\n\r\n* test: 정적 팩터리 메서드를 통해 다음 Bridge 객체를 생성한다.\r\n\r\n* feat: 정적 팩터리 메서드를 통해 다음 Bridge 객체를 생성한다.\r\n\r\n* refactor: 불필요한 코드 삭제\r\n\r\n* test: 이동 방향을 확인한다.\r\n\r\n* feat: 이동 방향을 확인한다.\r\n\r\n* refactor: getTotalBridge() 메서드 개선\r\n\r\n* refactor: LadderTest에 공통 테스트 객체 추가\r\n\r\n* test: 결과를 생성한다.\r\n\r\n* feat: 결과를 생성한다.\r\n\r\n* test: 전체 결과를 생성한다.\r\n\r\n* feat: 전체 결과를 생성한다.\r\n\r\n* test: 특정 플레이어의 결과를 가져온다.\r\n\r\n* test: 특정 플레이어의 결과를 가져온다.\r\n\r\n* feat: 특정 플레이어의 결과를 가져온다.\r\n\r\n* refactor: 코드 수정\r\n\r\n* refactor: 내부 자료구조 List -> Map 으로 개선.","shortMessageHtmlLink":"4단계 - 사다리(리팩터링) (#2148)"}},{"before":"f3851b0b243ca3baff88350e45149facd714c316","after":"4de46cdab5c56c144fcb09d7f64827e0550c2b9a","ref":"refs/heads/naayoungkwon","pushedAt":"2024-04-18T23:13:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seondongpyo","name":"Seondong Pyo","path":"/seondongpyo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64854054?s=80&v=4"},"commit":{"message":"[Step4] 사다리(리팩터링) (#2157)\n\n* docs: step4 요구사항 작성\r\n\r\n* refactor: 인터페이스 분리\r\n\r\n* refactor: domain 내 클래스 패키지 분리\r\n\r\n* test: 사다리 강제 생성 후, 전체 결과 확인 테스트 작성","shortMessageHtmlLink":"[Step4] 사다리(리팩터링) (#2157)"}},{"before":"05a621d80e0b2262ebdebf680a2bb8b7e6cabc55","after":"804f51972f1f64eb3264ef1d15ab2132787af740","ref":"refs/heads/movingone","pushedAt":"2024-04-18T16:03:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dhmin5693","name":"luke","path":"/dhmin5693","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15965611?s=80&v=4"},"commit":{"message":"2단계 - 사다리(생성) (#2158)\n\n* fix : sorted String.length, word -> toLowerCase)\r\n\r\n* feat : ladder\r\n\r\n* refactor : input stream\r\n\r\n* refactor : ouput print stream\r\n\r\n* refactor : line to stream\r\n\r\n* test : testcode List size\r\n\r\n* fix : output result fix","shortMessageHtmlLink":"2단계 - 사다리(생성) (#2158)"}},{"before":"575afd3c7a2e10c379c93057bee21f02b1d89c9d","after":"0898dad9484d1522fe77333e5342881c3c8e5a4b","ref":"refs/heads/hyungjunn","pushedAt":"2024-04-18T09:10:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Hyeon9mak","name":null,"path":"/Hyeon9mak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37354145?s=80&v=4"},"commit":{"message":"3단계 - 사다리(게임 실행) (#2140)\n\n* Refactor: 반복되는 로직을 제거하라\r\n\r\n* Feat: 뷰단 일차적으로 구현\r\n\r\n* Test: 참가자의 이름이 null이거나 공백이면 예외를 반환한다.\r\n\r\n* Docs: 기능 구현 목록을 작성하라\r\n\r\n* Docs: 기능 구현 목록을 추가한다\r\n\r\n* Test: boolean값을 갖는다, 이전(i - 1) 점이 존재하는지 검증한다\r\n\r\n* Test: 점들이 각각 true인지 false인지 검증한다\r\n\r\n* Test: 점들이 각각 true인지 false인지 검증한다\r\n\r\n* Test: 각각 int형 포지션을 갖는다\r\n\r\n* Test: Position은 위치값을 갖는다\r\n\r\n* Test: Position객체는 음수를 가지면 예외를 반환한다\r\n\r\n* Docs: Position객체는 음수를 가지면 예외를 반환한다 항목 체크\r\n\r\n* Test: 포인트(Point)의 값(true/false)에 따라 사람(Person)의 position이 바뀐다\r\n\r\n* Docs: comment 수정\r\n\r\n* Style: 변수명, 메서드명 변경\r\n\r\n* Refactor: person 기본 생성자 삭제\r\n\r\n* Refactor: crossLadder() refactoring\r\n\r\n* Test: 사다리가 존재하지 않으면 예외를 반환한다\r\n\r\n* Feat: crossLadder() 로직에 맞게 구현하라\r\n\r\n* Feat: view단을 로직에 맞게 구현하라\r\n\r\n* Style: intellij 포매터를 적용하라\r\n\r\n* Style: PersonTest#secondPersonCrossLadderToLeft displayName을 알맞게 수정하라\r\n\r\n* Refactor: refactoring crossLadder\r\n\r\n* Refactor: 부정형(isNotFirstPosition)으로 물어보라\r\n\r\n* Test: 값을 꺼내려하지말고 position 객체로 판별하게 하라\r\n\r\n* Refactor: Person#crossLadder(..) 에 별도로 예외 메시지를 작성하라\r\n\r\n* Doc(README.md): 구현 목록 수정","shortMessageHtmlLink":"3단계 - 사다리(게임 실행) (#2140)"}},{"before":"b3f4bdba5f41ac8562daddf5ea02972e27a5da75","after":"b0511e8b75740d0b22a1caecf78872d85a7fa2c0","ref":"refs/heads/leejaek","pushedAt":"2024-04-18T07:07:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"neojjc2","name":null,"path":"/neojjc2","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68527004?s=80&v=4"},"commit":{"message":"[Step3] 사다리 타기 게임 결과 보여주기 (#2156)\n\n* [feat] 사다리 게임 결과 입력 기능 추가\r\n\r\n* [feat] 사다리 게임 결과 계산, 출력 기능\r\n\r\n* [refactor] Participant 클래스 추가 및 CurrentLocation에서 담당하던 현재 위치 계산 로직 이동\r\n\r\n* [refactor] Result 클래스 추가\r\n\r\n* [test] GameTest 클래스 추가","shortMessageHtmlLink":"[Step3] 사다리 타기 게임 결과 보여주기 (#2156)"}},{"before":"c91a004ba32462b2567afd678499551b8cd7f284","after":"021a8321ab665c2a86e0c81104c5b653f7a4340d","ref":"refs/heads/eleeje97","pushedAt":"2024-04-18T05:20:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"testrace","name":null,"path":"/testrace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8064743?s=80&v=4"},"commit":{"message":"4단계 - 사다리(리팩터링) (#2155)\n\n* fix: step3 피드백 반영\r\n\r\n* feat: LadderStrategy 인터페이스 추가\r\n\r\n* feat: LineStrategy 인터페이스 추가","shortMessageHtmlLink":"4단계 - 사다리(리팩터링) (#2155)"}},{"before":"7200b628f553688422bed3d4c3377ab157d56a10","after":"562dc489d5806ae8eb3469d22785bc6d47244d4e","ref":"refs/heads/yuus95","pushedAt":"2024-04-18T05:03:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"testrace","name":null,"path":"/testrace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8064743?s=80&v=4"},"commit":{"message":"Step1 기능을 구현했습니다. (#2154)\n\n* step1 람다 실습 구현\r\n\r\n* step1 람다 중복 코드 제거\r\n\r\n* step1 reduce, map, filter 실습1 구현\r\n\r\n* step1 reduce, map, filter 실습2 구현\r\n\r\n* step1 optional 실습1 구현\r\n\r\n* step1 optional 실습2 구현\r\n\r\n* step1 optional 실습3 구현","shortMessageHtmlLink":"Step1 기능을 구현했습니다. (#2154)"}},{"before":"d4f8198464b5d92a6bb91873440b2b4658d5faa1","after":"e9ec92992f397096941f56a4c0ed8d5b3cc5e95c","ref":"refs/heads/nimohlee","pushedAt":"2024-04-17T15:48:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dhmin5693","name":"luke","path":"/dhmin5693","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15965611?s=80&v=4"},"commit":{"message":"[Step 4] 사다리(리팩터링) (#2150)\n\n* refactor: [Step 4] while문 메서드 분리\r\n\r\n* refactor: [Step 4] 점진적인 리팩터링을 위해 PointTest와 Point 작성\r\n\r\n* refactor: [Step 4] Point에 first, last, of 정적 팩토리 메서드 추가\r\n\r\n* refactor: [Step 4] 수정된 Point에 맞게 RandomPointsMakeStrategy 수정\r\n\r\n* refactor: [Step 4] 기존 로직과 수정된 Point간에 로직 조정\r\n\r\n* refactor: [Step 4] Point 기존 사용 생성자 점진적 제거\r\n\r\n* refactor: [Step 4] 사용하지 않게 된 코드 제거\r\n\r\n* refactor: [Step 4] while문을 재귀로 수정\r\n\r\n* refactor: [Step 4] while문을 재귀로 수정\r\n\r\n* refactor: [Step 4] 결과 출력 시 사용되는 while문을 재귀로 수정","shortMessageHtmlLink":"[Step 4] 사다리(리팩터링) (#2150)"}},{"before":"099b4342fe2b2698ebefd76089d363af16f3415a","after":"110d95f05cac24e5f72611a2de29dc92efff20d8","ref":"refs/heads/jioome","pushedAt":"2024-04-17T14:52:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kyucumber","name":"KyuNam","path":"/kyucumber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34656258?s=80&v=4"},"commit":{"message":"🚀 3단계 - 사다리(게임 실행) (#2149)\n\n* feat: 실행 결과 입력\r\n\r\n* feat: 라인 이동 테스트\r\n\r\n* feat: 라인 이동\r\n\r\n* feat: ladder result 테스트\r\n\r\n* feat: ladder result 객체 생성\r\n\r\n* feat: 이름으로 결과 판단\r\n\r\n* feat: 게임 결과 출력\r\n\r\n* feat: 사다리 결과 판단\r\n\r\n* feat: 실행 결과 개수와 참여자 수 일치 테스트\r\n\r\n* feat: 실행 결과 개수와 참여자 수 일치\r\n\r\n* fix: 리팩토링\r\n\r\n* fix: 리팩토링\r\n\r\n* fix: 리팩토링\r\n\r\n* fix: 피드백 반영","shortMessageHtmlLink":"🚀 3단계 - 사다리(게임 실행) (#2149)"}},{"before":null,"after":"7200b628f553688422bed3d4c3377ab157d56a10","ref":"refs/heads/yuus95","pushedAt":"2024-04-17T12:56:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"remove .gitkeep","shortMessageHtmlLink":"remove .gitkeep"}},{"before":"7200b628f553688422bed3d4c3377ab157d56a10","after":"153f08c6a6ceb9fc5df963629361b92308fceb5a","ref":"refs/heads/gibumgo","pushedAt":"2024-04-17T11:02:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ksy90101","name":"SeYun(Marco)","path":"/ksy90101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53366407?s=80&v=4"},"commit":{"message":"1단계 - 스트림, 람다, Optional (#2153)\n\n* docs : 기능 요구 목록 작성\r\n\r\n* refactor : CarTest 람다 적용\r\n\r\n* refactor : 람다를 활용해 중복 제거\r\n\r\n* feat : map, reduce, filter 실습 1 구현\r\n\r\n* feat : map, reduce, filter 실습 2\r\n\r\n* feat : ageIsInRange2() 메소드 구현\r\n\r\n* refactor : Users의 getUser() 메소드 수정\r\n\r\n* reafactor : Optional에서 exception 처리","shortMessageHtmlLink":"1단계 - 스트림, 람다, Optional (#2153)"}},{"before":"7200b628f553688422bed3d4c3377ab157d56a10","after":"497acc76fc9af1d52e427ea94b16192763cded60","ref":"refs/heads/park-cheonho","pushedAt":"2024-04-17T11:00:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ksy90101","name":"SeYun(Marco)","path":"/ksy90101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53366407?s=80&v=4"},"commit":{"message":"Step1 리뷰 요청 드립니다. (#2152)\n\n* refactor: 람다 실습 1 - 익명 클래스를 람다로 전환\r\n\r\nrefactor: 람다 실습 1 - 익명 클래스를 람다로 전환\r\n\r\n* docs: todo 정리\r\n\r\ndocs: todo 정리\r\n\r\n* refacrtoe: 람다 실습 2 - 람다를 활용해 중복 제거\r\n\r\nrefacrtoe: 람다 실습 2 - 람다를 활용해 중복 제거\r\n\r\n* refactor: 스트림 실습 1 - map, reduce, filter 실습 1\r\n\r\nrefactor: 스트림 실습 1 - map, reduce, filter 실습 1\r\n\r\n* refactor: 스트림 실습 2 - map, reduce, filter 실습 2\r\n\r\nrefactor: 스트림 실습 2 - map, reduce, filter 실습 2\r\n\r\n* refacotr: Optional 실습 1 : 요구사항 1 - Optional을 활용해 조건에 따른 반환\r\n\r\nrefacotr: Optional 실습 1 : 요구사항 1 - Optional을 활용해 조건에 따른 반환\r\n\r\n* refactor: Optional 실습 2 : 요구사항 2 - Optional에서 값을 반환\r\n\r\nrefactor: Optional 실습 2 : 요구사항 2 - Optional에서 값을 반환\r\n\r\n* refactor: Optional 실습 3 : 요구사항 3 - Optional에서 exception 처리\r\n\r\nrefactor: Optional 실습 3 : 요구사항 3 - Optional에서 exception 처리","shortMessageHtmlLink":"Step1 리뷰 요청 드립니다. (#2152)"}},{"before":"9fb77c855c7a215c5b57cfdbfa29b0c5c6d4f232","after":"f3851b0b243ca3baff88350e45149facd714c316","ref":"refs/heads/naayoungkwon","pushedAt":"2024-04-17T07:49:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seondongpyo","name":"Seondong Pyo","path":"/seondongpyo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64854054?s=80&v=4"},"commit":{"message":"[Step3] 사다리(게임 실행) (#2146)\n\n* refactor: step2 추가 feedback 반영\r\n\r\n- 상수 신경쓰기\r\n- 삼항연산자, else 예약어 지양\r\n\r\n* docs: step3 요구사항 작성\r\n\r\n* refactor : 상수를 static으로 수정\r\n\r\n* feat: 게임 실행 결과 입력 추가\r\n\r\n* feat: 사다리 게임 수행 후 출력\r\n\r\n* refactor: random generator 방식 변경\r\n\r\n* test: 사람 이름에 all 제외 및 test 추가\r\n\r\n* refactor: move 내 메소드로 조건절 명시\r\n\r\n* refactor: 사다리 게임 실행 getter 없애도록 리팩토링\r\n\r\n* refactor: 참여하는 사람 이름을 input에서 필터링","shortMessageHtmlLink":"[Step3] 사다리(게임 실행) (#2146)"}},{"before":null,"after":"7200b628f553688422bed3d4c3377ab157d56a10","ref":"refs/heads/gibumgo","pushedAt":"2024-04-17T05:25:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javajigi","name":"박 재성","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"remove .gitkeep","shortMessageHtmlLink":"remove .gitkeep"}},{"before":"22b29d1d64205e820dcb0f56ea2dedf784afbc3a","after":"b3f4bdba5f41ac8562daddf5ea02972e27a5da75","ref":"refs/heads/leejaek","pushedAt":"2024-04-17T03:03:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"neojjc2","name":null,"path":"/neojjc2","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68527004?s=80&v=4"},"commit":{"message":"[feat] 사다리 생성 기능 및 테스트 (#2151)","shortMessageHtmlLink":"[feat] 사다리 생성 기능 및 테스트 (#2151)"}},{"before":"9a0be5a00611391a468677bd905090b916f190bf","after":"855a59419d77c68bea384d0c86c76bf4e5affe31","ref":"refs/heads/chyjeon","pushedAt":"2024-04-16T15:46:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"testrace","name":null,"path":"/testrace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8064743?s=80&v=4"},"commit":{"message":"Step4: 리팩토링 (#2137)\n\n* feat: connectLine interface 추가\r\n\r\n* feat: NameList 불필요 콤마 제거\r\n\r\n* feat: interface 추가\r\n\r\n---------\r\n\r\nCo-authored-by: chyjeon ","shortMessageHtmlLink":"Step4: 리팩토링 (#2137)"}},{"before":"7200b628f553688422bed3d4c3377ab157d56a10","after":"05a621d80e0b2262ebdebf680a2bb8b7e6cabc55","ref":"refs/heads/movingone","pushedAt":"2024-04-16T09:12:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dhmin5693","name":"luke","path":"/dhmin5693","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15965611?s=80&v=4"},"commit":{"message":"1단계 - 스트림, 람다, Optional (#2144)\n\n* refactor : use stream\r\n\r\n* refactor : Optional use\r\n\r\n* refactor : getUser\r\n\r\n* refactor : enum values -> stream","shortMessageHtmlLink":"1단계 - 스트림, 람다, Optional (#2144)"}},{"before":"e9fdfdf217e9e339dfb5e9556316f5c4866e4c5a","after":"cb8f503a42f3a0b6d0b3cb4196d60e8ff4fce3bb","ref":"refs/heads/pado0","pushedAt":"2024-04-16T04:47:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"neojjc2","name":null,"path":"/neojjc2","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68527004?s=80&v=4"},"commit":{"message":"feat:[step3] 사다리 실행 (#2147)\n\n* refact:[step2] magic number wrapping\r\n\r\n* refact:[step2] countOfPlayer 대신 Players로 참여자 수를 관리\r\n\r\n* refact:[step2] NPE 방어\r\n\r\n* refact:[step2] random util에서 Random을 static으로 생성\r\n\r\n* feat:[step3] 사다리 결과를 입력받고 출력한다.\r\n\r\n* feat:[step3] 사다리 실행\r\n\r\n* refact:[step2] ladder의 floor 사용하지 않아 제거","shortMessageHtmlLink":"feat:[step3] 사다리 실행 (#2147)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESO3LBQA","startCursor":null,"endCursor":null}},"title":"Activity · next-step/java-ladder"}