Home - notCoderJ/job_psychology_test GitHub Wiki

πŸ“œ 직업심리검사 ν”„λ‘œμ νŠΈ λ¦¬νŒ©ν† λ§ κ³„νšμ•ˆ

λ¨Όμ €, λ¦¬νŒ©ν† λ§μ΄ 무엇이고 μ™œ ν•„μš”ν•œμ§€μ— λŒ€ν•΄ μ •λ¦¬ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

λ¦¬νŒ©ν† λ§?

  • μ™ΈλΆ€ λ™μž‘μ— 변화없이 SW λ‚΄λΆ€ ꡬ쑰λ₯Ό κ°œμ„ ν•˜λŠ” κ³Όμ •.
  • κΈ°λŠ₯ μΆ”κ°€κ°€ μ•„λ‹Œ μ˜€λ‘œμ§€ μ½”λ“œ ꡬ쑰 κ°œμ„ μ— 집쀑.
  • SWλ₯Ό 더 μ΄ν•΄ν•˜κΈ° 쉽고 μˆ˜μ •ν•˜κΈ° μš©μ΄ν•˜κ²Œ κ°œμ„ .
  • λͺ¨λ“  것을 미리 μƒκ°ν•˜κΈ°λ³΄λ‹¨ κ°œλ°œν•˜λ©° μ§€μ†μ μœΌλ‘œ 쒋은 λ””μžμΈμœΌλ‘œ κ°œμ„ .

λ¦¬νŒ©ν† λ§ ν•„μš”μ„±

  • λ””μžμΈ κ°œμ„ : 쀑볡 μ½”λ“œλ‚˜ λΆˆν•„μš”ν•œ μž„μ‹œ λ³€μˆ˜, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ 등을 μ œκ±°ν•˜κ³  μ •λˆν•˜λ©΄ μœ μ§€ λ³΄μˆ˜μ„±μ΄ ν–₯상됨.
  • 가독성 ν–₯상: μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ, λ‚΄λΆ€ ꡬ쑰λ₯Ό λͺ…ν™•ν•˜κ²Œ λ§Œλ“€λ©΄ 가독성이 ν–₯상됨.
  • 버그 κ²€μΆœ: λ¦¬νŽ™ν† λ§ κ³Όμ • 쀑 μˆ¨κ²¨μ§„ 버그λ₯Ό λ°œκ²¬ν•  수 μžˆμ–΄ 보닀 μ½”λ“œκ°€ 견고해짐.
  • 개발 속도 ν–₯상: μ½”λ“œμ˜ ꡬ쑰가 λͺ…ν™•ν•˜κ³  κ°„κ²°ν•΄μ§€λ©΄ ν˜‘μ—…μ΄ μ›ν™œν•΄μ§ˆ λΏλ§Œμ•„λ‹ˆλΌ μ½”λ“œ μˆ˜μ • 및 변경이 μš©μ΄ν•΄μ Έμ„œ 개발 속도가 ν–₯상됨.

λ¦¬νŒ©ν† λ§ ν•„μš” μ‹œκΈ°

  • μ‚Όμ§„ κ·œμΉ™: λ™μΌν•œ λ¬Έμ œκ°€ 3번 λ°˜λ³΅λœλ‹€λ©΄ λ¦¬νŒ©ν† λ§μ΄ ν•„μš”!
  • κΈ°λŠ₯ μΆ”κ°€: μ½”λ“œ ꡬ쑰가 λͺ…ν™•ν•˜μ§€ μ•Šμ•„ κΈ°λŠ₯ μΆ”κ°€κ°€ μ–΄λ €μš΄ ꡬ쑰라면 λ¦¬νŒ©ν† λ§μœΌλ‘œ ꡬ쑰 κ°œμ„ μ΄ ν•„μš”!
  • 버그 μˆ˜μ •: 자주 λ°œκ²¬λ˜λŠ” νŠΉμ • 버그λ₯Ό νŒŒμ•…ν•˜κΈ° νž˜λ“€λ‹€λ©΄?! μ½”λ“œ ꡬ쑰가 λ³΅μž‘ν•˜λ‹€λŠ” 뜻으둜 λ¦¬νŒ©ν† λ§μ΄ ν•„μš”!
  • μ½”λ“œ 리뷰: μ½”λ“œ 리뷰 μ „ λ¦¬νŒ©ν† λ§μ„ 톡해 ꡬ쑰λ₯Ό λͺ…ν™•ν•˜κ²Œ λ§Œλ“€λ©΄ 보닀 μ •ν™•ν•œ μ½”λ“œ 리뷰가 κ°€λŠ₯함!

