Claude f75860c8dd [문서화] Dispatch 비동기 처리 순서 보장 솔루션 문서 작성
dispatch 비동기 처리 순서 보장 문제와 해결 방법을 체계적으로 정리한 문서를 작성했습니다.

## 작성된 문서

1. README.md - 전체 개요 및 목차
2. 01-problem.md - 문제 상황 및 원인 분석
3. 02-solution-dispatch-helper.md - dispatchHelper.js 솔루션
4. 03-solution-async-utils.md - asyncActionUtils.js 솔루션
5. 04-solution-queue-system.md - 큐 기반 패널 액션 시스템
6. 05-usage-patterns.md - 사용 패턴 및 실전 예제

## 주요 내용

### 문제
- Redux-thunk에서 여러 dispatch 순서가 보장되지 않는 문제
- setTimeout(fn, 0) 임시방편의 한계

### 해결 방법
1. **dispatchHelper.js** (2025-11-05)
   - createSequentialDispatch: Promise 체인 기반 순차 실행
   - createApiThunkWithChain: API 후 dispatch 체이닝
   - withLoadingState: 로딩 상태 자동 관리

2. **asyncActionUtils.js** (2025-11-06)
   - 성공 기준 명확화: HTTP 200-299 + retCode 0/'0'
   - reject 없이 resolve만 사용하여 Promise 체인 보장
   - 타임아웃 지원

3. **큐 기반 패널 액션 시스템** (2025-11-06)
   - queuedPanelActions.js: 패널 액션 큐
   - panelQueueMiddleware.js: 자동 큐 처리
   - 비동기 액션 순차 실행

## 관련 커밋
- 9490d72 [251105] feat: dispatchHelper.js
- 5bd2774 [251106] feat: Queued Panel functions
- f9290a1 [251106] fix: Dispatch Queue implementation
2025-11-10 09:26:40 +00:00
2025-09-12 14:10:43 +09:00
2024-10-14 17:31:11 +09:00
2025-06-30 00:51:34 +00:00
2025-06-30 00:51:34 +00:00

ShopTime

LG ShopTime Project

브랜치 관리 전략

프로젝트는 다음과 같은 브랜치 구조로 관리됩니다:

주요 브랜치

  • main

    • 최종 릴리즈 및 검증이 완료된 소스 코드 보관
    • 매주 목요일: QA 브랜치에서 검증 완료된 코드를 main으로 병합
  • qa

    • 2차 테스트 및 최종 릴리즈 검증용 브랜치
    • 매주 화요일: 배포 진행
    • 매주 수요일: 검증 진행
  • qa2

    • 1차 테스트용(qa2 배포) 소스 코드 보관
    • LG 깃 레포지토리의 QA2 브랜치와 동기화 필수
  • develop

    • 고도화 작업 및 유지보수팀 코드 통합 브랜치
    • 기능 개발 완료 후 코드 리뷰를 거쳐 해당 브랜치로 병합

작업용 브랜치

  • hotfix

    • 유지보수팀 전용 브랜치
    • 수정 완료 후 develop 브랜치로 병합
  • feat/name_v2

    • 고도화 작업팀 전용 브랜치
    • 기능별로 별도 브랜치 생성 필요
    • 예: feat/home_v2, feat/search_v2
    • 작업 완료 후 develop 브랜치로 병합

배포 프로세스

  1. 화요일

    • QA 브랜치 배포
    • QA2 → QA 브랜치 병합
  2. 수요일

    • QA 브랜치 검증 진행
  3. 목요일

    • QA → Main 브랜치 병합
    • Main 브랜치 릴리즈

커밋 메시지 컨벤션

고도화 작업

  • [branch name]Type : 작업내용
  • git commit -m "[home]feat : 선택약관 동의시 배너 나타남"

유지보수 작업

  • [jira task Number]Type : 작업내용
  • git commit -m "[SHOPTIME-4020]fix : pdf open test"

Type

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 코드 포맷팅
  • refactor: 코드 리팩토링
  • test: 테스트 코드
  • chore: 빌드 업무 수정

긴급 배포 프로세스

  1. 긴급 수정 사항 발생 시

    • hotfix 브랜치에서 작업
    • 담당 PM 및 리드 개발자 승인 필수
  2. 긴급 배포 승인 시

    • hotfixqa2 병합
    • QA2 검증 진행
    • 검증 완료 후 qamain 순차적 배포
  3. 배포 후 조치

    • 긴급 배포 내역 문서화
    • 재발 방지 대책 수립
    • develop 브랜치에도 수정사항 반영
Description
No description provided
Readme 177 MiB
Languages
JavaScript 83.3%
Less 16.7%