Day 12 - 테스트 커버리지 개선, 모바일 프레젠테이션 버그 2건.
SEO Jing 개발 열두째 날. code-block 테스트 14개 추가로 커버리지 대폭 개선, 모바일 프레젠테이션에서 FullscreenView 방향 전환 문제와 스크롤 멈춤 버그 수정.
어제 만든 퀴즈 컴포넌트의 구조를 변경했다. 기존 구조가 MDX에서 쓰기 불편했는데, props 기반으로 깔끔하게 정리했다.
파일 탐색기가 모바일에서 좀 구렸다. 터치 영역이 너무 작고, 가로 스크롤이 생기는 문제가 있었다. 모바일 반응형을 제대로 수정했다.
코드 블럭에 복사 버튼, 언어 표시, 줄 번호 등 사용성을 높이는 기능들을 추가했다. 모바일에서 코드 블럭을 가로로 눕혀서 볼 수 있는 기능도 구상 중.
모바일 가로 코드 뷰어
스터디에서 PPT를 만들지 말고, 블로그에 발표 모드를 넣자는 아이디어를 실행에 옮겼다. ArticleToolbar에 프레젠테이션 버튼을 추가하고, PresentationView 컴포넌트를 새로 만들었다.
MDX 컨텐츠를 --- 구분선 기준으로 슬라이드 단위로 나누고, 좌우 화살표로 넘길 수 있게 했다. 풀스크린 모드도 지원. 이제 블로그 글 하나가 곧 발표 자료가 된다.
모바일 프레젠테이션 모드
프레젠테이션 유틸 로직을 분리하면서 테스트 코드도 작성했다. presentation.utils.test.ts에 MDX 파싱, 슬라이드 분리 등의 테스트를 추가. ArticleQuiz 컴포넌트 테스트도 작성했다.
유틸 함수들도 별도 파일로 분리하고, vitest.config.ts에 테스트 설정을 추가. 커밋 로그를 보면 테스트 오류 수정 → 배포 오류 수정이 연달아 있는데, CI에서 터진 걸 잡느라 좀 고생했다.
씨랩 스터디 1~4주차 자료를 모두 작성했다. 내일이 첫 대면 날인데, 드디어 준비가 끝난 느낌. 해커톤 마인드로 10일간 달려왔는데, 블로그도 만들고 스터디 자료도 완성했다. 나름 성공적.
Post Q&A
Day 9 - 프레젠테이션 모드, 코드블럭 개선, 테스팅 전체를 기준으로 질문과 피드백을 받아요.답을 본 뒤에는 이 내용을 댓글로 달아서 서징에게도 물어볼 수 있어요. 작성자가 직접 볼 수 있어요!
SEO Jing 개발 열두째 날. code-block 테스트 14개 추가로 커버리지 대폭 개선, 모바일 프레젠테이션에서 FullscreenView 방향 전환 문제와 스크롤 멈춤 버그 수정.
SEO Jing 개발 열한째 날. PC 프레젠테이션 확대/축소 컨트롤 추가, 모바일 orientation 판단 로직 개선, FullscreenView를 독립 컴포넌트로 분리 및 PC 대응.
SEO Jing 개발 열째 날. 프레젠테이션 모드의 모바일 UX 문제들을 전면 수정. 퀴즈·코드블록·이미지·포스트목록 처리 개선, 롱프레스 UX 및 하단 바 레이아웃 안정화. 모바일 뷰포트·리스트 분할 문제 수정, 채움 비율 보수적으로 조정, 포스트 탐색기 자연 정렬 적용.
SEO Jing 개발 아홉째 날. 프레젠테이션 기능 추가, 퀴즈 구조 변경, 모바일 반응형, 코드블럭 사용성, 테스팅 도입.
SEO Jing 개발 여덟째 날. 아티클 퀴즈 디자인시스템 구현과 스터디 대면 자료 작성.
SEO Jing 개발 일곱째 날. Front Matter CMS 설치와 관련 게시물 이동 탐색기 구현.
SEO Jing 개발 여섯째 날. 데스크탑 비율 수정과 씨랩 스터디 사전 진단 자료 작성.
SEO Jing 개발 다섯째 날. shiki를 rehype-prism-plus로 교체하고, gray-matter 직접 구현, MDX 모듈화, 페이지 내 검색, 테이블 디자인시스템까지.
SEO Jing 개발 넷째 날. lint, codecov, Cloudflare 배포, fs 런타임 이슈.
CLI 코드 리뷰에서 받은 피드백과 전체 코드 수정 계획을 정리했다.
localStorage만으로 글 읽기 추적, 스크롤 진행률, 댓글 감지를 구현한 과정을 정리했다.
블로그 디테일 페이지에서 MDX를 렌더링하기 위해 검토한 라이브러리들과 최종 선택 과정.
SEO Jing 개발 셋째 날. MDX 라이브러리 이슈, 반응형, 코드블럭, 댓글, 다크모드, 코드 리뷰.
디자인 시스템 구현 시 파일 구조, 디자인 토큰, 유의 사항을 정리했다.
Tailwind v4 환경에서 폰트가 메인 페이지에서만 적용되지 않던 원인과 Hydration Mismatch 이슈를 정리했다.
MDX 파일의 경로 탐색 로직과 콘텐츠 트리 생성 과정을 정리했다.
MDX 파일 구조를 JSON으로 변환하기 위해 Node.js의 fs 모듈을 배워봤다.
SEO Jing 개발 둘째 날. 디자인 시스템 확장, 블로그 스켈레톤, 폰트 이슈 해결.
SEO Jing 프로젝트의 기술 스택 선정과 전체적인 개발 플로우 정리.
Storybook의 사용법과 디자인 시스템 개발에서의 장점을 정리했다.
MDX의 개념과 블로그에서 활용하는 이유를 정리했다.
SEO Jing 개발 첫째 날. 디자인 컨셉 설정과 디자인 시스템 구축을 시작했다.
SEO Jing을 개발하게 된 이유입니다.
프로젝트가 중단되는 이유에 대한 자기 회고입니다.