{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":398154750,"defaultBranch":"main","name":"java-mvc","ownerLogin":"woowacourse","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-08-20T04:29:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/45747236?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726709696.0","currentOid":""},"activityList":{"items":[{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"bd3ce6dd63e3483e4dcf0840f659c927786c3640","ref":"refs/heads/burningfalls","pushedAt":"2024-09-20T15:25:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kyum-q","name":"김경미","path":"/kyum-q","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109158497?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 폭포(이성주) 미션 제출합니다 (#670)","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 폭포(이성주) 미션 제출합니다 (#670)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"8920fefcc05445dd5ec92f2dcb82e8b7778a64ea","ref":"refs/heads/seokmyungham","pushedAt":"2024-09-20T13:08:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"devhoya97","name":"devhoya97","path":"/devhoya97","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/146502065?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 재즈(함석명) 미션 제출합니다. (#642)\n\n* test: Junit3 Reflection 학습 테스트 추가\r\n\r\n* test: Junit4 Reflection 학습 테스트 추가\r\n\r\n* test: Reflection 학습 테스트 추가\r\n\r\n* test: Reflections 학습 테스트 추가\r\n\r\n* docs: 기능 요구 사항 명세 작성\r\n\r\n* feat: AnnotationHandlerMapping Entry 초기화 메서드 구현\r\n\r\n* docs: JspView 기능 요구 사항 명세 작성\r\n\r\n* refactor: DispatcherServlet의 view 처리 로직을 JspView로 이동\r\n\r\n* feat: @RequestMapping Default Methods 추가\r\n\r\n* refactor: 클래스를 싱글톤으로 관리하는 BeanFactory 생성\r\n\r\n* refactor: 리플렉션 시 발생하는 체크 예외를 언체크 예외로 변환","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 재즈(함석명) 미션 제출합니다. (#642)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"50b628aeac81f582fcd6c0674453490228729fe7","ref":"refs/heads/kimprodp","pushedAt":"2024-09-20T11:47:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PgmJun","name":"Eden","path":"/PgmJun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84304802?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 테드(김규태) 미션 제출합니다. (#640)\n\n* chore: Java 21 버전 설정\r\n\r\n* test: 학습 테스트 작성\r\n\r\n* chore: Java 21 버전 설정\r\n\r\n* feat: 리플렉션을 통해 컨트롤러 매핑 구현\r\n\r\n* feat: JspView 구현\r\n\r\n* test: HandlerExecution 테스트 작성\r\n\r\n* test: JspView 테스트 작성\r\n\r\n* refactor: Throwable 대신 컨트롤러 인스턴스를 생성하는 로직에서 예외 처리 하도록 변경\r\n\r\n* refactor: HandlerMappingException 로그 메시지 변경\r\n\r\n* study : 서블릿과 필터 학습테스트 작성","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 테드(김규태) 미션 제출합니다. (#640)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"c1c2e12d89d917d1aeae32aa81696588a0bfbc2d","ref":"refs/heads/hyunghokim00","pushedAt":"2024-09-20T10:29:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"le2sky","name":"Haneul Lee","path":"/le2sky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39932141?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 명오(김형호) 미션 제출합니다. (#648)\n\n* test: 학습 테스트 통과\r\n\r\n* feat: AnnotationHandlerMapping 구현\r\n\r\n* feat: JspView 구현\r\n\r\n* refactor: 메서드 분리 및 메서드명 수정\r\n\r\n* test: 불필요한 캐스팅 제거\r\n\r\n* test: JspView 테스트 추가\r\n\r\n* style: 코드 포맷팅\r\n\r\n* test: stream() 사용\r\n\r\n* refactor: DispatcherServlet에서 JspView 사용\r\n\r\n* style: 메서드 위치 변경\r\n\r\n* refactor: NPE 방지를 위해 initialize에서 filter를 사용하도록 변경, 에러메시지 변경\r\n\r\n* refactor: controller를 중복 생성하지 않도록 변경\r\n\r\n* test: 학습 테스트 완료\r\n\r\n* test: 실패하는 테스트 수정","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 명오(김형호) 미션 제출합니다. (#648)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"3177f428ed75ef756974f456f3b98d564b825ae2","ref":"refs/heads/koust6u","pushedAt":"2024-09-20T06:20:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"youngsu5582","name":"희선이","path":"/youngsu5582","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/98307410?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 프람(김민종) 미션 제출합니다. (#659)\n\n* test: reflection API 학습 테스트 진행\r\n\r\n* feat: 애노테이션 기반 HandlerMapping 초기화 기능 구현\r\n\r\n* feat: jsp view 로직 캡슐화\r\n\r\n* refactor: 일관성있는 파라미터명으로 수정\r\n\r\n* test: 학습 테스트 검증 테스트 추가\r\n\r\n* test: 학습 테스트 검증 테스트 추가\r\n\r\n* test: Jsp view redirect 로직 테스트 추가\r\n\r\n* fix: @RequestMapping method 속성없으면 모든 속성 생성한다.\r\n\r\n* fix: 중복 메서드 & URL 검증\r\n\r\n* refactor: 예외 메세지 변경\r\n\r\n* feat: 책임 분리\r\n\r\n* test: 책임 분리에 따른 테스트 추가\r\n\r\n* test: handlerExecution method invoke 테스트 작성\r\n\r\n* test: handlerExecution 테스트 추가 작성","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 프람(김민종) 미션 제출합니다. (#659)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"50e97100b0dc0fcbf3a6e7ab12d08262e9d159a8","ref":"refs/heads/fromitive","pushedAt":"2024-09-20T04:56:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jhon3242","name":"Wonjun Choi(타칸) ","path":"/jhon3242","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78288539?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 포케(이무송) 미션 제출합니다. (#651)\n\n* test: junit3Test에서 test로 시작하는 메서드 실행\r\n\r\n* test: MyTest annotation 붙여진 메서드 실행\r\n\r\n* test: reflectiontest 학습 테스트 반영\r\n\r\n* test: reflectionsTest 학습 테스트 완료\r\n\r\n* feat: HandlerKey, HandlerExecution 기능 구현\r\n\r\n* fix: url이 아닌 uri를 파싱하도록 변경\r\n\r\n* feat: AnnotationHandlerMapping 기능 구현\r\n\r\n* refactor: 모호한 문구 명확하게 변경\r\n\r\n* refactor: 불필요한 배열 선언 제거\r\n\r\n* feat: 2번째 요구사항 반영\r\n\r\n* test: test로 시작하는 메서드를 찾는 형태로 테스트 수정\r\n\r\n* test: reflection을 이용해 constructor를 획득한 후 초기화 하는 방식으로 테스트 수정\r\n\r\n* test: getName과 getCannonicalName의 차이를 알 수 있는 테스트로 변경\r\n\r\n* refector: HandlerKeyGenerator를 생성하여 키 생성에 대한 메서드 분리\r\n\r\n* style: 안쓰는 import문 제거 및 재배치\r\n\r\n* feat: No-Arg 생성자가 없으면 예외가 발생하는 기능 구현\r\n\r\n* refactor: 가독성을 위한 검증 메서드 분리\r\n\r\n* fix: 테스트 깨짐 수정\r\n\r\n* test: getDeclaredFields와 getFields의 차이 테스트 보강","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 포케(이무송) 미션 제출합니다. (#651)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"5dd66b443754f33a0253277895bd2f50a4d48235","ref":"refs/heads/unifolio0","pushedAt":"2024-09-20T01:13:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fromitive","name":null,"path":"/fromitive","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46563149?s=80&v=4"},"commit":{"message":" [MVC 구현하기 - 1단계] 비토(오상훈) 미션 제출합니다. (#637)\n\n* test: reflection 학습 테스트\r\n\r\n* feat: AnnotationHandlerMapping 구현\r\n\r\n* feat: HandlerExecution 수정\r\n\r\n* feat: basePackage 수정\r\n\r\n* feat: HandlerExecutions 일급컬렉션으로 분리\r\n\r\n* refactor: 메소드명 수정\r\n\r\n* feat: 존재하지 않는 handlerKey일 때 예외 처리 기능 추가\r\n\r\n* test: HandlerExecutionsTest, HandlerExecutionTest 작성\r\n\r\n* feat: RequestMapping에 method 설정이 되어 있지 않으면 모든 HTTP method를 지원하는 기능\r\n\r\n* refactor: 불필요한 변수 제거\r\n\r\n* test: HandlerKeyExtractorTest 작성\r\n\r\n* refactor: 매번 객체가 생성되는 문제 개선\r\n\r\n* refactor: 기본 생성자가 없을 경우 예외 처리","shortMessageHtmlLink":" [MVC 구현하기 - 1단계] 비토(오상훈) 미션 제출합니다. (#637)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"5c5fe77156bf3c37e2f3e482ca6a84b54ed3b140","ref":"refs/heads/chocochip101","pushedAt":"2024-09-19T06:56:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nayonsoso","name":"Yeongseo Na","path":"/nayonsoso","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/76177848?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 초코칩(권기호) 미션 제출합니다. (#638)\n\n* study: JUnit3Test 추가\r\n\r\n* study: JUnit4Test 추가\r\n\r\n* study: reflection Test 추가\r\n\r\n* study: reflections Test 추가\r\n\r\n* feat: reflection을 통해 get, post 기능 구현\r\n\r\n* refactor: 인자 변경\r\n\r\n* feat: JSPView 클래스 구현\r\n\r\n* test: RequestMethod 테스트 추가\r\n\r\n* test: HandlerKey 테스트 추가\r\n\r\n* test: JspView 테스트 추가\r\n\r\n* feat: 중복된 핸들러 예외 처리\r\n\r\n* study: test로 시작하는 메서드 실행을 변경\r\n\r\n* refactor: exception 테스트 리팩터링\r\n\r\n* refactor: 불필요 개행 제거\r\n\r\n* refactor: handle 내부의 객체 생성 로직 변경","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 초코칩(권기호) 미션 제출합니다. (#638)"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/helenason","pushedAt":"2024-09-19T01:34:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/yechop","pushedAt":"2024-09-19T00:55:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"eac4297bc5c07609da0b75f54056d04df1999f23","ref":"refs/heads/hyeon0208","pushedAt":"2024-09-18T16:09:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jcoding-play","name":"조경찬 (Jo Gyungchan)","path":"/jcoding-play","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/119468757?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 카키(서현준) 미션 제출합니다. (#644)\n\n* test: 리플렉션, 서블릿 학습 테스트 추가\r\n\r\n* feat: 리플렉션을 사용해 핸들러 매핑 기능 추가\r\n\r\n* feat: JspView 클래스를 구현 및 View 반환 로직 수정\r\n\r\n* refactor: 패키지 스캔 로직 분리\r\n\r\n* refactor: handler 조회시 null 예외 처리\r\n\r\n* refactor: 상수 접근제어자 private로 변경\r\n\r\n* refactor: method.invoke() 첫 번째 인자를 Object 타입으로 변경","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 카키(서현준) 미션 제출합니다. (#644)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"b8d73e860619c809e6f28755b05a21fc4e95ce0f","ref":"refs/heads/3juhwan","pushedAt":"2024-09-18T14:44:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alstn113","name":"Minsu Kim","path":"/alstn113","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/75781414?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 망쵸(김주환) 미션 제출합니다. (#646)\n\n* feat: Reflection 학습 테스트\r\n\r\n* feat: 어노테이션 핸들러 맵핑 구현\r\n\r\n* feat: jspView 구현\r\n\r\n* feat: 핸들러 객체 생성\r\n\r\n* feat: 어노테이션 기반 핸들러 찾는 객체 생성\r\n\r\n* refactor: 핸들러 맵퍼로부터 클래스 분리\r\n\r\n* test: 핸들러 테스트\r\n\r\n* test: 어노테이션 기반 핸들러 찾는 객체 테스트\r\n\r\n* fix: @RequestMapping()에 method 설정이 되어 있지 않으면 모든 HTTP method를 지원하도록 수정\r\n\r\n* feat: 리플렉션 학습 테스트 수정\r\n\r\n* feat: 리플렉션 학습 테스트, 적절한 메서드로 변경\r\n\r\n* refactor: final 키워드 삭제\r\n\r\n* fix: 핸들러 클래스 인스턴스가 중복해서 생기는 문제 해결\r\n\r\n* refactor: 어노테이션 기반 핸들러 찾는 객체에 인자 제거\r\n\r\n* test: method.invoke 성능 테스트\r\n\r\n* refactor: 불필요한 필드 삭제\r\n\r\n* test: 성능 테스트 메서드 비활성화\r\n\r\n* refactor: 핸들러에서 리플렉션 메서드 실행을 줄여 성능 개선\r\n\r\n* feat: 404 리다이렉션 추가\r\n\r\n* refactor: JspView 메서드 분리","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 망쵸(김주환) 미션 제출합니다. (#646)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"b7a4a3ebcd8f2a0c5a4178993aff6d6dbd79d465","ref":"refs/heads/kunsanglee","pushedAt":"2024-09-18T11:53:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"robinjoon","name":"임수빈","path":"/robinjoon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45223837?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 이상(이건상) 미션 제출합니다. (#652)\n\n* feat: Junit3TestRunner 테스트 완료\r\n\r\n* feat: Junit4TestRunner 테스트 완료\r\n\r\n* feat: ReflectionTest 테스트 완료\r\n\r\n* feat: ReflectionsTest 테스트 완료\r\n\r\n* feat: AnnotationHandlerMappingTest 성공\r\n\r\n* feat: JspView 클래스 구현\r\n\r\n* refactor: AnnotationHandlerMapping, HandlerExecution, JspView 리팩터링\r\n\r\n* style: 사용하지 않는 import문 제거\r\n\r\n* test: JspViewTest 작성\r\n\r\n* test: HandlerExecutionTest 작성\r\n\r\n* test: AnnotationHandlerMappingTest 작성\r\n\r\n* refactor: JspView redirect 이후에 request 에 model attribute 담도록 변경\r\n\r\n* refactor: JspView forward 시 requestDispatcher 가 null 인 경우 /404.jsp 페이지로 리다이렉트 하도록 변경\r\n\r\n* refactor: RequestMapping method 가 GET 인 메서드를 대상으로 검증하도록 변경\r\n\r\n* refactor: MockHttpServletRequest -> mock(HttpServletRequest.class) 변경\r\n\r\n* refactor: HandlerExecution handle 메서드 주석 수정\r\n\r\n* refactor: HandlerExecution 생성시 Class 타입 controller 받아오도록 변경","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 이상(이건상) 미션 제출합니다. (#652)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"b1585428267345ba1d001698b422f92dc6d0c4b7","ref":"refs/heads/khabh","pushedAt":"2024-09-18T10:08:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"HyungHoKim00","name":"김형호","path":"/HyungHoKim00","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140397285?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 감자(김주하) 미션 제출합니다. (#641)\n\n* feat: Reflection API 학습 테스트\r\n\r\n* feat: AnnotationHandlerMapping 구현\r\n\r\n* test: AnnotationHandlerMapping 테스트\r\n\r\n* refactor: 핸들러 조회 로직 수정\r\n\r\n* refactor: JspView render 로직 추가\r\n\r\n* refactor: 사용되지 않는 메서드 삭제\r\n\r\n* fix: 줄바꿈 System.lineSeparator()로 수정\r\n\r\n* test: isAnnotationPresent()를 사용하도록 수정\r\n\r\n* refactor: 사용되지 않는 변수 제거\r\n\r\n* refactor: RequestMapping의 method 처리를 위해 RequestMappingMethod 클래스 분리\r\n\r\n* test: RequestMappingMethod 기능 테스트\r\n\r\n* refactor: Handler 레코드로 수정\r\n\r\n* refactor: RuntimeException에 예외 메시지 설정\r\n\r\n* refactor: 핸들러 등록 및 조회 로직에 예외 처리 추가\r\n\r\n* test: 테스트 이름 수정","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 감자(김주하) 미션 제출합니다. (#641)"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/dobby-kim","pushedAt":"2024-09-18T08:12:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"66af8e1f2eb2fac8d765320d4b93cabcc20265ca","ref":"refs/heads/arachneee","pushedAt":"2024-09-17T06:21:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Chocochip101","name":"Kwoun Ki Ho","path":"/Chocochip101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73146678?s=80&v=4"},"commit":{"message":"[MVC 구현하기 - 1단계] 백호(전호건) 미션 제출합니다. (#636)\n\n* feat: Reflection 학습 테스트 추가\r\n\r\n* test: 불필요 stream 제거\r\n\r\n* feat: Annotation 기반 HanlderMapping 기능 구현\r\n\r\n* test: 학습테스트 newInstance 메소드 변경\r\n\r\n* refactor: 메소드 분리\r\n\r\n* feat: Jsp View 구현\r\n\r\n* refactor: view render 메소드 분리\r\n\r\n* test: 테스트 추가\r\n\r\n* refactor: handlerMapping initialize 리펙토링\r\n\r\n* fix: RequestMapping에 method를 지정하지 않은 경우 동작하지 않는 버그 수정\r\n\r\n* style: 변수 명 변경\r\n\r\n* refactor: getDeclaredAnnotation -> getAnnotation 으로 변경\r\n\r\n* refactor: HandlerKey 편의 메소드 제거\r\n\r\n* style: 코드 정렬\r\n\r\n* style: method 변수명 -> handler 변경\r\n\r\n* feat: 핸들러 메소드의 인자 순서 및 수량에 상관없이 지원가능하는 기능 추가\r\n\r\n* refactor: 메소드 분리\r\n\r\n* style: static 제거\r\n\r\n* style: 메소드 이름 변경\r\n\r\n* feat: handler를 찾을 수 없는 경우 검증 추가\r\n\r\n* feat: Controller 객체 싱글톤으로 관리 기능 추가\r\n\r\n* style: enum 스타일 변경","shortMessageHtmlLink":"[MVC 구현하기 - 1단계] 백호(전호건) 미션 제출합니다. (#636)"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"2b987b4f4061b9d536f8102e303420ccd4b95638","ref":"refs/heads/alstn113","pushedAt":"2024-09-17T04:24:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tkdgur0906","name":null,"path":"/tkdgur0906","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39580658?s=80&v=4"},"commit":{"message":"[1단계 - @MVC 구현하기] 구름(김민수) 미션 제출합니다. (#639)\n\n* test: Junit3TestRunner 학습 테스트 작성\r\n\r\n* test: Junit4TestRunner 학습 테스트 작성\r\n\r\n* test: ReflectionTest 학습 테스트 작성\r\n\r\n* test: ReflectionsTest 학습 테스트 작성\r\n\r\n* test: ReflectionsTest 학습 테스트 개선\r\n\r\n* feat: HandlerExecution 작성\r\n\r\n* feat: AnnotationHandlerMapping 작성\r\n\r\n* feat: DispatcherServlet의 View 처리 부분 JspView로 이동\r\n\r\n* docs: Step 1 기능 요구 사항 작성\r\n\r\n* refactor: 구조 개선\r\n\r\n* refactor: 구체 타입으로 수정\r\n\r\n* test: method 속성이 비어 있는 경우 모든 Http method 적용\r\n\r\n* chore: 코드 정렬\r\n\r\n* refactor: 변수 분리\r\n\r\n* refactor: 메서드 분리\r\n\r\n* chore: 사용하지 않는 클래스 제거\r\n\r\n* test: handleExecution의 handle 메서드 테스트\r\n\r\n* refactor: getHandler optional로 개선\r\n\r\n* refactor: 중복된 handler key인 경우 예외 처리\r\n\r\n* refactor: ApplicationContext 싱글톤 객체로 빈 관리","shortMessageHtmlLink":"[1단계 - @MVC 구현하기] 구름(김민수) 미션 제출합니다. (#639)"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/nayonsoso","pushedAt":"2024-09-16T16:04:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/chooseoyeon","pushedAt":"2024-09-16T14:52:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/seunghye218","pushedAt":"2024-09-16T14:06:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/hangillee","pushedAt":"2024-09-16T09:02:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":"2506520d08ac6398105fb8028fb248b437b2f04e","after":"e6da9f978259148e5f138ee92eab0ebec7ab5d61","ref":"refs/heads/donghoony","pushedAt":"2024-09-16T08:33:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ay-eonii","name":"나아연","path":"/ay-eonii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/110026001?s=80&v=4"},"commit":{"message":"[🌱 MVC 구현하기 - 1단계] 아루(이동훈) 미션 제출합니다. (#634)\n\n* test: 리플렉션을 활용해 메서드를 호출하는 학습 테스트\r\n\r\n* test: 어노테이션을 활용해 메서드를 호출하는 학습 테스트\r\n\r\n* test: Reflection을 활용해 필드, 메서드, 생성자 등을 조작하는 학습 테스트\r\n\r\n* test: Reflections 라이브러리를 활용해 어노테이션이 포함된 클래스 찾기 학습 테스트\r\n\r\n* docs: 1단계 요구사항 작성\r\n\r\n* feat: HandlerExecution에서 핸들러 호출\r\n\r\n* feat: DispatcherServlet의 역할 JspView에서 렌더하도록 추가\r\n\r\n* feat: 어노테이션 기반 핸들러 매핑\r\n\r\n* feat: 컨트롤러 클래스를 싱글톤으로 관리\r\n\r\n* refactor: HandlerExecution이 SingletonManager를 사용하도록 변경\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* docs: readme 체크\r\n\r\n* refactor: Object에서 HandlerExecution을 리턴하도록 수정\r\n\r\n* refactor: Object에서 HandlerExecution을 리턴하도록 수정","shortMessageHtmlLink":"[🌱 MVC 구현하기 - 1단계] 아루(이동훈) 미션 제출합니다. (#634)"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/hyeon0208","pushedAt":"2024-09-16T08:20:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/lilychoibb","pushedAt":"2024-09-16T07:16:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/mzeong","pushedAt":"2024-09-16T05:23:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/tsulocalize","pushedAt":"2024-09-16T03:55:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/j-i-h-o","pushedAt":"2024-09-16T02:53:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/ehtjsv2","pushedAt":"2024-09-16T01:12:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/coli-geonwoo","pushedAt":"2024-09-15T20:23:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}},{"before":null,"after":"2506520d08ac6398105fb8028fb248b437b2f04e","ref":"refs/heads/hoyeonyy","pushedAt":"2024-09-15T14:51:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"woowahan-neo","name":"네오","path":"/woowahan-neo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/91529675?s=80&v=4"},"commit":{"message":"변경 사항\n- 패키지 경로 변경\n- 라이브러리 버전 업데이트\n- 소나큐브 설정 제거","shortMessageHtmlLink":"변경 사항"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNToyNTozNS4wMDAwMDBazwAAAAS8HWrz","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNToyNTozNS4wMDAwMDBazwAAAAS8HWrz","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNVQxNDo1MTowMy4wMDAwMDBazwAAAAS2u23U"}},"title":"Activity · woowacourse/java-mvc"}