😫 ν˜„μž¬ ν”„λ‘œμ νŠΈ μ½”λ“œμ˜ 문제점 및 κ°œμ„  사항

λ¦¬νŒ©ν† λ§ 진행에 μ•žμ„œ ν˜„μž¬ μ½”λ“œμ˜ 문제점과 λ¦¬νŒ©ν† λ§μ„ 톡해 얻을 수 μžˆλŠ” 점이 무엇인지 νŒŒμ•…ν•˜λŠ” 것은 μ€‘μš”ν•˜κ³ , ν˜„μž¬ ν”„λ‘œμ νŠΈ κ²°κ³Ό μ½”λ“œκ°€ μ§€λ‹Œ λ¬Έμ œμ μ„ λ¦¬νŒ©ν† λ§ ν•„μš”μ„± μΈ‘λ©΄μ—μ„œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λ””μžμΈ κ°œμ„ 

  1. μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ

    ν”„λ‘œμ νŠΈ μ§„ν–‰ 초기 ν•΄λ‹Ή apiκ°€ μ§€μ›ν•˜λŠ” λ‹€μ–‘ν•œ 검사듀을 μΆ”κ°€ν•˜λ €κ³  ν™•μž₯용 μ½”λ“œλ₯Ό μž‘μ„±ν–ˆμ§€λ§Œ, μ‹€μ œ 직업 κ°€μΉ˜κ΄€ 검사와 λ‹€λ₯Έ 검사듀은 κ²°κ³Ό νŽ˜μ΄μ§€ ν˜•μ‹μ— 큰 차이가 μžˆμ–΄ μ‹œκ°„κ΄€κ³„μƒ μ€‘λ‹¨ν•˜μ˜€κ³  ν˜„μž¬ μ‚¬μš©λ˜μ§€ μ•ŠλŠ” μ½”λ“œ μž”μž¬λ“€μ΄ κ·ΈλŒ€λ‘œ λ‚¨μ•„μžˆμŒ.

    // TODO: μš”κ±Έλ‘œ νƒ€μž…λ³„ νŒŒμ‹±!(λͺ¨λ“  검사 ν™•μž₯ν•  λ•Œ...)
    export const getParsedResult = (questionSeq, result) => {
      switch (questionSeq) {
        case TEST_TYPE.JOB_INTEREST_KM:
        case TEST_TYPE.JOB_INTEREST_KH:
        case TEST_TYPE.CAREER_DEVELOPMENT_READINESS:
              // ...κΈ΄ κ΄€κ³„λ‘œ μƒλž΅
    
  2. μ€‘λ³΅λ˜κ³  ν˜Όμž‘ν•œ μŠ€νƒ€μΌ μ½”λ“œ

    νŠΉμ • 기쀀없이 μŠ€νƒ€μΌ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ‹€λ³΄λ‹ˆ 일관성이 μ—†κ³  μŠ€νƒ€μΌ μ½”λ“œκ°€ ν˜Όμž‘ν•˜κ²Œ μž‘μ„±λ˜μ–΄ μ•„λž˜μ™€ 같은 λΉ„μŠ·ν•œ μŠ€νƒ€μΌ μ½”λ“œλ₯Ό μ€‘λ³΅ν•˜μ—¬ μž‘μ„±λ¨.

    duplicate_css

  • κ°œμ„  μ‹œ 이점

    λΆˆν•„μš”ν•œ μ½”λ“œλ“€μ„ μ œκ±°ν•˜κ³  μ€‘λ³΅λ˜λŠ” μŠ€νƒ€μΌ μ½”λ“œλ₯Ό μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ½”λ“œλ‘œ λ³€κ²½ν•˜λ©΄ μ½”λ“œμ˜ 가독성과 μœ μ§€λ³΄μˆ˜μ„±μ΄ 더 ν–₯상될 수 μžˆλ‹€κ³  생각.

가독성 ν–₯상

  1. 포함관계가 λͺ…ν™•ν•˜μ§€ μ•Šμ€ νƒœκ·Έ

    예λ₯Ό λ“€μ–΄ κ²°κ³Ό νŽ˜μ΄μ§€λ₯Ό κ΅¬μ„±ν•˜λŠ” λŒ€λž΅μ μΈ νƒœκ·Έ κ΅¬μ‘°λŠ” μ•„λž˜μ™€ κ°™κ³ , νƒœκ·Έ κ°„ 포함관계λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ μš©λ„μ— λ§žμ§€ μ•ŠλŠ” μ–΄μƒ‰ν•œ 포함관계λ₯Ό μ§€λ‹˜.

    tag_structure

  • κ°œμ„  μ‹œ 이점

    슀크린 리더와 같은 보쑰 기술의 λ™μž‘ 방식을 κ³ λ €ν•΄ μ‚¬μš© λͺ©μ μ— λΆ€ν•©ν•˜λŠ” μ˜¬λ°”λ₯Έ νƒœκ·Έ 포함관계λ₯Ό κ΅¬μ„±ν•˜λ©΄ μ½”λ“œ 해석이 μš©μ΄ν•΄μ§ˆ λΏλ§Œμ•„λ‹ˆλΌ μ‚¬μš©μž 접근성도 κ°œμ„ λ  κ²ƒμœΌλ‘œ 생각.

버그 κ²€μΆœ

  1. Store μ΄ˆκΈ°ν™” 쀑 였λ₯˜ κ²€μΆœ

    κ²°κ³Ό νŽ˜μ΄μ§€ λ‚΄ ''λ‹€μ‹œ 검사 ν•˜κΈ°'' λ²„νŠΌμ„ 클릭 ν›„ Store의 λͺ¨λ“  정보λ₯Ό μ΄ˆκΈ°ν™”ν•  λ•Œ ν˜„μž¬ νŽ˜μ΄μ§€μ˜ μ»΄ν¬λ„ŒνŠΈλ“€μ΄ λ¦¬λžœλ”λ§λ˜λŠ” κ³Όμ •μ—μ„œ ν‘œμ‹œν•  정보듀이 사라져 νŽ˜μ΄μ§€μ— 였λ₯˜κ°€ λ°œμƒν–ˆλ˜ κ²ƒμœΌλ‘œ λ³΄μž„.

    ν˜„μž¬ 각 Reducer의 state μ΄ˆκΈ°ν™” μˆœμ„œλ₯Ό μ‘°μ •ν•˜μ—¬ 였λ₯˜ λ°œμƒμ€ 보이지 μ•Šμ§€λ§Œ, μ’€ 더 ν™•μ‹€ν•œ μ˜ˆμ™Έ μ²˜λ¦¬κ°€ ν•„μš”ν•  κ²ƒμœΌλ‘œ 생각.

    store_init

  • κ°œμ„  μ‹œ 이점

    μΆ”ν›„ λ°œμƒ κ°€λŠ₯성이 μžˆλŠ” 였λ₯˜μ— λŒ€ν•΄ μ˜ˆμ™Έ 처리λ₯Ό μΆ”κ°€ν•¨μœΌλ‘œμ¨ μ½”λ“œλ₯Ό λ”μš± κ²¬κ³ ν•˜κ²Œ λ§Œλ“€ 수 μžˆλ‹€κ³  생각.

  • κ·Έ μ™Έ μΆ”κ°€ κ°œμ„ ν•˜κ³  싢은 사항

    1. ν”„λ‘œμ νŠΈ 완성도λ₯Ό λ†’νž 세뢀적인 κΈ°λŠ₯ μΆ”κ°€
      • 데이터 λ‘œλ“œ 쀑 λ‘œλ”© λ¬Έκ΅¬λ‚˜ μ‹€νŒ¨ μ‹œ μ‹€νŒ¨ μ•Œλ¦Ό ν‘œμ‹œ
      • νŽ˜μ΄μ§€ λ‚΄ λ°˜λ³΅λ˜λŠ” λ¬Έν•­ μ„€λͺ…은 ν•œλ²ˆλ§Œ ν‘œμ‹œν•˜κ³  선택지에 λŒ€ν•œ λΆ€κ°€ μ„€λͺ…을 각 문항에 ν‘œμ‹œ
      • API 응닡 데이터 μœ νš¨μ„± 검사 μ‹œ μ’€ 더 λ§€λ„λŸ¬μš΄ μ˜ˆμ™Έ 처리(예λ₯Ό λ“€μ–΄ interceptors, alert ν•¨μˆ˜ν™”, sagaμ—μ„œ 처리 λ“±...)
      • 검사일 Parsing μ‹œ dayjsλ₯Ό μ μš©ν•˜μ—¬ κΉ”λ”ν•œ μ½”λ“œ μž‘μ„±
      • 슀크둀 λ°œμƒ μ‹œ 문항을 ν΄λ¦­ν•˜λ©΄ λ‹€μŒ 문항이 ν˜„μž¬ λ¬Έν•­ μœ„μΉ˜λ‘œ μŠ€ν¬λ‘€λ˜λ„λ‘ λ³€κ²½!
    2. λ””μžμΈ μš”μ†Œ κ°œμ„ 
      • fullpage.jsλ₯Ό μ μš©ν•˜μ—¬ νŠΈλžœλ””ν•˜κ³  λ‹€μ–‘ν•œ λͺ¨λ°”일 κΈ°κΈ°μ—μ„œλ„ μ–΄μƒ‰ν•˜μ§€ μ•Šμ€ λ°˜μ‘ν˜• λ””μžμΈμœΌλ‘œ κ°œμ„ ! => λΉ„νš¨μœ¨μ μΈ 뢀뢄이 μžˆμ–΄ 제거.
    3. κΈ°μ‘΄ λ™μž‘μ„ μœ μ§€ν•˜λ©° 더 κ°„κ²°ν•˜κ²Œ μ²˜λ¦¬ν•  수 μžˆλŠ” 기술 λ„μž…
      • 비동기 μƒνƒœ 처리λ₯Ό μœ„ν•œ Redux 미듀웨어 λ„μž…(Redux saga)
        • 적용 κ°€λŠ₯ν•œ λΆ€λΆ„: API 처리 κ³Όμ •, μ‚¬μš©μž 이름 μž…λ ₯ 처리(ν˜„μž¬ debounce둜 처리), store μ΄ˆκΈ°ν™” 처리 λ“±.
        • React Router & React Redux μ—°λ™ν•˜κΈ°!
    4. λΆ€κ°€ κΈ°λŠ₯ μΆ”κ°€
      • Kakao, Facebook, Instagram λ“±κ³Ό 같은 OAuth 인증 μΆ”κ°€ 및 검사 κ²°κ³Ό 곡유 κΈ°λŠ₯

πŸ“† λ¦¬νŽ™ν† λ§ κ³„νš

μƒˆλ‘œ λ³€κ²½ μ˜ˆμ •μΈ λ””μžμΈ

1μ°¨ λͺ©ν‘œ: κΈ°μ‘΄ μ½”λ“œ 문제점 κ°œμ„  및 완성도 ν–₯상

이전 μž‘μ—… λ‚΄μ—­

  • μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ 제거
  • νƒœκ·Έ ꡬ쑰화(포함관계가 λͺ…ν™•ν•˜μ§€ μ•Šμ€ νƒœκ·Έ)
  • fullpage.js μ μš©ν•΄μ„œ ꡬ쑰 λ§Œλ“€κΈ°

μ™„λ£Œ μž‘μ—…

  • 데이터 λ‘œλ“œ 쀑 λ‘œλ”© λ¬Έκ΅¬λ‚˜ μ‹€νŒ¨ μ‹œ μ‹€νŒ¨ μ•Œλ¦Ό ν‘œμ‹œ
  • 선택지에 λŒ€ν•œ λΆ€κ°€ μ„€λͺ…을 각 문항에 ν‘œμ‹œ
  • API 응닡 데이터 μœ νš¨μ„± 검사 μ‹œ μ’€ 더 λ§€λ„λŸ¬μš΄ μ˜ˆμ™Έ 처리(react-toast을 ν†΅ν•œ μ—λŸ¬ 문ꡬ ν‘œμ‹œ 및 sagaμ—μ„œ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 처리)
  • Redux-Persistλ₯Ό μ΄μš©ν•΄μ„œ μƒˆλ‘œκ³ μΉ¨ μ‹œμ—λ„ μž‘μ„± 데이터가 μœ μ§€λ˜λ„λ‘!
  • λ‹€μ‹œ κ²€μ‚¬ν•˜κΈ° μ΄ˆκΈ°ν™” λ‘œμ§μ— Redux-Reset 적용

ν˜„μž¬ λ‚¨μ•„μžˆλŠ” μž‘μ—…

  • 검사일 Parsing μ‹œ dayjsλ₯Ό μ μš©ν•˜μ—¬ κΉ”λ”ν•œ μ½”λ“œ μž‘μ„±
  • 슀크둀 λ°œμƒ μ‹œ 문항을 ν΄λ¦­ν•˜λ©΄ λ‹€μŒ 문항이 ν˜„μž¬ λ¬Έν•­ μœ„μΉ˜λ‘œ μŠ€ν¬λ‘€λ˜λ„λ‘ λ³€κ²½!
⚠️ **GitHub.com Fallback** ⚠️