김민영 프로필 사진

Backend · Full-stack

김민영 · 백엔드·풀스택 엔지니어

데이터 무결성과 운영 효율을 함께 설계하는 백엔드·풀스택 엔지니어

의료 데이터 연동 환경에서 데이터 정합성과 안정성을 우선으로 시스템을 설계해 왔습니다. C# .NET 기반 병원 시스템 개발부터 외부 플랫폼 연동, 저장 프로시저 최적화, 운영 화면 설계까지 수행했으며, PlanIt 프로젝트에서는 아키텍처 설계와 배포까지 리드하며 시스템 신뢰성과 확장성을 강화했습니다.

숫자로 보는 결과

9M
실무 경력 (헬스케어 IT 기업)
30%
쿼리 성능 개선
50%
유지보수 대응 속도 개선
100
Lighthouse SEO 점수

대표 사례

무결성 · 성능 최적화

  1. 데이터 처리 아키텍처 최적화

    사례 1 · 카카오 케어챗 연동

    UNION 기반 조회 로직이 데이터 증가 시 시스템 부하와 응답 지연을 유발

    • 실행 계획 분석으로 인덱스 스캔 저해 요소 제거
    • WHERE 필터 선적용 + 비즈니스 로직 맞춤 프로시저로 쿼리 구조 재설계

    응답 속도 30% 이상 향상 및 대규모 트래픽에서도 안정적 처리 체계 확보

  2. 그룹
    옵션 리스트
    상세 · 선검증 저장

    유지보수 효율화 구조 개편

    사례 2 · 옵션 관리 시스템

    분산된 옵션 관리 체계로 설정 변경 시 프로젝트/위치 탐색 비용이 큰 상태

    • 그룹-옵션 리스트-상세의 3단계 계층형 통합 관리 구조 설계
    • 선 검증 후 저장 프로세스로 충돌·중복 발생 가능성 차단

    운영 부서 기준 유지보수 대응 속도 50% 이상 단축

  3. 의료 데이터 무결성 방어 로직

    사례 3 · 혈당 데이터 연동

    중복 시퀀스 충돌로 누락/오염 가능성이 존재하는 실시간 인터페이스 환경

    • 1차 유효성 검증 + 2차 시퀀스 충돌 방지의 다단계 검증 체계 도입
    • 인터페이스 테이블 누락 없는 저장 보장 구조 설계

    로직 결함으로 인한 누락을 최소화하고 데이터 정확도·의료 안정성 향상에 기여

경력

2025.012025.072026.012026.07
카카오 케어챗 병원 예약/진료 정보 연동 · 헬스케어 IT 기업
병원 옵션 설정/그룹화 관리 화면 · 헬스케어 IT 기업
혈당 기기 연동 및 데이터 관리 · 헬스케어 IT 기업
소셜 스크럼 SaaS · PlanIt
Back-End/풀스택 개발자 과정
2025.09 - 2026.02

헬스케어 IT 기업 — 카카오 케어챗 병원 예약/진료 정보 연동

API 인터페이스 설계 · DB 프로시저 · 연동 테스트

C# WinForms · .NET · MS-SQL · REST API · JSON

  • 카카오 케어챗 플랫폼 연동으로 실시간 예약·대기 순번·진료 내역 조회 기능 구축
  • 다중 JOIN 기반 고성능 프로시저 개발 및 쿼리 튜닝으로 응답 성능 개선
  • API 호출부터 DB 반영까지 End-to-End 통합 테스트로 연동 안정성 확보
2025.07 - 2025.08

헬스케어 IT 기업 — 병원 옵션 설정/그룹화 관리 화면

UI 개발 · 메타데이터 DB 설계

C# WinForms · .NET · MS-SQL

  • 그룹-옵션-상세 3단계 계층 구조로 수백 개 설정값 관리 체계화
  • 관리자 직접 CRUD 가능한 옵션 관리 툴로 유지보수 대응 속도 개선
  • 선 검증 후 저장 프로세스로 설정 충돌·중복 데이터 발생 방지
