-
Notifications
You must be signed in to change notification settings - Fork 1
[RELEASE-20260131] #201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RELEASE-20260131] #201
Conversation
- 이력서 기반 면접 질문 생성 API 및 상태 관리 로직 추가 - 면접 질문 생성 폼 및 히스토리 컴포넌트 구현 - 이력서 기반 면접 결과 페이지 및 모드 선택 모달 추가 - 관련 타입 및 이벤트 정의 추가 - .gitignore에 sitemap-*.xml 추가
- 이력서 기반 면접 히스토리 컴포넌트 및 모드 선택 모달 구현 - 선택 섹션에 이력서 기반 면접 및 평가 결과 추가 - 이력서 평가 폼에서 FileList 검증 로직 개선 - 관련 타입 및 이벤트 정의 추가
- 아카이브 미리보기 컴포넌트 및 PDF 뷰어 추가 - 선택 섹션에 아카이브 옵션 추가 - react-pdf 라이브러리 통합 및 PDF 파일 로드 기능 구현 - canvas 모듈에 대한 webpack 설정 추가
- useInfiniteQuery를 사용하여 이력서 기반 면접 생성 기록을 무한 스크롤로 로드하도록 개선 - 페이지 매개변수를 관리하는 새로운 쿼리 키 추가 - 로딩 상태를 표시하는 로더 컴포넌트 추가 및 페이지네이션 버튼 제거
Summary of ChangesHello @alsgud8311, 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! 이 Pull Request는 사용자 대시보드에 이력서 및 포트폴리오와 관련된 강력한 새 기능을 도입합니다. 사용자는 이제 자신의 문서를 업로드하여 AI 기반 평가를 받고, 맞춤형 면접 질문을 생성하며, 아카이브된 파일을 편리하게 미리 볼 수 있습니다. 이러한 변경 사항은 사용자에게 더 풍부하고 통합된 경험을 제공하여 경력 개발 과정을 지원하는 것을 목표로 합니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe 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
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 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
|
🛠️ Build SummaryStatus: ✅ SUCCESS 📋 Build Output (마지막 45줄)🤖 Generated by GitHub Actions at Sat Jan 31 14:10:06 UTC 2026 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
이번 PR은 이력서 및 포트폴리오 미리보기, 평가 결과 조회, 면접 질문 생성 결과 조회 등 마이페이지 관련 신규 기능 추가를 중심으로 이루어졌습니다. 전반적으로 코드가 잘 구조화되어 있으며, React Query를 활용한 데이터 페칭과 커스텀 이벤트 에미터를 통한 백그라운드 작업 상태 업데이트 등 좋은 패턴을 사용하고 있습니다. 다만, API 클라이언트에서의 코드 중복 및 일부 디버깅용 코드 잔여 등 몇 가지 개선점을 발견했습니다. 이러한 부분들을 수정하면 코드의 유지보수성과 품질이 더욱 향상될 것입니다.
| const instance = axios.create({ | ||
| baseURL: process.env.NEXT_PUBLIC_API_BASE_URL + "/resumes/evaluations", | ||
| withCredentials: true | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > | ||
| ) => { | ||
| const requestId = createRequestId(response.config); | ||
| console.log(response.data); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const instance = axios.create({ | ||
| baseURL: process.env.NEXT_PUBLIC_API_BASE_URL + "/interviews/resume-based", | ||
| withCredentials: true | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 파일과 다른 API 관련 파일들에서 axios.create를 사용하여 유사한 Axios 인스턴스를 여러 번 생성하고 있습니다. 이는 코드 중복을 유발하고 유지보수를 어렵게 만들 수 있습니다. 공통된 설정을 가진 중앙 API 클라이언트 유틸리티를 만들어 재사용하는 것을 고려해보세요. 예를 들어, 기본 URL과 withCredentials 설정을 포함하는 기본 인스턴스를 만들고, 각 API 함수에서 이를 가져와 사용할 수 있습니다.
// 예시: api/client.ts
import axios from 'axios';
export const apiClient = axios.create({
baseURL: process.env.NEXT_PUBLIC_API_BASE_URL,
withCredentials: true,
});이렇게 하면 각 API 파일에서 apiClient를 import하여 apiClient.get(...), apiClient.post(...)와 같이 일관되게 사용할 수 있습니다.
| }; | ||
|
|
||
| const handleDocumentLoadSuccess = ({ numPages }: { numPages: number }): void => { | ||
| console.log('numPages', numPages); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| pageNumber, | ||
| onLoadSuccess | ||
| }: PdfViewerProps): JSX.Element { | ||
| // const [isLoading, setIsLoading] = useState(true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| onLoadSuccess={({numPages}) => | ||
| { | ||
| onLoadSuccess({ numPages }); | ||
| }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const formData = generateFormData(data); | ||
| mutation.mutate(formData); | ||
| } catch (error) { | ||
| console.log(error); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 Lighthouse Report for TEST1📅 Date: 1/31/2026
📊 Performance Details
🚀 Lighthouse Report for TEST2📅 Date: 1/31/2026
📊 Performance Details
🚀 Lighthouse Report for TEST3📅 Date: 1/31/2026
📊 Performance Details
🚀 Lighthouse Report for TEST4📅 Date: 1/31/2026
📊 Performance Details
🚀 Lighthouse Report for TEST5📅 Date: 1/31/2026
📊 Performance Details
|
[RELEASE-20260131]
작업사항
마이페이지