← 블로그로 돌아가기
release작성자: DeepResume 팀읽기: 10분게시일: 2026-04-17

DeepResume 개발 회고: 2026년 4월 초반 기능 업데이트

2026년 4월 이후 각 버전 태그별 기능 업데이트를 정리했습니다. 다국어 지원, 이력서 진단 강화, PDF 출력 최적화, 모바일 대응, 결제 리팩토링, 이력서 워크플로우 개선을 다룹니다.

#릴리즈 노트#다국어#PDF#모바일#이력서 워크플로우

이 글은 2026년 4월 초~중순 각 버전 태그(tag)의 주요 변경사항을 정리한 것입니다. 팀원과 사용자가 개발 흐름을 파악하기 쉽도록 작성했습니다.


v2026.04.02 — PDF 인쇄 전략 및 다국어 기반

PDF 출력 전략 리팩토링 (print pdf strategy)

기존의 Playwright 브라우저 기반 PDF 렌더링 방식과 새로 도입한 WeasyPrint 서버 사이드 렌더링을 병행하는 듀얼 엔진 아키텍처를 구축했습니다:

  • pdfprinter (Playwright): 완전한 CSS 렌더링이 필요한 시나리오를 처리, resume_id + access_token으로 트리거
  • pdf_weasy_printer (WeasyPrint): 브라우저 프로세스 없이 구조화된 JSON에서 직접 PDF 생성—빠르고 리소스 소비가 적음

이 버전에서는 태그 이름으로 자동 배포가 트리거되는 CI 플로우도 활성화되어, 태그를 푸시하면 프로덕션 릴리즈가 자동으로 트리거됩니다.