2026.01 - 2026.02

헬스케어 IT 기업 — 혈당 기기 연동 및 데이터 관리

풀스택 개발 · 데이터 연동 로직 설계

C# WinForms · .NET · MS-SQL

  • 외부 혈당 측정 기기와 병원 DB 간 실시간 인터페이스 설계
  • 중복 시퀀스 방지를 위한 다단계 검증 체계 도입으로 데이터 정합성 강화
  • 중간 테이블 기반 검토·이관 화면 및 원클릭 이관 프로세스 구축
2026.01 - 2026.04

PlanIt — 소셜 스크럼 SaaS

아키텍처 설계 · 배포 리딩 · 게이미피케이션 클라이언트

Next.js · TypeScript · NestJS · FastAPI · PostgreSQL · Unity 6 · C#

  • JSON 매핑 기반 컴포넌트 구조로 유연한 화면 확장성 확보
  • Metadata/Open Graph/Twitter Card 최적화로 Lighthouse SEO 100점 달성
  • 배포 파이프라인 정비를 통해 안정적 릴리스 구조 확립
  • 방꾸미기(Room Customize) 모듈 설계 — 사용자가 자기 공간을 꾸미며 머무는 장치 구현
  • Unity 6 기반 점프게임 미니게임 개발 — 데이터 드리븐 어빌리티·캐릭터 시스템 설계
학력 · 교육
  • 부천대학교 · 컴퓨터소프트웨어 전공 졸업 (2021.03 - 2024.02) · 학점 3.44/4.5
  • 박문여자고등학교 · 졸업
  • (과정평가형) 반응형웹 기반 Back-End/풀스택 개발자 과정 (개발 부트캠프, 2024.09 - 2025.03)

프로젝트

상세는 각 항목에서

지원동기

의료 데이터 무결성을 책임지는 실무를 통해, 작은 데이터 오염이 비즈니스와 사용자에게 치명적 손실로 이어질 수 있음을 현장에서 체감했습니다.

이후 PlanIt 프로젝트에서 아키텍처 설계부터 배포까지 전 과정을 리드하며, 기술적 완성도가 비즈니스 신뢰로 연결되는 흐름을 경험했습니다.

겉으로 보이는 화려함보다 시스템 이면의 견고함을 중시하며, 서비스 확장기의 복잡한 리스크를 기술로 해결하는 팀에 기여하고자 합니다.

  1. 01

    데이터 정합성 중심 설계

    • 예외 상황에서도 누락·충돌을 방지하는 방어적 로직 설계
    • 의료/연동 도메인에서 무결성을 서비스 신뢰도로 연결
  2. 02

    성능 최적화 및 운영 효율

    • 실행 계획 기반 쿼리 튜닝 및 프로시저 최적화 경험
    • 운영 도구 구조화로 유지보수 대응 속도 개선
  3. 03

    빠른 학습과 실무 투입

    • 외부 플랫폼 API 연동부터 DB 반영까지 End-to-End 수행
    • 새로운 서비스 구조를 빠르게 파악하고 안정적 코드 기여

입사 후 포부

  1. 01

    초기 온보딩 기간에 서비스 구조와 코드베이스를 신속히 파악해 안정적인 코드 기여

  2. 02

    지표 기반 성능 최적화와 운영 자동화로 팀의 개발·운영 생산성 강화

  3. 03

    예외 상황을 먼저 고려하는 방어적 설계를 내재화해 서비스 신뢰도 향상

기술

  • .NET
  • Node.js
  • Spring
  • React
  • TypeScript
  • PostgreSQL
  • MySQL
  • Next.js
  • Unity
  • Python
  • Git
  • Vercel
