{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":664438540,"defaultBranch":"main","name":"be-was","ownerLogin":"kimahhh","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-07-10T01:24:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/74655780?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1690362793.0","currentOid":""},"activityList":{"items":[{"before":"ed1040e7c780c30031ea9dd8eb3fc979db296524","after":"97e7874cb9b7d7edd26cb547095e1edf57063c24","ref":"refs/heads/step7","pushedAt":"2023-07-27T06:26:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Docs: step-7 study plan","shortMessageHtmlLink":"Docs: step-7 study plan"}},{"before":"692a1a53dd5634eedbd8a119499de5b8b81d299c","after":"ed1040e7c780c30031ea9dd8eb3fc979db296524","ref":"refs/heads/step7","pushedAt":"2023-07-27T06:08:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: error page 수정\n\nerror message를 함께 출력하지 않고 404인 것만 알림","shortMessageHtmlLink":"Feat: error page 수정"}},{"before":"2002831e5adef8c76ee98d5f184084096b974ac8","after":"692a1a53dd5634eedbd8a119499de5b8b81d299c","ref":"refs/heads/step7","pushedAt":"2023-07-27T05:55:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: Board 최신순 조회\n\n/index.html에 글이 최신순으로 보이도록 하기 위해서 board를 반환할 때 정렬해서 반환함","shortMessageHtmlLink":"Feat: Board 최신순 조회"}},{"before":"172c415c25af67b7fcf17e859f704a21d2f21369","after":"2002831e5adef8c76ee98d5f184084096b974ac8","ref":"refs/heads/step7","pushedAt":"2023-07-27T05:26:51.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: 로그인 시 유저 아이디 index.html에 출력","shortMessageHtmlLink":"Feat: 로그인 시 유저 아이디 index.html에 출력"}},{"before":"e754785ac02b2e431a1e5453b6ded3119532a007","after":"172c415c25af67b7fcf17e859f704a21d2f21369","ref":"refs/heads/step7","pushedAt":"2023-07-27T02:06:19.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: session이 유효한지 검증하는 코드를 모두 SessionStorage의 isSessionValid()로 변경\n\n관련된 예외(세션 아이디가 없는 경우, 세션 아이디가 유효하지 않은 경우)도 하나로 통합","shortMessageHtmlLink":"Refactor: session이 유효한지 검증하는 코드를 모두 SessionStorage의 isSessionValid()로 변경"}},{"before":"451eec3b616b7342b2e5703f4c65c348c722a842","after":"e754785ac02b2e431a1e5453b6ded3119532a007","ref":"refs/heads/step7","pushedAt":"2023-07-27T01:34:45.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Test: 글쓰기 검증","shortMessageHtmlLink":"Test: 글쓰기 검증"}},{"before":null,"after":"451eec3b616b7342b2e5703f4c65c348c722a842","ref":"refs/heads/step7","pushedAt":"2023-07-26T09:13:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Add: Board, BoardDatabase 추가","shortMessageHtmlLink":"Add: Board, BoardDatabase 추가"}},{"before":"b790ccdde0f1024a779d6c87e8664220f6f41a7d","after":"a38c45ec66faa703645bac1eb76333550b8c2730","ref":"refs/heads/step6","pushedAt":"2023-07-26T07:24:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Docs: step-6 study plan","shortMessageHtmlLink":"Docs: step-6 study plan"}},{"before":"0ce326fae920858a46484e70c8bbbb452e881e73","after":"b790ccdde0f1024a779d6c87e8664220f6f41a7d","ref":"refs/heads/step6","pushedAt":"2023-07-26T03:01:20.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: parameter를 채우지 않고 요청했을 때 예외 처리\n\n파라미터 값을 빈 값으로 보냈을 때 INVALID_URI 예외 반환","shortMessageHtmlLink":"Feat: parameter를 채우지 않고 요청했을 때 예외 처리"}},{"before":"60af9822d20e0c9f49b49d82d9bab2fc9d51349b","after":"0ce326fae920858a46484e70c8bbbb452e881e73","ref":"refs/heads/step6","pushedAt":"2023-07-26T00:57:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Rename: Session을 저장하는 클래스 명을 Database에서 Storage로 변경","shortMessageHtmlLink":"Rename: Session을 저장하는 클래스 명을 Database에서 Storage로 변경"}},{"before":"f509373b9ed46dc7b623835b208a3d83f9142258","after":"60af9822d20e0c9f49b49d82d9bab2fc9d51349b","ref":"refs/heads/step6","pushedAt":"2023-07-25T09:04:04.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: Path를 통해 파일을 load하는 메소드 코드 중복 제거\n\nSTATIC, TEMPLATES 여부만 다르던 메소드를 하나로 합침","shortMessageHtmlLink":"Refactor: Path를 통해 파일을 load하는 메소드 코드 중복 제거"}},{"before":"835be5303d4e2fe5df7e1a564fdbc1108ab77805","after":"f509373b9ed46dc7b623835b208a3d83f9142258","ref":"refs/heads/step6","pushedAt":"2023-07-25T07:04:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: CustomException을 상속받게 해서 Exception 처리를 공통으로 함\n\ncatch (Exception)이 너무 많아져서 하나의 Exception으로 catch해서 처리","shortMessageHtmlLink":"Refactor: CustomException을 상속받게 해서 Exception 처리를 공통으로 함"}},{"before":null,"after":"835be5303d4e2fe5df7e1a564fdbc1108ab77805","ref":"refs/heads/step6","pushedAt":"2023-07-25T04:59:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: List에서 로그인 여부에 따라 다른 화면 출력\n\n로그인 했을 때: 회원들의 계정 정보 출력\n로그인 안 했을 때: 로그인 화면으로 이동","shortMessageHtmlLink":"Feat: List에서 로그인 여부에 따라 다른 화면 출력"}},{"before":"5220eed3f2444b1a304b2d54594f98a68909450f","after":"d21fe63721de4f64e122ded95e4929c88051dfdd","ref":"refs/heads/step5","pushedAt":"2023-07-24T04:46:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: FileName -> FilePath 클래스명 변경","shortMessageHtmlLink":"Refactor: FileName -> FilePath 클래스명 변경"}},{"before":"2e9b3b81f5318ca9186da9b464d7575cb7693320","after":"5220eed3f2444b1a304b2d54594f98a68909450f","ref":"refs/heads/step5","pushedAt":"2023-07-24T04:33:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Docs: step 5 study plan","shortMessageHtmlLink":"Docs: step 5 study plan"}},{"before":"61a1790a6864f64c1a353de911cb135cad5ce7b7","after":"2e9b3b81f5318ca9186da9b464d7575cb7693320","ref":"refs/heads/step5","pushedAt":"2023-07-24T04:30:38.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: 코드 중복 제거\n\nloadStaticFromPath()와 loadTemplatesFromPath()의 공통 코드를 loadFromPath()로 추출하여 중복 코드 제거","shortMessageHtmlLink":"Refactor: 코드 중복 제거"}},{"before":"22546cfcaf2da8ec60e17bf8798176e37c7b38b3","after":"61a1790a6864f64c1a353de911cb135cad5ce7b7","ref":"refs/heads/step5","pushedAt":"2023-07-24T02:28:56.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: ControllerMappingHandler, UserController, BasicController에 싱글톤 패턴 적용\n\n싱글톤 패턴을 사용해 인스턴스를 하나만 생성하도록 구현","shortMessageHtmlLink":"Refactor: ControllerMappingHandler, UserController, BasicController에 …"}},{"before":"b2264b143fd1bb506e4db181dbd12710c37e24d2","after":"22546cfcaf2da8ec60e17bf8798176e37c7b38b3","ref":"refs/heads/step5","pushedAt":"2023-07-24T01:27:38.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: BasicController에서 doGet(), doPost() 메소드 실행 시 INVALID_URI 예외 반환\n\nBasicController는 파일(.html, .css 등)을 반환하는 컨트롤러이기 때문에 해당 메소드들은 사용되면 안 됨","shortMessageHtmlLink":"Feat: BasicController에서 doGet(), doPost() 메소드 실행 시 INVALID_URI 예외 반환"}},{"before":"9aed6fe56cc5fa7fdc4ad3ff3342cf55fe72c85a","after":"b2264b143fd1bb506e4db181dbd12710c37e24d2","ref":"refs/heads/step5","pushedAt":"2023-07-20T04:14:00.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: ControllerMappingHandler 구현\n\nURI를 통해 Controller를 매핑하는 역할 수행","shortMessageHtmlLink":"Refactor: ControllerMappingHandler 구현"}},{"before":null,"after":"9aed6fe56cc5fa7fdc4ad3ff3342cf55fe72c85a","ref":"refs/heads/step5","pushedAt":"2023-07-20T02:20:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: errorPage 생성 메소드 이동\n\nController 클래스에 있던 getErrorPage()를 Page 클래스로 이동","shortMessageHtmlLink":"Refactor: errorPage 생성 메소드 이동"}},{"before":"c70b99a81b8f7bca6eadd0328c7a9da2105b7744","after":"caa2ddfe3c8d1a04be3f9556b7cec9ce823d74ee","ref":"refs/heads/step4","pushedAt":"2023-07-20T01:20:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: writeBytes 시 전달되는 String 생성 방식 수정\n\n한 번의 String 생성으로 writeBytes와 debug를 할 수 있게 수정","shortMessageHtmlLink":"Refactor: writeBytes 시 전달되는 String 생성 방식 수정"}},{"before":"4d8295c0e9c667180393d3d9c6b255d4dc7e4a72","after":"c70b99a81b8f7bca6eadd0328c7a9da2105b7744","ref":"refs/heads/step4","pushedAt":"2023-07-19T09:01:27.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: 예외 이름을 포함하여 html 파일 반환\n\n/error.html로 일괄 반환되던 예외들을 각 예외들의 이름을 포함한 html 파일을 String으로 만들어서 반환","shortMessageHtmlLink":"Feat: 예외 이름을 포함하여 html 파일 반환"}},{"before":"fd943c51bf3078680167c736183d7207bd96626f","after":"4d8295c0e9c667180393d3d9c6b255d4dc7e4a72","ref":"refs/heads/step4","pushedAt":"2023-07-19T04:55:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Docs: step-4 study plan","shortMessageHtmlLink":"Docs: step-4 study plan"}},{"before":"f4352f950d1db679ccdea747161a46a2882ac20a","after":"fd943c51bf3078680167c736183d7207bd96626f","ref":"refs/heads/step4","pushedAt":"2023-07-19T04:53:23.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Test: 404 상태 테스트\n\n적절한 확장자가 아닐 때, 없는 파일을 요청할 때, 적절한 uri가 아닐 때","shortMessageHtmlLink":"Test: 404 상태 테스트"}},{"before":"7bf922ab41936d76e51b5c53867ea71a3aa96207","after":"f4352f950d1db679ccdea747161a46a2882ac20a","ref":"refs/heads/step4","pushedAt":"2023-07-19T04:18:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: 로그인 방식을 GET에서 POST로 변경\n\nGET으로 param을 사용하던 로그인 방식을 POST로 body를 사용하도록 변경","shortMessageHtmlLink":"Feat: 로그인 방식을 GET에서 POST로 변경"}},{"before":null,"after":"7bf922ab41936d76e51b5c53867ea71a3aa96207","ref":"refs/heads/step4","pushedAt":"2023-07-19T01:32:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: 유저 생성 후 index.html로 redirection\n\nsignup_success.html로 보내던 유저 생성 후 화면을 index.html로 redirection하도록 수정","shortMessageHtmlLink":"Feat: 유저 생성 후 index.html로 redirection"}},{"before":"60446c4679fa651778c232385eae368fa7106744","after":"544d63f29b72d9d4de292169cbb49422eb38b485","ref":"refs/heads/step3","pushedAt":"2023-07-18T08:18:42.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Test: UserService test\n\nUser 생성 및 중복 아이디 오류 반환 검증","shortMessageHtmlLink":"Test: UserService test"}},{"before":"da541bded6bf8d06c43d54420488f8764ee04591","after":"60446c4679fa651778c232385eae368fa7106744","ref":"refs/heads/step3","pushedAt":"2023-07-18T04:40:32.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Docs: step-3 study plan","shortMessageHtmlLink":"Docs: step-3 study plan"}},{"before":"10ddd85dbd5f6485ccf8ba778c053b68a646867b","after":"da541bded6bf8d06c43d54420488f8764ee04591","ref":"refs/heads/step3","pushedAt":"2023-07-18T02:46:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Feat: 다양한 Content-type 지원\n\nHTML, CSS, JS, ICO, PNG, TTF 등 다양한 컨텐츠 타입 지원\nresponse의 content-type 설정은 Controller에서 수행","shortMessageHtmlLink":"Feat: 다양한 Content-type 지원"}},{"before":"006052265d167bd019aa212f9e72236747c92c23","after":"10ddd85dbd5f6485ccf8ba778c053b68a646867b","ref":"refs/heads/step3","pushedAt":"2023-07-18T02:16:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kimahhh","name":"Kim Ahyun","path":"/kimahhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/74655780?s=80&v=4"},"commit":{"message":"Refactor: response 리턴 타입을 Map에서 ResponseBuilder로 변경\n\nstatus, body, content-type을 점진적으로 추가할 수 있는 빌더 패턴 적용","shortMessageHtmlLink":"Refactor: response 리턴 타입을 Map<HttpStatus, byte[]>에서 ResponseBuilder로 변경"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0yN1QwNjoyNjowMy4wMDAwMDBazwAAAANeIZKx","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0yN1QwNjoyNjowMy4wMDAwMDBazwAAAANeIZKx","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0xOFQwMjoxNjo1NS4wMDAwMDBazwAAAANXgqbL"}},"title":"Activity · kimahhh/be-was"}