Skip to content

Conversation

@hyeonsik971029
Copy link
Collaborator

제곧내

@hyeonsik971029 hyeonsik971029 self-assigned this Dec 13, 2025
@hyeonsik971029
Copy link
Collaborator Author

/gemini review

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @hyeonsik971029, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 API 호출을 최적화하고 앱의 이벤트 로깅 및 분석 인프라를 개선하는 데 중점을 둡니다. 주요 변경 사항으로는 기존 GAManagerSOMEventGAHelperGAEvent로 대체하여 분석 시스템을 리팩토링하고, SOMDialogViewController에 중앙화된 dismiss() 메서드를 도입하여 다이얼로그 관리를 간소화했습니다. 또한, 홈 화면에서 카드 관련 이벤트(좋아요, 댓글, 삭제, 사용자 차단)에 대한 알림 처리 로직을 강화하여 여러 뷰 간의 데이터 일관성과 효율적인 UI 업데이트를 보장합니다.

Highlights

  • 분석 시스템 리팩토링: 기존 GAManagerSOMEventGAHelperGAEvent로 대체하고, 분석 관련 파일을 Utilities/GAHelper 디렉토리로 이동했습니다. 이는 더 구조화된 이벤트 명명을 위한 AnalyticsEventProtocol의 개정을 포함합니다.
  • 중앙화된 다이얼로그 닫기 로직: SOMDialogViewController에 정적 dismiss() 메서드를 구현하고 모든 호출 지점을 이를 사용하도록 업데이트하여 다이얼로그 관리를 간소화했습니다.
  • 홈 화면 데이터 관리 강화: 좋아요, 댓글, 카드 삭제, 사용자 차단 등 실시간 업데이트에 반응하기 위한 새로운 Notification.Name 및 옵저버를 HomeViewController에 도입하여 홈 피드의 일관성을 유지하고 효율적인 데이터 업데이트를 보장합니다.
  • 세분화된 카드 업데이트: BaseCardInfoupdateLikeCntupdateCommentCnt 메서드를 추가하고, HomeViewReactor의 카드 상태 관리(latests, populars, distances)를 더욱 세분화하여 특정 목록을 효율적으로 업데이트할 수 있도록 했습니다.
  • Rx 스케줄러 일관성: 많은 Rx observe(on:) 호출을 MainScheduler.asyncInstance에서 MainScheduler.instance로 표준화하여 잠재적으로 더 즉각적인 UI 업데이트를 가능하게 했습니다.
  • 일반적인 정리(Cleanup) 액션 도입: 여러 리액터에서 resetPushState, resetEntrance, resetCouldPosting, resetState와 같은 다양한 액션/뮤테이션을 보다 일반적인 cleanup 액션/뮤테이션으로 변경하여 상태 관리를 단순화했습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

전반적으로 API 호출을 최적화하기 위한 좋은 리팩토링입니다. 불필요한 API 호출을 줄이기 위해 NotificationCenter를 활용하여 데이터 흐름을 개선하고, 로컬 데이터를 동기화하는 방식은 매우 효율적입니다. 또한 SOMDialogViewController 리팩토링을 통해 코드가 더 깔끔하고 재사용성이 높아졌습니다. 다만, HomeViewReactor에서 데이터를 로드하는 로직에 치명적인 버그가 있어 수정이 필요하며, 몇 가지 성능 개선 및 로직 명확화에 대한 제안을 포함했습니다. 자세한 내용은 각 주석을 확인해주세요.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이 PR은 NotificationCenter를 통해 로컬 상태를 업데이트하여 API 호출을 최적화하는 중요한 개선 사항을 도입하여 앱 성능과 사용자 경험을 향상시킬 것으로 보입니다. GAManager를 GAHelper로 리팩토링하고 SOMDialogViewController.dismiss()로 다이얼로그 해제 로직을 중앙 집중화한 것도 코드 유지보수성과 안정성 측면에서 훌륭한 개선입니다. 몇 가지 제안 사항이 있습니다: 불안정한 딜레이 사용, 임시적인 TODO, 그리고 스케줄러 사용의 일관성 문제입니다. 전반적으로 긍정적인 변화라고 생각합니다.

@hyeonsik971029
Copy link
Collaborator Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

API 호출 최적화와 전반적인 코드 리팩토링을 위한 멋진 PR입니다. 특히 다음과 같은 점들이 인상적입니다:

  • GAEvent를 중심으로 분석 로깅 시스템을 체계적으로 재구성하여 데이터의 일관성과 확장성을 크게 향상시켰습니다.
  • NotificationCenter를 활용한 이벤트 기반 아키텍처를 도입하여 컴포넌트 간의 결합도를 낮추고 상태 동기화를 개선했습니다.
  • 삭제된 콘텐츠를 미리 확인하여 불필요한 API 호출을 줄이는 등 API 사용을 최적화했습니다.
  • SOMCard, DetailViewCell 등 UI 컴포넌트를 리팩토링하여 유지보수성과 성능을 높였습니다.

전반적으로 코드의 품질과 안정성을 크게 향상시키는 훌륭한 변경 사항이라고 생각합니다. 몇 가지 추가 개선을 위한 제안 사항을 아래 주석으로 남겼습니다.

hyeonsik971029 and others added 2 commits December 17, 2025 11:57
- 기존 set을 통한 중복제거는 순서 보장 어려움

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@hyeonsik971029 hyeonsik971029 merged commit 5d110da into develop Dec 17, 2025
1 check passed
@hyeonsik971029 hyeonsik971029 deleted the refacter/optimize-api-call branch December 17, 2025 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants