{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":590751904,"defaultBranch":"main","name":"Advanced-Another-Art","ownerLogin":"sjiwon","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-19T05:38:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/51479381?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1702285890.0","currentOid":""},"activityList":{"items":[{"before":"6c1cea3772f18e8ae89e4a80215973785f80c928","after":"07c0976f549a48d81914b77560669c965d2210a4","ref":"refs/heads/main","pushedAt":"2024-03-30T13:41:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: Auction findByIdWithRecords -> findById","shortMessageHtmlLink":"refactor: Auction findByIdWithRecords -> findById"}},{"before":"ed704e1048e7d3cc79e52526559d552717bb3e45","after":"6c1cea3772f18e8ae89e4a80215973785f80c928","ref":"refs/heads/main","pushedAt":"2024-03-22T12:27:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"e1a80d92610dfc4163a756c04c2cd7386215b561","after":"ed704e1048e7d3cc79e52526559d552717bb3e45","ref":"refs/heads/main","pushedAt":"2024-03-22T11:24:58.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: ArtBasicQueryRepository 구현체 QueryDsl -> jOOQ 전환","shortMessageHtmlLink":"refactor: ArtBasicQueryRepository 구현체 QueryDsl -> jOOQ 전환"}},{"before":"ec39a8878b87e858931c3029f9c1cdb27ad02e42","after":"e1a80d92610dfc4163a756c04c2cd7386215b561","ref":"refs/heads/main","pushedAt":"2024-03-20T13:31:11.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 로깅 메커니즘, Exception 상속 구조 리팩토링","shortMessageHtmlLink":"refactor: 로깅 메커니즘, Exception 상속 구조 리팩토링"}},{"before":"76b6fa3a6029b9d37c6c293dca17f2c15a4aad5c","after":"ec39a8878b87e858931c3029f9c1cdb27ad02e42","ref":"refs/heads/main","pushedAt":"2023-12-22T07:48:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 중복 체크 API 단일화","shortMessageHtmlLink":"refactor: 중복 체크 API 단일화"}},{"before":"632242a7bec125562d8af214d02be70b54de5c41","after":"76b6fa3a6029b9d37c6c293dca17f2c15a4aad5c","ref":"refs/heads/main","pushedAt":"2023-12-12T13:31:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[feat] Redis 분산락 Timeout이 발생하고 DB Transaction이 유지될 경우 Optimistic Lock을 활용해서 동시성 문제를 제어한다 (#22)\n\n* refactor: Redis 분산락 Timeout 발생 시 작품 구매에 대한 동시 Insert DataIntegrityViolationException catch\n\n* refactor: 경매 입찰 Redis 분산락 Timeout을 고려한 Optimistic Lock 적용","shortMessageHtmlLink":"[feat] Redis 분산락 Timeout이 발생하고 DB Transaction이 유지될 경우 Optimistic Lock…"}},{"before":"ba80aae743fbb7c8cfa3e6b04a32bf8906f82c03","after":null,"ref":"refs/heads/refactor/redis-distributed-lock-timeout-optimistic-lock","pushedAt":"2023-12-11T09:11:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}},{"before":"8ea5a0030ed23464d0a57f69aef7ca166eed9817","after":"632242a7bec125562d8af214d02be70b54de5c41","ref":"refs/heads/main","pushedAt":"2023-12-11T09:11:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[feat] Redis 분산락 Timeout이 발생하고 DB Transaction가 유지될 경우 Optimistic Lock을 활용해서 동시성 문제를 제어한다 (#22)\n\n* refactor: Redis 분산락 Timeout 발생 시 작품 구매에 대한 동시 Insert DataIntegrityViolationException catch\r\n\r\n* refactor: 경매 입찰 Redis 분산락 Timeout을 고려한 Optimistic Lock 적용","shortMessageHtmlLink":"[feat] Redis 분산락 Timeout이 발생하고 DB Transaction가 유지될 경우 Optimistic Lock…"}},{"before":null,"after":"ba80aae743fbb7c8cfa3e6b04a32bf8906f82c03","ref":"refs/heads/refactor/redis-distributed-lock-timeout-optimistic-lock","pushedAt":"2023-12-11T09:08:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 경매 입찰 Redis 분산락 Timeout을 고려한 Optimistic Lock 적용","shortMessageHtmlLink":"refactor: 경매 입찰 Redis 분산락 Timeout을 고려한 Optimistic Lock 적용"}},{"before":"0d2dbd4cccb2904c083483c3f138c0d5520c4ca0","after":"8ea5a0030ed23464d0a57f69aef7ca166eed9817","ref":"refs/heads/main","pushedAt":"2023-12-08T16:03:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: PurchaseArtUseCase 구매 & 포인트 적용 로직 수정","shortMessageHtmlLink":"refactor: PurchaseArtUseCase 구매 & 포인트 적용 로직 수정"}},{"before":"28b95697935961a42c1e8886d50500a4b58365f9","after":"0d2dbd4cccb2904c083483c3f138c0d5520c4ca0","ref":"refs/heads/main","pushedAt":"2023-11-22T06:34:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"update submodule","shortMessageHtmlLink":"update submodule"}},{"before":"4a0f902a002857a40ab8a974ff52fefe3fc7f8b0","after":"28b95697935961a42c1e8886d50500a4b58365f9","ref":"refs/heads/main","pushedAt":"2023-11-21T02:11:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: remove axios.js axiosWithRefreshToken","shortMessageHtmlLink":"refactor: remove axios.js axiosWithRefreshToken"}},{"before":"5362e7e430286e3586d3d3cbad03ae108dba11c4","after":"4a0f902a002857a40ab8a974ff52fefe3fc7f8b0","ref":"refs/heads/main","pushedAt":"2023-11-21T02:09:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"resolve conflict","shortMessageHtmlLink":"resolve conflict"}},{"before":"ea94e1305946c0e1b594ed27079562c8a1249f2c","after":null,"ref":"refs/heads/refactor/fe-api-and-token-response","pushedAt":"2023-11-21T02:06:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}},{"before":"6a9787c742d4d29a788eeb1f0e8224ad864be07e","after":"5362e7e430286e3586d3d3cbad03ae108dba11c4","ref":"refs/heads/main","pushedAt":"2023-11-21T02:06:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[refactor] 토큰 응답 구조 및 Frontend API 호출 로직을 수정한다 (#21)\n\n* style: optimize import\r\n\r\n* feat: HTTP 헤더, 쿠키에 AccessToken/RefreshToken을 작성하는 컴포넌트 구현\r\n\r\n* chore: 더미 데이터 수정\r\n\r\n* refactor: 로그인 관련 Token 처리 방식 수정\r\n\r\n- JSON -> Header로 응답받기\r\n\r\n* style: optimize\r\n\r\n* refactor: axiosWithAccessToken -> axios\r\n\r\n* refactor: swagger alias path ignore 추가\r\n\r\n* feat: API 상수화\r\n\r\n* refactor: Header, Footer 정리\r\n\r\n* refactor: MainView fetch 구조 수정\r\n\r\n* refactor: 로그인 API Path 상수 적용\r\n\r\n* refactor: 회원가입 구조 수정\r\n\r\n* refactor: 작품 등록 구조 수정\r\n\r\n* refactor: api.js path variable function\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: 작품 조회 관련 Card 구조 수정\r\n\r\n* chore: S3 작품 이미지 위치 수정 (cloudfront x)\r\n\r\n* chore: update submodule\r\n\r\n* chore: Art 더미 데이터 url 수정\r\n\r\n* refactor: 응답 Authorization 헤더에서 토큰 추출해서 axios request 적용\r\n\r\n* fix: Bearer 파싱 적용\r\n\r\n* refactor: 인증 정보 만료 시 memberStore reset\r\n\r\n* refactor: 토큰 재발급 관련 AccessToken ExtractPayload memberId 적용","shortMessageHtmlLink":"[refactor] 토큰 응답 구조 및 Frontend API 호출 로직을 수정한다 (#21)"}},{"before":null,"after":"ea94e1305946c0e1b594ed27079562c8a1249f2c","ref":"refs/heads/refactor/fe-api-and-token-response","pushedAt":"2023-11-21T02:03:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 토큰 재발급 관련 AccessToken ExtractPayload memberId 적용","shortMessageHtmlLink":"refactor: 토큰 재발급 관련 AccessToken ExtractPayload memberId 적용"}},{"before":"012f7ea0056fc65a5e6b06edf88ce804ab75611f","after":"6a9787c742d4d29a788eeb1f0e8224ad864be07e","ref":"refs/heads/main","pushedAt":"2023-11-19T12:06:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 정적 리소스, swagger 관련 path security ignore","shortMessageHtmlLink":"refactor: 정적 리소스, swagger 관련 path security ignore"}},{"before":"38ddae5eef60f3e1a9848364164c9b3d64378c5c","after":"012f7ea0056fc65a5e6b06edf88ce804ab75611f","ref":"refs/heads/main","pushedAt":"2023-11-14T08:26:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"5ab47f18c7e7395f7cd1112c3ba8dda0a5b58d2a","after":null,"ref":"refs/heads/infra/re-action","pushedAt":"2023-11-14T08:23:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}},{"before":"6ab139de572c5c269d463c04b40ea102bb4df85a","after":"38ddae5eef60f3e1a9848364164c9b3d64378c5c","ref":"refs/heads/main","pushedAt":"2023-11-14T08:22:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[infra] Github Actions 파이프라인을 수정하고 AWS 배포 환경을 구축한다 (#20)\n\n* remove: RestAssured 관련 의존성, 코드 제거\r\n\r\n* feat: AWS SES 의존성 추가, SES 전용 EmailSender 구현\r\n\r\n* chore: prod 환경 monitoring docker-compose 추가\r\n\r\n* chore: 배포 스크립트 추가\r\n\r\n* infra: appspec.yml 작성, CI/CD 파이프라인 수정","shortMessageHtmlLink":"[infra] Github Actions 파이프라인을 수정하고 AWS 배포 환경을 구축한다 (#20)"}},{"before":null,"after":"5ab47f18c7e7395f7cd1112c3ba8dda0a5b58d2a","ref":"refs/heads/infra/re-action","pushedAt":"2023-11-14T08:21:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"infra: appspec.yml 작성, CI/CD 파이프라인 수정","shortMessageHtmlLink":"infra: appspec.yml 작성, CI/CD 파이프라인 수정"}},{"before":"d4280e0ba8c21c04272b863950ed590161e5f2ab","after":"6ab139de572c5c269d463c04b40ea102bb4df85a","ref":"refs/heads/main","pushedAt":"2023-11-13T04:39:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"eb8eee210bda29f6ec14d8e86e55fa96a94914fb","after":null,"ref":"refs/heads/feat/concurrency-control","pushedAt":"2023-11-13T04:28:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}},{"before":"7d76063d9b9ec6fa5eb993a0ab19550e5cc1b3b6","after":"d4280e0ba8c21c04272b863950ed590161e5f2ab","ref":"refs/heads/main","pushedAt":"2023-11-13T04:28:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[feat] 경매 입찰 & 작품 구매에 대한 동시성 문제를 해결한다 (#19)\n\n* test-fix: ResetPasswordUseCaseTest loginId -> password 오류 수정\r\n\r\n* test: createMember 로직 리팩토링\r\n\r\n* chore: Redisson 의존성 추가\r\n\r\n* feat: Redisson Client를 통한 pub/sub 기반 동시성 제어 로직 구현\r\n\r\n* chore: RedisConfiguration 수정\r\n\r\n* feat: SpEL을 활용한 DistributedLockNameGenerator\r\n\r\n* rename: LoggingAspect -> LoggingAop\r\n\r\n* feat: 분산락 AOP 메커니즘 적용\r\n\r\n* feat: 경매 입찰, 작품 구매 로직에 `@DistributedLock` 적용\r\n\r\n* feat: MySQL Named Lock 활용 구현 추가","shortMessageHtmlLink":"[feat] 경매 입찰 & 작품 구매에 대한 동시성 문제를 해결한다 (#19)"}},{"before":null,"after":"eb8eee210bda29f6ec14d8e86e55fa96a94914fb","ref":"refs/heads/feat/concurrency-control","pushedAt":"2023-11-13T04:26:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"feat: MySQL Named Lock 활용 구현 추가","shortMessageHtmlLink":"feat: MySQL Named Lock 활용 구현 추가"}},{"before":"9e434f4b1d54e0c5c73ddb9d86f99c848a817cb4","after":"7d76063d9b9ec6fa5eb993a0ab19550e5cc1b3b6","ref":"refs/heads/main","pushedAt":"2023-11-11T06:43:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"refactor: 메일 비동기 처리 ThreadPool 설정 수정","shortMessageHtmlLink":"refactor: 메일 비동기 처리 ThreadPool 설정 수정"}},{"before":"8ad689ff306fcf67d85bdbca9854e883e993d463","after":null,"ref":"refs/heads/refactor/mail-async","pushedAt":"2023-11-10T13:25:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}},{"before":"f262e408212ba82a87381eacd1808406850cb40c","after":"9e434f4b1d54e0c5c73ddb9d86f99c848a817cb4","ref":"refs/heads/main","pushedAt":"2023-11-10T13:25:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"[refactor] 인증 번호 메일 전송에 비동기를 적용함으로써 성능을 개선한다 (#18)\n\n* style: 불필요한 sout 제거\r\n\r\n* chore: 메일 전송과 관련된 debug 설정 제거\r\n\r\n* feat: Async ThreadPool 설정 및 메일 전송 비동기 적용","shortMessageHtmlLink":"[refactor] 인증 번호 메일 전송에 비동기를 적용함으로써 성능을 개선한다 (#18)"}},{"before":null,"after":"8ad689ff306fcf67d85bdbca9854e883e993d463","ref":"refs/heads/refactor/mail-async","pushedAt":"2023-11-10T13:24:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"},"commit":{"message":"feat: Async ThreadPool 설정 및 메일 전송 비동기 적용","shortMessageHtmlLink":"feat: Async ThreadPool 설정 및 메일 전송 비동기 적용"}},{"before":"513bbe4d6b3f4b572cf6ef3e7910de6690a2c98d","after":null,"ref":"refs/heads/feat/account-auth","pushedAt":"2023-11-10T11:25:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sjiwon","name":"JiWon Seo","path":"/sjiwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51479381?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEI1SOLgA","startCursor":null,"endCursor":null}},"title":"Activity · sjiwon/Advanced-Another-Art"}