Backend
.NET (C#) · Node.js · Java · Spring Boot · MyBatis · JPA
Frontend
React · TypeScript · JavaScript · HTML5 · CSS3 · jQuery
Database
MS-SQL · PostgreSQL · MySQL · Oracle · Stored Procedure
Infra / API
REST API · JSON · Git · Vercel · Railway
Game / Etc
Unity 6 · C# (Game) · JSP · Thymeleaf · Python

실무 노트

Day 단위 29건

리뷰·설계·운영에서 검증한 것만 Day 단위로 남깁니다. 공부일지가 아니라, 다시 쓸 수 있는 기록입니다.

  1. Day 12026-05-01코드 리뷰

    저장 프로시저 리뷰 — 실행 계획 전에 스키마를 먼저 의심한다

    레거시 MS-SQL 연동 모듈 PR 리뷰

    관찰 ·
    쿼리 튜닝 제안만 올라왔는데, 조인 키 타입 불일치로 인덱스가 아예 타지 않는 케이스였습니다.
    조치 ·
    실행 계획 캡처 전에 스키마·FK·NULL 처리를 표로 정리해 리뷰 코멘트에 첨부. 인덱스 추가 제안은 보류.

    성능 이슈 PR은 '쿼리 문장'보다 데이터 계약(타입·키·NULL) 부터 본다.

    MS-SQL · 리뷰 · 실행 계획

  2. Day 22026-05-02설계

    UI 참조를 SerializeField로 — 코드가 Find로 줍지 않게 한다

    비트코인 시뮬레이터(Unity) 패널 프리팹화 마무리 — UIManager 연결

    관찰 ·
    패널 스크립트가 자식 오브젝트를 이름으로 찾는 구조라, 프리팹 계층을 조금만 바꿔도 런타임 NullReference가 났습니다.
    조치 ·
    패널 내부 UI 참조를 전부 SerializeField로 전환해 Inspector에서 조립하도록 변경 — 계층 변경이 컴파일·프리팹 연결 단계에서 드러나게.

    Unity에서 Find/GetChild 참조는 런타임 지뢰 — 참조는 직렬화 필드로 명시한다.

    Unity · 프리팹 · SerializeField관련 프로젝트

  3. Day 32026-05-04기타

    다크모드 첫 페인트 깜빡임(FOUC) — 테마는 렌더 전에 결정한다

    해영랩 플랫폼 메뉴바 다크모드(ThemeProvider) 적용

    관찰 ·
    새로고침 시 라이트 테마가 한 프레임 먼저 그려진 뒤 다크로 전환되는 깜빡임이 있었습니다. 테마 결정이 클라이언트 마운트 이후라서였습니다.
    조치 ·
    테마 클래스 부착을 hydration 이전으로 옮기고, 마운트 전에는 테마 의존 UI(토글 아이콘)를 렌더하지 않도록 mounted 가드를 추가.

    사용자 설정(테마·언어)은 '첫 페인트 전에 결정'이 기본값 — 마운트 후 보정은 항상 깜빡인다.

    Next.js · next-themes · FOUC관련 프로젝트

  4. Day 42026-05-06설계

    다국어 컨텍스트 — 번역 키가 UI 구조를 따라가면 안 된다

    해영랩 플랫폼 LanguageContext(한/영) 구성

    관찰 ·
    화면 단위로 번역 키를 만들었더니 같은 문구가 페이지마다 중복되고, 문구 수정 시 여러 키를 같이 고쳐야 했습니다.
    조치 ·
    키를 화면 기준에서 도메인 기준(nav.*, product.*, contact.*)으로 재편하고 공통 문구를 한 키로 통합.

    번역 키는 화면이 아니라 의미 단위로 — 화면은 바뀌어도 의미는 남는다.

    i18n · React Context관련 프로젝트

  5. Day 52026-05-07설계

    점프게임 전체 프리팹화 — 되돌린(Revert) 것도 기록이다

    PlanIT 점프게임(Unity) Manager·Player·UI 프리팹화 작업

    관찰 ·
    한 번에 전부 프리팹으로 묶었더니 씬 오브젝트 ↔ 프리팹 내부 참조가 경계에서 끊겨, 어디가 깨졌는지 추적이 안 되는 상태가 됐습니다.
    조치 ·
    커밋을 Revert로 원복하고, Manager → Player → UI 순서로 참조 방향을 한쪽(씬→프리팹)으로 정리하며 단계별 재적용.

    대형 구조 변경은 '한 방'이 아니라 참조 방향 정리 → 단위별 적용 — 되돌리는 결정도 빠를수록 싸다.

    Unity · 프리팹 · 리팩토링관련 프로젝트

  6. Day 62026-05-08설계

    패치노트를 데이터로 — 콘텐츠와 렌더를 분리해야 유지보수가 산다

    제품별 개발자노트·로드맵·패치노트 쇼케이스 데이터(data.ts) 작성

    관찰 ·
    초기엔 JSX에 패치 내역을 직접 썼는데, 제품이 늘수록 마크업 복사가 반복되고 오타 검증이 불가능해졌습니다.
    조치 ·
    PatchNote/RoadmapPhase 타입을 정의해 콘텐츠를 전부 데이터 배열로 이동, 렌더는 타입 기반 공통 컴포넌트 하나로 통일.

    반복되는 콘텐츠는 '컴포넌트 복사'가 아니라 타입 있는 데이터 + 렌더 1개로 만든다.

    TypeScript · 데이터 모델링관련 프로젝트

  7. Day 72026-05-10설계

    CoinList → CoinDetail — 셀은 표시만, 상태는 매니저가 든다

    비트코인 시뮬레이터(Unity) 코인 리스트·상세 패널 구현

    관찰 ·
    리스트 셀 프리팹이 코인 가격을 직접 들고 갱신하니, 상세 패널과 값이 어긋나는 순간이 생겼습니다.
    조치 ·
    가격·보유량 상태는 매니저(단일 소스)에만 두고, 셀·상세 패널은 표시 시점에 조회만 하도록 정리. 셀 프리팹은 재사용 컴포넌트로.

    리스트 UI 버그의 뿌리는 '셀이 상태를 소유'하는 것 — 셀은 뷰, 상태는 단일 소스.

    Unity · UI 아키텍처관련 프로젝트

  8. Day 82026-05-12운영

    모바일 스냅 스크롤 오작동 — 애니메이션 중 리스너가 서로 싸운다

    플랫폼 디테일 페이지 모바일 스크롤 깨짐 제보 대응

    관찰 ·
    스냅 스크롤과 스크롤 진행바 리스너가 동시에 scrollTop을 만지면서, 모바일에서 화면이 튀는 현상이 재현됐습니다.
    조치 ·
    스크롤 '읽기'와 '쓰기'를 분리하고, 프로그래매틱 스크롤 중에는 플래그로 리스너를 무시하게 처리. 진행바는 rAF로 스로틀.

    스크롤 버그는 리스너 목록부터 그린다 — 같은 값을 읽고 쓰는 주체가 둘이면 반드시 싸운다.

    모바일 · 스크롤 · rAF관련 프로젝트

  9. Day 92026-05-13운영

    문의 메일(Resend) — 실패는 사용자에게, 원문은 로그에

    문의 폼 → Resend 이메일 발송 연동

    관찰 ·
    발송 실패 시 사용자는 성공으로 알고 이탈하는데, 서버 로그에는 본문이 없어서 재발송도 불가능한 구조였습니다.
    조치 ·
    API 응답을 실패까지 명시적으로 전달하고, 실패 시 요청 본문을 로그에 남겨 수동 재발송이 가능하게 변경. 클라이언트엔 재시도 안내 문구.

    외부 발송은 '실패했을 때 무엇이 남는가'부터 설계한다.

    Resend · API Route · 에러 처리관련 프로젝트

  10. Day 102026-05-15배포

    robots/sitemap — 색인 정책은 환경변수로 갈라야 안전하다

    플랫폼 SEO 노출 설정(robots·sitemap) 마무리

    관찰 ·
    프리뷰 배포가 검색엔진에 색인되면 운영 도메인과 중복 콘텐츠가 되는 리스크를 확인했습니다.
    조치 ·
    robots를 배포 환경 변수 기준으로 분기해 프로덕션에서만 색인 허용, sitemap은 공개 페이지만 생성하도록 정리.

    SEO 설정은 페이지가 아니라 환경에 묶는다 — 프리뷰는 기본 noindex.

    SEO · robots · sitemap관련 프로젝트

  11. Day 112026-05-18정합성

    22% 과세 정산 — 부동소수점 세금은 반드시 어긋난다

    비트코인 시뮬레이터(Unity) 코인 매도 수익 과세 검증

    관찰 ·
    수익 × 0.22를 매 거래마다 반올림했더니 하루 합산 세액이 검산과 1~2원씩 어긋났습니다.
    조치 ·
    세액 계산을 정산 시점 1회(합산 후 과세)로 옮기고, 검산 테스트(무작위 거래 1,000건 시뮬레이션)를 추가.

    돈 계산 반올림은 횟수를 줄이고 시점을 하나로 — 거래별 반올림 합계는 합계의 반올림이 아니다.

    수치 계산 · 테스트 · Unity관련 프로젝트

  12. Day 122026-05-20설계

    N×N 방 배치 — 좌표계 변환은 한 곳에서만

    비트코인 시뮬레이터(Unity) 방 등급별 가구 배치(회전 포함)

    관찰 ·
    화면 좌표↔그리드 좌표 변환이 드래그·배치·충돌검사 세 곳에 흩어져, 회전 가구에서만 판정이 어긋나는 버그가 나왔습니다.
    조치 ·
    변환·회전·경계검사를 grid 유틸 하나로 통합하고 나머지는 그리드 좌표만 다루게 리팩토링. 회전 케이스 단위 테스트 추가.

    좌표 버그의 8할은 변환 중복 — 변환 함수는 시스템에 하나만 존재해야 한다.

    Unity · 그리드 · 리팩토링관련 프로젝트

  13. Day 132026-05-22설계

    가구 강화(Lv1~5) 밸런스 — 수치는 코드가 아니라 표에 산다

    가구별 코인 확률·생활비 보정 버프 시스템(Unity ScriptableObject)

    관찰 ·
    강화 수치가 코드 상수로 흩어져 있어 밸런스 조정 한 번에 파일 여러 개를 고쳐야 했습니다.
    조치 ·
    버프 수치를 ScriptableObject 데이터 테이블(가구×레벨)로 추출하고 효과 적용은 테이블을 읽는 함수 하나로 통일.

    밸런스 수치는 기획이 만지는 영역 — 코드에서 꺼내 데이터로 두면 조정 비용이 0이 된다.

    Unity · ScriptableObject · 데이터 드리븐관련 프로젝트

  14. Day 142026-05-26정합성

    파산 판정 경계값(0원) — 한 번 겪은 버그는 테스트로 박제한다

    비트코인 시뮬레이터(Unity) 게임오버 조건 회귀 점검

    관찰 ·
    초기에 '0원 무한 생존' 버그(< 0 판정)를 고친 적이 있는데, 판정 로직을 만질 때마다 같은 실수가 재발할 수 있는 구조였습니다.
    조치 ·
    판정을 '현금+코인 평가액 ≤ 0'으로 고정하고, 경계값(정확히 0원·코인만 보유·대출만 보유) 3케이스를 테스트로 박제.

    한 번 겪은 경계값 버그는 테스트가 없으면 반드시 돌아온다.

    테스트 · 경계값 · Unity관련 프로젝트

  15. Day 152026-05-28성능

    Firestore 랭킹 — 쿼리는 인덱스 설계와 한 몸이다

    비트코인 시뮬레이터(Unity) 전체 랭킹(생존 일수 순) 점검

    관찰 ·
    orderBy + where 조합을 바꿀 때마다 복합 인덱스 요구 에러가 났고, 읽기 비용도 상위권 조회에 비해 과했습니다.
    조치 ·
    랭킹 화면 요구를 '상위 100 + 내 순위'로 고정하고, 그에 맞는 복합 인덱스 1개 + limit 쿼리로 축소. 내 순위는 별도 문서로 역정규화.

    NoSQL은 쿼리를 먼저 확정하고 화면 요구 → 인덱스 → 데이터 구조 순서로 내려간다.

    Firestore · 인덱스 · 역정규화관련 프로젝트

  16. Day 162026-05-30기타

    세로 모바일 기준 해상도(390×844) — 앵커 규칙을 먼저 합의한다

    비트코인 시뮬레이터(Unity) 기기별 UI 검수

    관찰 ·
    노치·비율이 다른 기기에서 버튼이 상태바에 겹치거나 하단이 잘리는 패널이 있었습니다.
    조치 ·
    CanvasScaler 기준 해상도를 390×844로 고정하고, 상단은 SafeArea 기준·하단은 앵커 고정 규칙을 패널 전체에 일괄 적용.

    반응형 UI는 컴포넌트마다 고민하지 않는다 — 기준 해상도 + 앵커 규칙을 먼저 문서로 합의.

    Unity · SafeArea · 모바일관련 프로젝트

  17. Day 172026-06-16설계

    업종 예시 10종 — 페이지 복사 대신 '업종 데이터 × 템플릿 1개'

    미용실·펜션·인테리어 등 업종별 예시 페이지 제작 시작

    관찰 ·
    첫 두 페이지를 복사해 만들었더니 섹션 순서 수정이 곧바로 2배 작업이 됐습니다. 10종이면 유지보수가 불가능해집니다.
    조치 ·
    업종별 콘텐츠(문구·이미지·후기)를 데이터 객체로 분리하고 레이아웃 템플릿 1개가 렌더하도록 구조화 — 신규 업종은 데이터 추가만으로 생성.

    3개 이상 반복될 페이지는 처음부터 데이터 × 템플릿으로 — 복사는 2개까지만 허용.

    Next.js · 템플릿화관련 프로젝트

  18. Day 182026-06-18성능

    next/image 업종 썸네일 — sizes 없는 fill은 모바일 트래픽 낭비

    업종 예시 케이스 이미지(case-image) 최적화

    관찰 ·
    fill 이미지에 sizes를 안 주니 모바일에서도 데스크톱 해상도 이미지를 받아, 예시 페이지 LCP가 늦어졌습니다.
    조치 ·
    그리드 폭 기준으로 sizes를 명시하고 above-the-fold 1장만 priority, 나머지는 lazy. 원본은 화면 최대 폭 기준으로 리사이즈해 저장.

    next/image는 sizes까지 써야 완성 — fill + sizes 미지정 = 최대 해상도 강제 다운로드.

    next/image · LCP · 최적화관련 프로젝트

  19. Day 192026-06-20설계

    고객 후기 섹션 — 스키마를 먼저 고정해야 수집이 굴러간다

    예시 페이지 예약문의·고객후기(reviews) 골격 구성

    관찰 ·
    후기마다 있는 필드가 제각각(별점 유무·업종 표기)이라 렌더 분기가 늘고, 나중에 실제 후기로 교체할 기준도 없었습니다.
    조치 ·
    후기 타입(작성자·업종·본문·평점 optional)을 고정하고 placeholder 데이터도 같은 스키마로 작성 — 실데이터 교체가 diff 한 번이 되게.

    더미 콘텐츠도 최종 스키마로 만든다 — 교체 비용은 스키마가 결정한다.

    데이터 모델링 · 콘텐츠관련 프로젝트

  20. Day 202026-06-23기타

    한·일 i18n — 언어별로 '길이'가 디자인을 깨는 지점을 먼저 찾는다

    업종 예시 페이지 한/일 다국어 검수

    관찰 ·
    일본어 문구가 한국어보다 길어지는 구간에서 버튼 줄바꿈·카드 높이 불일치가 발생했습니다.
    조치 ·
    제목·버튼 등 길이 민감 요소에 line-clamp와 min-h를 지정하고, 번역 시 UI 최대 글자수를 키 옆에 주석으로 남기게 규칙화.

    다국어 QA는 번역 정확성보다 레이아웃 내구성부터 — 가장 긴 언어 기준으로 컴포넌트를 잡는다.

    i18n · 레이아웃관련 프로젝트

  21. Day 212026-06-25배포

    sitemap 자동화 — 페이지 추가가 SEO 작업을 만들면 안 된다

    업종 예시 10종 sitemap/robots 반영

    관찰 ·
    예시 페이지를 늘릴 때마다 sitemap을 수동 수정해야 해서 누락이 생겼고, 실제로 2개 페이지가 빠져 있었습니다.
    조치 ·
    sitemap을 업종 데이터 배열에서 생성하도록 변경 — 데이터에 추가하면 페이지·내비·sitemap이 동시에 갱신.

    '추가할 때 고칠 파일이 2개 이상'이면 자동화 대상 — 단일 소스에서 파생시킨다.

    SEO · sitemap · 자동화관련 프로젝트

  22. Day 222026-06-26성능

    MS-SQL 실행 계획 복습 — 이직 대비 기본기 재정리

    면접 대비 — 케어챗 시절 쿼리 튜닝 사례 복기

    관찰 ·
    실무에서 '느려서 고쳤다'로 기억하던 것을 설명하려니, 인덱스 스캔/시크 차이와 WHERE 선적용 근거를 정확히 말로 못 풀었습니다.
    조치 ·
    당시 UNION 조회 개선 사례를 실행 계획 용어로 재구성(시크 전환·필터 선적용·프로시저 분리)하고 표로 정리.

    실무 경험은 용어로 재구성해야 면접에서 재사용할 수 있다 — '빨라졌다'는 근거가 아니다.

    MS-SQL · 실행 계획 · 면접 준비관련 프로젝트

  23. Day 232026-06-27배포

    OG 메타 검수 — 공유 미리보기는 배포 전에 도구로 확인

    업종 예시 페이지 Open Graph/Twitter 카드 정리

    관찰 ·
    OG 이미지 경로가 상대경로라 메신저 공유 미리보기에서 이미지가 비어 보이는 페이지가 있었습니다.
    조치 ·
    OG url·image를 절대 URL로 통일하고, 페이지별 title/description을 업종 데이터에서 생성. 배포 전 미리보기 디버거로 전 페이지 확인.

    OG는 브라우저에선 안 보이는 버그 — 공유 디버거 확인까지가 배포다.

    OG · 메타데이터관련 프로젝트

  24. Day 242026-06-28설계

    C# 도메인 모델을 TS로 — 로직보다 '숫자 규칙'을 먼저 옮긴다

    비트코인 시뮬레이터 Unity → RN 전환 결정, Expo 스캐폴딩·도메인 이식 시작

    관찰 ·
    코인 가격·세금 계산을 그대로 포팅했는데, C#의 정수/반올림 규칙과 JS Number가 달라 잔액이 미세하게 어긋났습니다.
    조치 ·
    돈 계산을 정수(원 단위) 연산으로 고정하고 반올림 시점을 '정산 1곳'으로 모아 Unity 결과와 스냅샷 비교 테스트를 만들었습니다.

    이식은 함수부터가 아니라 수치 규칙(단위·반올림·시점) 합의부터.

    React Native · Expo · 마이그레이션관련 프로젝트

  25. Day 252026-06-29성능

    틱 엔진 이식 — setInterval은 드리프트한다, 기준은 타임스탬프

    스몰틱(30초=게임 1시간) 실시간 경제 엔진 RN 포팅 + 백그라운드 catch-up

    관찰 ·
    setInterval 기반 틱은 백그라운드 전환·JS 스레드 지연으로 수 초씩 밀렸고, 복귀 시 밀린 틱을 어디까지 재생할지도 기준이 없었습니다.
    조치 ·
    '마지막 처리 시각'을 저장해 매 wake마다 경과 시간 ÷ 틱 간격으로 처리 틱 수를 계산하고, catch-up은 최대 24틱(하루치)으로 캡 — 초과분은 요약 정산.

    시간 기준은 타이머 횟수가 아니라 now − lastProcessedAt — 오프라인 보정엔 상한을 건다.

    React Native · 게임 루프 · AppState관련 프로젝트

  26. Day 262026-06-29정합성

    mmkv 세이브 구조 — 로컬 저장에도 스키마 버전이 있어야 한다

    react-native-mmkv 로컬 세이브 + 게임 이어하기/새 게임 설계

    관찰 ·
    이식 중 세이브 필드가 계속 바뀌는데, 구버전 세이브를 읽으면 undefined로 깨질 수 있는 구조였습니다.
    조치 ·
    세이브에 version 필드 + 로드 시 마이그레이션 체인(v1→v2→…)을 넣고, 실패 시 백업 키에 원본 보존 후 새 게임으로 안내.

    로컬 저장도 DB다 — 버전 없는 직렬화는 미래의 나에 대한 부채.

    mmkv · 직렬화 · 마이그레이션관련 프로젝트

  27. Day 272026-06-30설계

    공용 UI 키트 먼저 — 화면 조립은 그 다음이다

    RN 공용 UI 키트(테마·포맷·Button·Card·MoneyText·LineGraph) 후 MVP 화면 조립

    관찰 ·
    Unity UI를 화면 단위로 바로 옮기면 색·금액 포맷·버튼 스타일이 화면마다 복제될 것이 뻔했습니다.
    조치 ·
    테마 토큰과 MoneyText·LineGraph 등 공용 컴포넌트를 먼저 만들고, HUD·코인리스트·상세·입출금·게임오버 화면은 키트 조립으로 구성. 상태는 갱신 주기별로 스토어 분리.

    마이그레이션에서 화면은 마지막 — 토큰·공용 컴포넌트·스토어 경계가 먼저다.

    React Native · 디자인 토큰 · Zustand관련 프로젝트

  28. Day 282026-06-30정합성

    RN Firebase 로그인 — 상태는 이벤트가 진실, 저장값은 캐시

    RN Firebase 연동·네이티브 빌드 셋업, '구글 로그인 안 풀리게' 이슈 대응

    관찰 ·
    로컬에 '로그인됨' 플래그를 저장해 쓰면, 토큰 만료 후에도 로그인 화면을 건너뛰어 랭킹 저장이 조용히 실패할 수 있었습니다.
    조치 ·
    화면 분기를 저장 플래그가 아닌 onAuthStateChanged 이벤트 기준으로 재구성하고, 저장값은 초기 스플래시 단축용 캐시로만 사용.

    인증 상태의 단일 진실은 SDK 이벤트 — 로컬 플래그로 분기하지 않는다.

    Firebase Auth · Google Sign-In · React Native관련 프로젝트

  29. Day 292026-06-30기타

    2개월 회고 — 프리팹화·콘텐츠·이식에서 반복된 규칙 셋

    5~6월 기록 되돌아보기 (Unity 프리팹화 → 업종 예시 → RN 스프린트)

    관찰 ·
    두 달 기록을 훑으니 도메인이 달라도 같은 실수 패턴이 반복됐습니다: 기준(참조·시간·반올림)이 여러 곳에 존재할 때, 콘텐츠가 코드에 박혀 있을 때, 실패 경로를 설계하지 않았을 때.
    조치 ·
    체크리스트 3줄로 압축해 다음 작업 템플릿에 포함: ① 단일 진실(참조·시각·정산은 한 곳) ② 반복 3회면 데이터화 ③ 실패 시 남는 것 먼저 설계.

    기록의 목적은 회고가 아니라 다음 작업의 기본값을 바꾸는 것.

    회고 · 체크리스트

연락

함께 일할 기회를 찾고 있습니다. 백엔드·풀스택 개발, 데이터 연동·검증 시스템, 운영 도구 관련 협업·채용 문의를 환영합니다.