{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":719956111,"defaultBranch":"master","name":"various-tests","ownerLogin":"eckrin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-17T09:08:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/81168401?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1700221927.0","currentOid":""},"activityList":{"items":[{"before":"65d475e58900b1dbc7b10a05ed3bc67b61edd7c5","after":"a967c0d514c2fd7fc2913d68c9875d0330a2e754","ref":"refs/heads/master","pushedAt":"2024-09-21T11:19:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: 트랜잭션 테스트 수정","shortMessageHtmlLink":"test: 트랜잭션 테스트 수정"}},{"before":"d65d8bbf7f5a6b0aad0df96dd8aa99637c66f131","after":"65d475e58900b1dbc7b10a05ed3bc67b61edd7c5","ref":"refs/heads/master","pushedAt":"2024-09-21T11:18:52.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"fix: 비동기 트랜잭션 테스트시 JpaTransactionManager 주입","shortMessageHtmlLink":"fix: 비동기 트랜잭션 테스트시 JpaTransactionManager 주입"}},{"before":"c14b657ed0f21babb2dcfc7a2338a67e3b0207f6","after":"d65d8bbf7f5a6b0aad0df96dd8aa99637c66f131","ref":"refs/heads/master","pushedAt":"2024-08-17T07:06:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: BlockingQueue를 사용하여 Producer-Consumer 패턴 실습해보기","shortMessageHtmlLink":"test: BlockingQueue를 사용하여 Producer-Consumer 패턴 실습해보기"}},{"before":"f2bc84fb2c4088977bc81e62e3d1167ab1b3b50f","after":"c14b657ed0f21babb2dcfc7a2338a67e3b0207f6","ref":"refs/heads/master","pushedAt":"2024-08-09T01:32:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: spring data jpa를 이용한 limit 쿼리 작업","shortMessageHtmlLink":"feat: spring data jpa를 이용한 limit 쿼리 작업"}},{"before":"0ff3218b01ed3389f1ef685c4d4b9cd42772c212","after":"f2bc84fb2c4088977bc81e62e3d1167ab1b3b50f","ref":"refs/heads/master","pushedAt":"2024-08-06T05:09:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: CompletableFuture를 이용한 논블로킹 비동기 작업 구현","shortMessageHtmlLink":"feat: CompletableFuture를 이용한 논블로킹 비동기 작업 구현"}},{"before":"d7a1f0270a39624239e3e0968d0dd0f755f9e20e","after":"0ff3218b01ed3389f1ef685c4d4b9cd42772c212","ref":"refs/heads/master","pushedAt":"2024-07-04T08:19:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: java의 static synchronized 키워드 작동원리 분석\n\n- static synchronized 키워드의 경우 인스턴스가 아닌 클래스 단위로 동기화를 진행한다.\n- 즉, 여러개의 인스턴스를 생성하여 각각에 대해서 static sync메소드를 실행해도 동기화가 정상적으로 진행된다. (일반 sync메소드의 경우는 동기화되지 않는다)","shortMessageHtmlLink":"feat: java의 static synchronized 키워드 작동원리 분석"}},{"before":"52049b7b1ed521fd00fed0819c6775f1c5f3c8bb","after":"d7a1f0270a39624239e3e0968d0dd0f755f9e20e","ref":"refs/heads/master","pushedAt":"2024-07-04T08:08:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: java의 synchronized 키워드 작동원리 분석\n\n- synchronized는 인스턴스 단위로 락을 건다. 즉, 별개의 인스턴스라면 동기화되지 않는다.\n- 인스턴스에서 synchronized가 적용된 모든 메서드는 동시에 락이 걸린다. 즉, 동일한 메서드가 아니더라도 synchronized가 선언된 메서드에 접근할 수 없다.","shortMessageHtmlLink":"feat: java의 synchronized 키워드 작동원리 분석"}},{"before":"5184d392e422edbd7226fc083a6c2f9277a30123","after":"52049b7b1ed521fd00fed0819c6775f1c5f3c8bb","ref":"refs/heads/master","pushedAt":"2024-05-07T06:01:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: RepositoryItemReader에 메서드 파라미터 전달\n\n- RepositoryItemReader에 세팅되는 메서드는 두번째 인자로 PageRequest를 가져야 함 (https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/item/data/RepositoryItemReader.html)\n- 스케줄러를 사용하여 1분마다 특정 id 이전의 데이터를 삭제","shortMessageHtmlLink":"feat: RepositoryItemReader에 메서드 파라미터 전달"}},{"before":"384b784a53a548fbab13287927262cabeec3c87c","after":"5184d392e422edbd7226fc083a6c2f9277a30123","ref":"refs/heads/master","pushedAt":"2024-05-07T05:50:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: 스케줄러와 Spring Batch를 이용한 데이터 삭제\n\n- 1분마다 5개의 데이터 삭제 스케줄링 작업","shortMessageHtmlLink":"feat: 스케줄러와 Spring Batch를 이용한 데이터 삭제"}},{"before":"8151ea05409bc8bfbbf6139c01410040a38369dc","after":"384b784a53a548fbab13287927262cabeec3c87c","ref":"refs/heads/master","pushedAt":"2024-04-29T14:40:06.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: 스케줄러를 활용한 Spring Batch 구동\n\n- batch.job.enabled: false 설정\n- @EnableScheduling 어노테이션 설정","shortMessageHtmlLink":"feat: 스케줄러를 활용한 Spring Batch 구동"}},{"before":"c6af9de6023ee3cebbcba68d9d22e05a82328c83","after":"8151ea05409bc8bfbbf6139c01410040a38369dc","ref":"refs/heads/master","pushedAt":"2024-04-26T12:08:25.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: Spring Batch를 사용한 파일 읽기/쓰기 사용\n\n- Spring Batch\n- FlatFileItemReader, FlatFileItemWriter 활용","shortMessageHtmlLink":"feat: Spring Batch를 사용한 파일 읽기/쓰기 사용"}},{"before":"c0d3f7ba00abfd98ff58ea9e26c40e7de3de3825","after":"c6af9de6023ee3cebbcba68d9d22e05a82328c83","ref":"refs/heads/master","pushedAt":"2024-04-23T13:15:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: JobExecutionListener를 사용한 리스너 구현","shortMessageHtmlLink":"feat: JobExecutionListener를 사용한 리스너 구현"}},{"before":"906ab7e5b40decdd8b7c50f7f7ea72546efb055e","after":"c0d3f7ba00abfd98ff58ea9e26c40e7de3de3825","ref":"refs/heads/master","pushedAt":"2024-04-22T15:22:00.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"chore: 미적용 파일 커밋\n\n- .gitignore 수정","shortMessageHtmlLink":"chore: 미적용 파일 커밋"}},{"before":"79561a29416b805f1a67b014bd3e302bec3d4c91","after":"906ab7e5b40decdd8b7c50f7f7ea72546efb055e","ref":"refs/heads/master","pushedAt":"2024-04-02T09:48:26.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"feat: CompletableFuture.get() blocking 방식 테스트","shortMessageHtmlLink":"feat: CompletableFuture.get() blocking 방식 테스트"}},{"before":"e9de99378c678e09af08443dce046c4a84c2e8fb","after":"79561a29416b805f1a67b014bd3e302bec3d4c91","ref":"refs/heads/master","pushedAt":"2024-02-24T16:28:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: 스프링 AOP 내부호출 문제 발생 테스트","shortMessageHtmlLink":"test: 스프링 AOP 내부호출 문제 발생 테스트"}},{"before":"0a556506b1c01db4e8f2ee537b96bdd799ac970a","after":"e9de99378c678e09af08443dce046c4a84c2e8fb","ref":"refs/heads/master","pushedAt":"2024-01-28T04:22:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: strategy pattern 예시코드","shortMessageHtmlLink":"test: strategy pattern 예시코드"}},{"before":"7a758dceab0f561ffd8dd3a32ddfc7c42a413e63","after":"0a556506b1c01db4e8f2ee537b96bdd799ac970a","ref":"refs/heads/master","pushedAt":"2024-01-27T11:14:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: template method pattern 예시코드","shortMessageHtmlLink":"test: template method pattern 예시코드"}},{"before":"13deb9dbef40b8334fa2dcd6923c737da306d3b5","after":"7a758dceab0f561ffd8dd3a32ddfc7c42a413e63","ref":"refs/heads/master","pushedAt":"2024-01-26T09:48:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: Map<>으로 동적 필드 요청 받기","shortMessageHtmlLink":"test: Map<>으로 동적 필드 요청 받기"}},{"before":"12c024f81f37d8850947ad521535d4045997ff3f","after":"13deb9dbef40b8334fa2dcd6923c737da306d3b5","ref":"refs/heads/master","pushedAt":"2024-01-20T17:03:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: facade pattern 예시코드","shortMessageHtmlLink":"test: facade pattern 예시코드"}},{"before":"d19b98a4df37b844c13568946d416c68ffe46628","after":"12c024f81f37d8850947ad521535d4045997ff3f","ref":"refs/heads/master","pushedAt":"2024-01-17T18:00:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: @JsonCreator없이 immutable한 객체로 역직렬화하기","shortMessageHtmlLink":"test: @JsonCreator없이 immutable한 객체로 역직렬화하기"}},{"before":"e1b6ac47efcc8044a8399f12ad399c0d3276d858","after":"d19b98a4df37b844c13568946d416c68ffe46628","ref":"refs/heads/master","pushedAt":"2023-12-08T07:00:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: @EnableAsync 적용","shortMessageHtmlLink":"test: @EnableAsync 적용"}},{"before":"4399daf40c89ae6ff13c899fcc26db6d69d5e839","after":"e1b6ac47efcc8044a8399f12ad399c0d3276d858","ref":"refs/heads/master","pushedAt":"2023-12-08T04:17:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: async transaction 동작 테스트코드 작성","shortMessageHtmlLink":"test: async transaction 동작 테스트코드 작성"}},{"before":"e7e4cca6f3664ca1a5f56aa8d17f32bfe5dd9ca0","after":"4399daf40c89ae6ff13c899fcc26db6d69d5e839","ref":"refs/heads/master","pushedAt":"2023-12-03T06:49:18.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: where 1=1 문제","shortMessageHtmlLink":"test: where 1=1 문제"}},{"before":"90080994c10bdc385265da9f62af1431510ad0f9","after":"e7e4cca6f3664ca1a5f56aa8d17f32bfe5dd9ca0","ref":"refs/heads/master","pushedAt":"2023-11-24T07:21:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: FunctionalInterface 사용 테스트","shortMessageHtmlLink":"test: FunctionalInterface 사용 테스트"}},{"before":"a2056d683aff3e2e29aaeb9a12587489e018d2ab","after":"90080994c10bdc385265da9f62af1431510ad0f9","ref":"refs/heads/master","pushedAt":"2023-11-24T00:42:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"add: spring 프로젝트 추가","shortMessageHtmlLink":"add: spring 프로젝트 추가"}},{"before":"da00756445ebf3839f92ce9cedd5259a036b022f","after":"a2056d683aff3e2e29aaeb9a12587489e018d2ab","ref":"refs/heads/master","pushedAt":"2023-11-24T00:25:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: 싱글/멀티쓰레드 환경에서 Producer-Consumer 패턴 테스트","shortMessageHtmlLink":"test: 싱글/멀티쓰레드 환경에서 Producer-Consumer 패턴 테스트"}},{"before":null,"after":"da00756445ebf3839f92ce9cedd5259a036b022f","ref":"refs/heads/master","pushedAt":"2023-11-17T11:52:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eckrin","name":"김영빈","path":"/eckrin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/81168401?s=80&v=4"},"commit":{"message":"test: Interface를 이용한 간접 다중상속","shortMessageHtmlLink":"test: Interface를 이용한 간접 다중상속"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxMToxOTo1NC4wMDAwMDBazwAAAAS8q4Qx","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxMToxOTo1NC4wMDAwMDBazwAAAAS8q4Qx","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0xN1QxMTo1MjowNy4wMDAwMDBazwAAAAOxipgU"}},"title":"Activity · eckrin/various-tests"}