백엔드 다국어 아키텍처 (PR #33)

백엔드 i18n 통합 방침을 머지했습니다:

  • 각 모듈에 흩어져 있던 중국어 하드코딩을 app/i18n/ 패키지로 추출하여 5개의 JSON 파일(zh-cn, zh-tw, en, ja, ko) 제공
  • app/i18n/loader.py가 통합 인터페이스 get_i18n(), get_labels(), normalize_locale() 제공
  • PDF 및 DOCX 템플릿 빌더가 통합 인터페이스를 통해 레이블을 가져와 다국어 이력서 출력에 대응

v2026.04.02 (3번째 태그) — PDF 템플릿 및 구직 의향 필드

  • PDF 출력용 Jinja2 템플릿(resume.css.j2 / resume.html.j2)을 개선하여 마크다운 리치 텍스트의 PDF 출력 지원
  • 워크스페이스에 구직 의향 입력 필드 추가. 후속 JD 매칭 시 직종 방향 참조에 활용

v2026.04.03 — 프론트엔드 i18n 전면 적용

전체 다국어 프론트엔드 리팩토링 (PR #34, #35)

  • 프론트엔드 전체의 중국어 하드코딩을 t() 호출로 교체. 워크스페이스, 결제, 이력서 폼, 이력서 뷰 컴포넌트를 커버
  • i18n 메시지 파일을 단일 파일에서 8개 비즈니스 도메인 네임스페이스(common, home, auth, workspace, form, resume, error, price)로 분할하고 언어 디렉토리 단위로 관리
  • useLocalePath() 훅을 추가하여 모든 내부 링크가 현재 언어 프리픽스(/en/, /ja/ 등)에 자동으로 적응

모바일 헤더 반응형 디자인 (PR #36)

  • 헤더에 햄버거 메뉴 추가. 모바일에서 펼치면 워크스페이스, 가격, 로그인/회원가입, 언어 전환, 공유 버튼 표시
  • 푸터를 flex-wrap으로 변경하여 소형 화면에서의 넘침 현상 해소

v2026.04.05 — 모바일 헤더 미세 조정

  • 데스크톱과 모바일의 Auth 영역을 독립적인 렌더링 분기로 분리하여 스마트폰의 레이아웃 문제를 완전히 해소
  • 모바일에서 언어 전환(LanguageSwitcher)과 공유 버튼(ShareButton)을 전체 너비 텍스트 행 스타일로 변경

v2026.04.06 — 이력서 진단 강화 및 결제 타임아웃 수정

콘텐츠 완성도 진단

  • 이력서 진단에 콘텐츠 완성도 차원 추가: 이력서의 주요 항목(프로젝트 경험, 스킬, 자기소개) 누락을 자동 감지
  • 콘텐츠 완성도 점수와 구체적인 개선 제안을 생성

결제 모델 타임아웃 수정

  • 모델 응답 시간이 길 때 발생하는 프론트엔드 타임아웃 오류 수정
  • nginx 레이어에 HTTPS 강제 리다이렉트(301) 추가

PDF i18n

  • PDF 내보내기 시 사용자가 선택한 언어에 따라 이력서 섹션 제목을 자동 전환 (예: "경력사항" / "Work Experience" / "职业经历")

v2026.04.07 — 진단 및 재작성 프롬프트 전면 개편

  • 파싱 프롬프트 최적화: 진단 시 원본 경력 항목을 완전히 보존하여 LLM이 분석 중에 컨텍스트를 잃는 것을 방지
  • 재작성 프롬프트 전면 개편: improvement 프롬프트를 처음부터 다시 작성하여 성과 정량화·키워드 정렬·ATS 호환성 3가지 방향을 강화

v2026.04.10 — 직무 확인 단계 (PR #44)

워크스페이스 플로우에 구직 의향 확인 단계 추가:

  • JD 붙여넣기 전에 현재 목표 직종명과 도메인을 확인
  • 기존 이력서와 입력한 직종을 기반으로 초기 직무 매칭 판단을 제시
  • "JD를 직접 붙여넣지만 이력서 목표가 불명확한" 상태로 인한 재작성 방향 오류 방지

동시에 PR #43(모바일 헤더 표시 조정)과 PR #42(이력서 기본 정보에 gender: male/female/unknown 필드 추가)를 머지했습니다.


v2026.04.11 — 타겟 초대

  • 관리자 패널에 타겟 초대 코드 발급 기능 추가. 특정 사용자에게 베타 접근 권한을 수동으로 부여 가능

v2026.04.12 — i18n 패치 및 워크플로우 버그 수정

  • 누락된 i18n 번역 키 보완 (일부 프론트엔드 페이지에서 미번역 필드 표시)
  • 특정 시나리오에서 직무 확인(confirm job) 단계가 예외를 발생시키는 문제 수정
  • Q&A 플로우에서 사용자 답변이 사라지는(user answer lost) 문제 수정
  • 스킬 숙련도 필드를 조정하여 레벨별 표시(초급/중급/고급/전문가) 지원
  • 이력서 스킬 섹션을 최적화하여 키워드 커버리지 힌트를 더 정확하게

v2026.04.13 — 이력서 확인 순서 변경

  • 워크플로우 내 "이력서 내용 확인"과 "JD 입력"의 순서를 교체: 사용자가 먼저 파싱 결과를 확인한 후 JD를 입력하는 순서로 변경. 이력서 파싱 오류로 인한 후속 JD 매칭 오류 방지

v2026.04.15 — 자기소개 필드

  • 이력서 구조에 자기소개(self evaluation) 필드 추가. 진단 및 내보내기 시 독립 섹션으로 표시 가능
  • 프로젝트 경험에 회사명 선택(format company name select)과 시작/종료 월(period to start/end month) 필드를 추가하여 필드 형식 통일

요약

4월의 반복 개발은 3가지 방향에 집중했습니다:

  1. 다국어 전면 실현: 프론트엔드·백엔드 통합 i18n 체계로 간체자·번체자·영어·일본어·한국어를 지원
  2. 이력서 워크플로우 다듬기: 구직 의향 확인 → 이력서 확인 → JD 입력 → 재작성 플로우가 더 명확하고 실수가 줄어드는 설계로
  3. 진단 및 재작성 품질 향상: 프롬프트를 처음부터 다시 작성, 콘텐츠 완성도 진단 구현, 스킬과 자기소개 구조 정비

각 기능의 사용법은 기능 전체 안내를 참고하세요.