{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":640936557,"defaultBranch":"main","name":"effective-java-study","ownerLogin":"depromeet","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-15T12:42:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18240792?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1684154551.5669172","currentOid":""},"activityList":{"items":[{"before":"9785761c8849a98fe8c6e8477806de21992bc089","after":"53ec7674b48b29d16965d93f18c390ba99d9d682","ref":"refs/heads/main","pushedAt":"2023-09-10T13:55:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item77]: 예외를 무시하지 말라 (#175)(성훈)","shortMessageHtmlLink":"[Item77]: 예외를 무시하지 말라 (#175)(성훈)"}},{"before":"41b7fc52bce4a27b222d0dfa13254eca88c69429","after":"9785761c8849a98fe8c6e8477806de21992bc089","ref":"refs/heads/main","pushedAt":"2023-09-10T13:54:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item72]: 표준 예외를 사용하라 (#161)(성훈)","shortMessageHtmlLink":"[Item72]: 표준 예외를 사용하라 (#161)(성훈)"}},{"before":"603b1fdbcdb7fc1a9a14070b1dbd2a66b2569f8d","after":"41b7fc52bce4a27b222d0dfa13254eca88c69429","ref":"refs/heads/main","pushedAt":"2023-09-10T13:54:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[item75]: 예외의 상세 메시지에 실패 관련 정보를 담으라 (#164)(건호) (#172)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item75]: 예외의 상세 메시지에 실패 관련 정보를 담으라 (#164)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item75]: 예외의 상세 메시지에 실패 관련 정보를 담으라 (#164)(건호) (#172)"}},{"before":"ce4de99ff6538ae132e70fc6d24f3796edcafff7","after":"603b1fdbcdb7fc1a9a14070b1dbd2a66b2569f8d","ref":"refs/heads/main","pushedAt":"2023-09-10T13:54:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item76]: 가능한 한 실패 원자적으로 만들라 (#165)(시연) (#171)","shortMessageHtmlLink":"[Item76]: 가능한 한 실패 원자적으로 만들라 (#165)(시연) (#171)"}},{"before":"35c83d8850deb220a7ec8f4f7b853304894ce9b5","after":"ce4de99ff6538ae132e70fc6d24f3796edcafff7","ref":"refs/heads/main","pushedAt":"2023-09-10T13:53:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item71]: 필요 없는 검사 예외 사용은 피하라 (#160)(시연) (#170)","shortMessageHtmlLink":"[Item71]: 필요 없는 검사 예외 사용은 피하라 (#160)(시연) (#170)"}},{"before":"77f66ad6abfc1e170ea684354fc71088dc1ee294","after":"35c83d8850deb220a7ec8f4f7b853304894ce9b5","ref":"refs/heads/main","pushedAt":"2023-09-10T13:53:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item74]: 메서드가 던지는 모든 예외를 문서화하라 (#163)(도모) (#169)","shortMessageHtmlLink":"[Item74]: 메서드가 던지는 모든 예외를 문서화하라 (#163)(도모) (#169)"}},{"before":"99bdc4c7fb7dfd25117a5f1850a3648cee031322","after":"77f66ad6abfc1e170ea684354fc71088dc1ee294","ref":"refs/heads/main","pushedAt":"2023-09-10T13:53:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item62]: 다른 타입이 적절하다면 문자열 사용을 피하라(#143)(성훈) (#156)\n\n* [Item62] 다른 타입이 적절하다면 문자열 사용을 피하라\r\n\r\n* [Item67] 최적화는 신중히 하라","shortMessageHtmlLink":"[Item62]: 다른 타입이 적절하다면 문자열 사용을 피하라(#143)(성훈) (#156)"}},{"before":"0bdad39e703a0bbb0cda39eb3966d3ec4995915d","after":"99bdc4c7fb7dfd25117a5f1850a3648cee031322","ref":"refs/heads/main","pushedAt":"2023-09-10T13:45:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item70]: 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라 (#159)(건호) (#167)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item70]: check image\r\n\r\n* [item70]: 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라 (#159)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[Item70]: 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라 (#159)(건호) (#167"}},{"before":"b83d9d532be8144a724164f08ff2b5f3fda2c489","after":"0bdad39e703a0bbb0cda39eb3966d3ec4995915d","ref":"refs/heads/main","pushedAt":"2023-09-10T13:42:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item69]: 예외는 진짜 예외 상황에서만 사용하라 (#158)(도모) (#168)","shortMessageHtmlLink":"[Item69]: 예외는 진짜 예외 상황에서만 사용하라 (#158)(도모) (#168)"}},{"before":"90930a5d1f5ae085a5efc8484f04b1895359fd77","after":"b83d9d532be8144a724164f08ff2b5f3fda2c489","ref":"refs/heads/main","pushedAt":"2023-09-10T13:42:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item68]: 일반적으로 통용되는 명명 규칙을 따르라 (#157)(세미) (#174)\n\n* [Item68]: 일반적으로 통용되는 명명 규칙을 따르라 (#157)(세미)\r\n\r\n* [Item73]: 추상화_수준에_맞는_예외를_던지라.md","shortMessageHtmlLink":"[Item68]: 일반적으로 통용되는 명명 규칙을 따르라 (#157)(세미) (#174)"}},{"before":"c88473f0c09cb2ff34d8832ed6c506625dec410e","after":"90930a5d1f5ae085a5efc8484f04b1895359fd77","ref":"refs/heads/main","pushedAt":"2023-09-03T03:13:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[item65]: 리플렉션보다는 인터페이스를 사용하라 (#146)(건호) (#152)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item65]: 리플렉션보다는 인터페이스를 사용하라라 (#146)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item65]: 리플렉션보다는 인터페이스를 사용하라 (#146)(건호) (#152)"}},{"before":"eea7d70bc442c2fe7e0f6c9316f62f809fb4a81f","after":"c88473f0c09cb2ff34d8832ed6c506625dec410e","ref":"refs/heads/main","pushedAt":"2023-09-03T03:11:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[item60]: 정확한 답이 필요하다면 float와 double은 피하라 (#141)(건호) (#151)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item60]: 정확한 답이 필요하다면 float와 double은 피하라 (#141)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item60]: 정확한 답이 필요하다면 float와 double은 피하라 (#141)(건호) (#151)"}},{"before":"747be8a70756649c0fd6471475fbdfd292c77c13","after":"eea7d70bc442c2fe7e0f6c9316f62f809fb4a81f","ref":"refs/heads/main","pushedAt":"2023-09-03T03:05:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item66]: 네이티브 메서드는 신중히 사용하라 (#147)(시연) (#155)","shortMessageHtmlLink":"[Item66]: 네이티브 메서드는 신중히 사용하라 (#147)(시연) (#155)"}},{"before":"d7cf9a71df061e31f6a7db9a654450f59d66fe24","after":"747be8a70756649c0fd6471475fbdfd292c77c13","ref":"refs/heads/main","pushedAt":"2023-09-03T02:52:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item64]: 객체는 인터페이스를 사용해 참조하라 (#145)(도모) (#150)","shortMessageHtmlLink":"[Item64]: 객체는 인터페이스를 사용해 참조하라 (#145)(도모) (#150)"}},{"before":"ae8c4589c9a3919077d2f18bb341162924029c79","after":"d7cf9a71df061e31f6a7db9a654450f59d66fe24","ref":"refs/heads/main","pushedAt":"2023-09-03T02:49:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item61]: 박싱된 기본 타입보다는 기본 타입을 사용하라 (#142)(시연) (#154)","shortMessageHtmlLink":"[Item61]: 박싱된 기본 타입보다는 기본 타입을 사용하라 (#142)(시연) (#154)"}},{"before":"4c8b9047cb7014a24e5a0dc5cc25a792b2388922","after":"ae8c4589c9a3919077d2f18bb341162924029c79","ref":"refs/heads/main","pushedAt":"2023-09-03T02:49:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item63]: 문자열 연결은 느리니 주의하라 (#144)(세미) (#153)\n\n* [Item58]: 전통적인 for문보다는 for-each문을 사용하라 (#139)(세미)\r\n\r\n* [Item63]: 문자열 연결은 느리니 주의하라 (#144)(세미)","shortMessageHtmlLink":"[Item63]: 문자열 연결은 느리니 주의하라 (#144)(세미) (#153)"}},{"before":"2c82cab5edbc17456cafc1ef585f5062eb34ebe2","after":"4c8b9047cb7014a24e5a0dc5cc25a792b2388922","ref":"refs/heads/main","pushedAt":"2023-09-03T02:49:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item59]: 라이브러리를 익히고 사용하라 (#140)(도모) (#149)","shortMessageHtmlLink":"[Item59]: 라이브러리를 익히고 사용하라 (#140)(도모) (#149)"}},{"before":"5ccd951803f0897bb416453948578cee1df157a2","after":"2c82cab5edbc17456cafc1ef585f5062eb34ebe2","ref":"refs/heads/main","pushedAt":"2023-09-03T02:32:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item56]: 공개된 API 요소에는 항상 문서화 주석을 작성하라 (#128)(시연) (#138)\n\n* [Item51]: 메서드 시그니처를 신중히 설계하라 (#123)(시연)\r\n\r\n* [Item56]: 공개된 API 요소에는 항상 문서화 주석을 작성하라 (#128)(시연)\r\n\r\n* [Item56]: 공개된 API 요소에는 항상 문서화 주석을 작성하라 (#128)(시연)","shortMessageHtmlLink":"[Item56]: 공개된 API 요소에는 항상 문서화 주석을 작성하라 (#128)(시연) (#138)"}},{"before":"fdb9b0cf0d57a16240a1b6d071224bea1d006188","after":"5ccd951803f0897bb416453948578cee1df157a2","ref":"refs/heads/main","pushedAt":"2023-09-03T02:32:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[item55]: 옵셔널 반환은 신중히 하라 (#127)(건호) (#133)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item55]: 옵셔널 반환은 신중히 하라 (#127)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item55]: 옵셔널 반환은 신중히 하라 (#127)(건호) (#133)"}},{"before":"48db2a2ddb49c64e0d34e74ee0107c4d0514557f","after":"fdb9b0cf0d57a16240a1b6d071224bea1d006188","ref":"refs/heads/main","pushedAt":"2023-09-03T02:08:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item52]: 다중정의는 신중히 사용하라(#124)(성훈) (#135)\n\n* [Item52]: 다중정의는 신중히 사용하라\r\n\r\n* [Item57]: 지역변수의 범위를 최소화 하라","shortMessageHtmlLink":"[Item52]: 다중정의는 신중히 사용하라(#124)(성훈) (#135)"}},{"before":"75baf0854879439d9caaff0e2270ab2f9ee8124c","after":"48db2a2ddb49c64e0d34e74ee0107c4d0514557f","ref":"refs/heads/main","pushedAt":"2023-09-03T01:07:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item54]: null이 아닌, 빈 컬렉션이나 배열을 반환하라 (#126)(도모) (#131)","shortMessageHtmlLink":"[Item54]: null이 아닌, 빈 컬렉션이나 배열을 반환하라 (#126)(도모) (#131)"}},{"before":"f871d7cd86961dd96a615851c2577fc8ec2c2051","after":"75baf0854879439d9caaff0e2270ab2f9ee8124c","ref":"refs/heads/main","pushedAt":"2023-09-03T01:07:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item49]: 매개변수가 유효한지 검사하라 (#121)(도모) (#130)","shortMessageHtmlLink":"[Item49]: 매개변수가 유효한지 검사하라 (#121)(도모) (#130)"}},{"before":"770a52d2c8680921de13f6d33e29e3bb1dc86e82","after":"f871d7cd86961dd96a615851c2577fc8ec2c2051","ref":"refs/heads/main","pushedAt":"2023-09-03T01:06:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item53]: 가변인수는 신중히 사용하라 (#125)(세미) (#137)\n\n* [Item41]: 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 (#120)(세미)\r\n\r\n* [Item53]: 가변인수는 신중히 사용하라 (#125)(세미)","shortMessageHtmlLink":"[Item53]: 가변인수는 신중히 사용하라 (#125)(세미) (#137)"}},{"before":"8c4ea95b484aa4426572b4ba6fbd163491045807","after":"770a52d2c8680921de13f6d33e29e3bb1dc86e82","ref":"refs/heads/main","pushedAt":"2023-09-03T00:24:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gunh0","name":"Gunho Park","path":"/gunh0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41619898?s=80&v=4"},"commit":{"message":"[item50]: 적시에 방어적 복사본을 만들라 (#122)(건호) (#132)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item50]: 적시에 방어적 복사본을 만들라 (#122)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item50]: 적시에 방어적 복사본을 만들라 (#122)(건호) (#132)"}},{"before":"22bb3b7bcfbb3a57d046222a24681aa0f57f92bc","after":"8c4ea95b484aa4426572b4ba6fbd163491045807","ref":"refs/heads/main","pushedAt":"2023-09-03T00:24:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gunh0","name":"Gunho Park","path":"/gunh0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41619898?s=80&v=4"},"commit":{"message":"[item38]: 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (#113)(건호) (#136)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [item38]: 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (#113)(건호)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[item38]: 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (#113)(건호) (#136)"}},{"before":"5daed25ff1ac19f8704ac267dc6e6a0f709b8981","after":"22bb3b7bcfbb3a57d046222a24681aa0f57f92bc","ref":"refs/heads/main","pushedAt":"2023-09-03T00:23:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gunh0","name":"Gunho Park","path":"/gunh0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41619898?s=80&v=4"},"commit":{"message":"[Item25]: 톱레벨 클래스는 한 파일에 하나만 담으라 (#99)(건호) (#104)\n\n* [Item03]: private 생성자나 열거 타입으로 싱글턴임을 보증하라 (#5)(건호)\r\n\r\n* docs: chore\r\n\r\n* [Item08]: finalizer와 cleaner 사용을 피하라 (#13)(건호)\r\n\r\n* [Item29] 이왕이면 제네릭 타입으로 만들라 (#23)(건호)\r\n\r\n* [item42]: 익명 클래스보다는 람다를 사용하라 (#33)\r\n\r\n* [item47]: 반환타입으로는 스트림보다 컬렉션이 낫다\r\n\r\n* prep: item 81\r\n\r\n* [Item81]: wait와 notify는 동시성 유틸리티를 애용하라 (#53) (건호)\r\n\r\n* chore wait와_notify보다는_동시성_유틸리티를_애용하라.md\r\n\r\n* [item86]: Serializable을 구현할지는 신중히 결정하라 (#63)\r\n\r\n* [Item15]: 클래스와 멤버의 접근 권한을 최소화하라 (#80)(건호)\r\n\r\n* [Item10]: equals는 일반 규약을 지켜 재정의하라 (#73)(건호)\r\n\r\n* [Item25]: 톱레벨 클래스는 한 파일에 하나만 담으라 (#99)\r\n\r\n---------\r\n\r\nCo-authored-by: Gunho Park \r\nCo-authored-by: devgun <117673396+devgun3123@users.noreply.github.com>\r\nCo-authored-by: Gunho Park <41619898+gunh0@users.noreply.github.com>","shortMessageHtmlLink":"[Item25]: 톱레벨 클래스는 한 파일에 하나만 담으라 (#99)(건호) (#104)"}},{"before":"f4846f54c9a62cfb6de77c380125c78891c11c78","after":"5daed25ff1ac19f8704ac267dc6e6a0f709b8981","ref":"refs/heads/main","pushedAt":"2023-08-27T13:44:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"siyeonSon","name":null,"path":"/siyeonSon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87802191?s=80&v=4"},"commit":{"message":"[Item51]: 메서드 시그니처를 신중히 설계하라 (#123)(시연) (#134)","shortMessageHtmlLink":"[Item51]: 메서드 시그니처를 신중히 설계하라 (#123)(시연) (#134)"}},{"before":"f361a5f7f33b1f6ebe5c8534f467447ac31c98da","after":"f4846f54c9a62cfb6de77c380125c78891c11c78","ref":"refs/heads/main","pushedAt":"2023-08-20T02:48:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item40]: @Override 애너테이션을 일관되게 사용하라 (#115)(성훈)","shortMessageHtmlLink":"[Item40]: @OverRide 애너테이션을 일관되게 사용하라 (#115)(성훈)"}},{"before":"4927ac87f678671f3ed2956f447113f5477fc27c","after":"f361a5f7f33b1f6ebe5c8534f467447ac31c98da","ref":"refs/heads/main","pushedAt":"2023-08-20T02:47:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item39]: 명명 패턴보다 애너테이션을 사용하라 (#114)(시연) (#117)","shortMessageHtmlLink":"[Item39]: 명명 패턴보다 애너테이션을 사용하라 (#114)(시연) (#117)"}},{"before":"fd217fd4eb27751c428ec9c829cd4a85ef744db1","after":"4927ac87f678671f3ed2956f447113f5477fc27c","ref":"refs/heads/main","pushedAt":"2023-08-20T02:47:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"semi-cloud","name":"Semi kang","path":"/semi-cloud","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71436576?s=80&v=4"},"commit":{"message":"[Item37]: ordinal 인덱싱 대신 EnumMap을 사용하라 (#112)(도모) (#119)","shortMessageHtmlLink":"[Item37]: ordinal 인덱싱 대신 EnumMap을 사용하라 (#112)(도모) (#119)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADfT42FwA","startCursor":null,"endCursor":null}},"title":"Activity · depromeet/effective-java-study"}