studiobaton log//--

ABOUT US

  • ABOUT
  • TEAM

BLOG

  • STORIES
  • LOGS
  • UPDATES
© 2026 studiobaton·Built by @coolwithyou
3월 27일 (금요일)· 21일 전

SaaS의 뒷면 — Super Admin 대시보드와 AI 크레딧 결제를 만드는 일

내부 개발 도구 확장 super admin에 활동 로그 타임라인, Sentry/Vercel 모니터링 대시보드를 추가하고, AI 크레딧 추가 구매 플로우를 4개 Phase에 걸쳐 완성한 하루. 익스텐션 콘텐츠 스크립트 미주입 버그도 해결.

추한
쇼핑몰 G내부 개발 도구 확장외 1개
+10570/-663
3월 26일 (목요일)· 22일 전

버그를 일부러 만드는 날 — 데모 시나리오 10개와 멤버 관리 재설계

내부 개발 도구 확장에 웹 QA 대표 에러 10가지를 재현하는 튜토리얼 데모 시나리오를 구축하고, 멤버 비활성화/재활성화와 시트 관리 UI를 7개 Phase에 걸쳐 완성한 하루.

한추
내부 개발 도구 확장쇼핑몰 G외 1개
+10147/-592
3월 25일 (수요일)· 23일 전

107개의 커밋, 하나의 목표 — 내부 개발 도구를 세계로 보내는 날

내부 개발 도구 확장 전체에 next-intl 기반 다국어화를 적용하고, 플랜 구조를 Solo/Pro/Enterprise 3단계로 재설계하고, Chrome Web Store 심사 제출을 준비한 하루. 107개 커밋이 하나의 방향을 가리킨다.

한추
내부 개발 도구 확장온라인 쇼핑몰 E외 3개
+41172/-10352
3월 24일 (화요일)· 24일 전

33,000줄의 하루 — 내부 개발 도구가 '제품'이 되어가는 과정

내부 개발 도구 확장에 GitHub Ghost User 시스템, 칸반 드래그 순서 변경, 공개 이슈 공유 링크 등 제품 수준의 기능들이 대거 추가된 하루. 세션 리플레이 진행바와의 세 번에 걸친 버그 수정기도 함께.

추한
쇼핑몰 G온라인 쇼핑몰 T외 2개
+33140/-2105
3월 23일 (월요일)· 25일 전

하드코딩된 이메일 주소를 지우는 데 하루가 걸린 이유

쇼핑몰 J 관리시스템의 하드코딩된 이메일 권한을 역할 기반으로 전환하며 2,500줄을 순삭제하고, 그랑핸드 마이페이지 QA와 스탬핑 기능을 마무리하고, 내부 도구의 세션 리플레이 트리밍과 칸반 보드 레이아웃을 개선한 하루.

한추
쇼핑몰 J 관리시스템쇼핑몰 G외 5개
+5932513/-5107
3월 20일 (금요일)· 28일 전

이미지 한 장 붙여넣기 위해 세 번 싸웠다 — 그리고 방은 벽을 뚫고 자란다

PlateEditor 이미지 업로드를 DOM 해킹에서 Plate 공식 API, 최종적으로 PlaceholderPlugin까지 세 번의 리팩토링으로 완성하고, 방 시스템의 폴리곤 직접 병합과 다크모드 Surface 5단계 계층 구조를 구현한 37커밋의 금요일 기록.

한추
내부 개발 도구 확장쇼핑몰 G외 1개
+36685/-1649
3월 18일 (수요일)· 30일 전

고쳐놓고 지우는 용기, 그리고 숨겨진 데이터에 빛을 비추는 일

내부 개발 도구 확장에서 화면 녹화 버그를 수정한 직후 기능 자체를 제거하고, 숨겨져 있던 메타데이터를 대시보드에 노출하는 작업을 진행했습니다. 쇼핑몰 G은 상품 페이지 머지와 장바구니 CSS 개선이 이루어진 하루.

한추
내부 개발 도구 확장쇼핑몰 G
+2471/-2061
3월 17일 (화요일)· 약 1개월 전

만들고, 부수고, 다시 만들었습니다 — AI 크레딧 시스템의 하루짜리 생애

AI 크레딧 시스템을 정교하게 구축한 뒤 비용 분석 결과를 보고 과감히 구조를 전환하고, QA Note MCP 서버로 LLM 도구 연동의 문을 연 하루의 기록입니다.

추한
쇼핑몰 G내부 개발 도구 확장
+19651/-1460
3월 16일 (월요일)· 약 1개월 전

Phase 1~10 전체 로드맵, 드디어 완주했습니다

어떤 프로젝트든 "로드맵 전체 구현 완료"라는 커밋 메시지를 작성하는 순간이 있습니다. 오늘 에서 그 순간이 왔고, +40,393줄이라는 숫자가 그 무게를 말해주고 있네요. 오늘의 핵심: 시뮬레이터가 제품이 되기까지 단순히 기능을 만드는 것과, 그걸 실제로 "설치"하고 "분석"할 수 있게 만드는 건 완전히 다른 일입니다. 오늘 가장 공들인 부분은 "내 사이

3월 13일 (금요일)· 약 1개월 전

4.5MB 벽을 넘어서: Vercel Blob을 경유지로 쓰는 대용량 업로드 우회기

Vercel 서버리스의 4.5MB 제한을 우회하기 위해 Vercel Blob을 경유지로 사용하는 2단계 전송 구조를 도입했습니다. 클라이언트에서 Blob으로 직접 업로드 후 서버가 SFTP로 옮기는 방식으로 최대 30MB 이미지 업로드를 지원하게 됐습니다.

추한
Repository DDRepository BB외 13개
+8346/-5200
3월 12일 (목요일)· 약 1개월 전

헤더 하나 만드는데 왜 이렇게 복잡한가요 (그리고 그게 맞습니다)

쇼핑몰 G의 헤더 작업을 통해 간단해 보이는 UI가 실제로는 얼마나 많은 케이스를 고려해야 하는지 경험한 날. 디테일이 쌓여 완성도가 된다는 걸 다시 한번 배웠습니다.

추
쇼핑몰 G아트페어 H VIP시스템
+15172/-13042
3월 11일 (수요일)· 약 1개월 전

세 개 프로젝트, 한 팀, 그리고 디테일이라는 이름의 전쟁

하루에 세 개 프로젝트, 23개 커밋. 쇼핑몰 G의 매거진/이벤트 기능 구현, 온라인 쇼핑몰 E의 디지털 카탈로그 디테일 개선, 아트페어 H VIP시스템 백오피스 편의성 향상 작업을 진행했습니다.

추
아트페어 H VIP시스템쇼핑몰 G외 1개
+3192/-1496
3월 7일 (토요일)· 약 1개월 전

data-href가 항상 falsy했던 이유 (그리고 토요일에 발견한 사람)

토요일 오후, 쇼핑몰 H 관리시스템에서 이미지 링크가 안 먹는다는 제보를 받았습니다. 분명 링크를 넣었는데 클릭해도 아무 반응이 없다고요. 코드를 뜯어보니 범인은 확장의 이었습니다. href 속성을 로 반환하고 있었는데, 정작 태그로 래핑하는 조건문은 를 체크하고 있었던 거죠. 결과적으로 래핑 조건이 영원히 false가 되는 클래식한 버그였습니다. 구조로

한
쇼핑몰 H 관리시스템Repository CX
+11/-25
3월 6일 (금요일)· 약 1개월 전

Prep에서 QANote로, 그리고 봇이 봇답게 일하는 법

Prep이 QANote로 리브랜딩되며 GitHub App 토큰 기반의 진짜 봇으로 진화했고, 쇼핑몰 G 헤더와 WYSIWYG 에디터 개선 작업이 동시에 진행된 금요일의 기록입니다.

한
쇼핑몰 G쇼핑몰 H 관리시스템외 2개
+1761/-582
3월 5일 (목요일)· 약 1개월 전

GitHub Actions workflow_call과 권한 설정으로 하루를 보낸 이야기

GitHub Actions workflow_call의 권한 설정 삽질과 prep 봇의 의도 분류 구조 개선, 그리고 Redis/CDN 이중 캐시 레이어 문제 해결까지. 인프라를 제대로 깔아둔 하루.

한
쇼핑몰 GRepository CX외 1개
+2353/-1053
3월 4일 (수요일)· 약 1개월 전

캐시 레이어 들여다보기: CDN과 Redis 사이에서 균형 잡기

CDN과 Redis 캐시 레이어를 재정비하고, 콘텐츠 즉시 반영 기능을 추가했습니다. 안전한 캐시 퍼지를 위해 scanStream과 UNLINK를 도입했고, 개인정보 암호화 로직도 개선했어요.

한추
아트페어 H VIP시스템바톤 매뉴얼 프로젝트외 3개
+108568/-14037
2월 27일 (금요일)· 약 2개월 전

5분 단위로 묶인 이력, 그리고 pnpm lockfile의 버전 다운그레이드

프로젝트 이력을 5분 간격으로 그룹화해서 보여주는 기능을 구현하고, pnpm lockfile 버전을 호환성 이슈로 다운그레이드했습니다. 권한 분기 처리와 스크롤 기반 UI 개선도 함께 진행했어요.

추
바톤 매뉴얼 프로젝트
+16875/-12966
2월 26일 (목요일)· 약 2개월 전

수정 내역 추적, 그리고 UI를 다듬는 목요일

오늘은 바톤 매뉴얼 프로젝트에서 꽤 많은 일이 있었습니다. 코드 라인만 봐도 +23k/-11k니까요. 물론 이 숫자가 전부를 말해주진 않지만, 오늘 하루 팀이 어디에 집중했는지는 확실히 보여줍니다. 수정 내역을 기록한다는 것 가장 눈에 띄는 작업은 카테고리와 게시물의 수정 내역 추적 기능이었습니다. 사실 "누가 언제 뭘 바꿨는지" 기록하는 건 당연해 보이지

추한
바톤 매뉴얼 프로젝트쇼핑몰 H 관리시스템
+23527/-11846
2월 25일 (수요일)· 약 2개월 전

데이터는 영원하니까, 히스토리를 남깁니다

바톤 매뉴얼 프로젝트에 변경 이력 추적 시스템을 구현하고, 카테고리/게시물 삭제 로직을 개선했습니다. 1분 단위 히스토리 그룹화와 before_content 저장으로 데이터 변경을 추적할 수 있게 되었습니다.

추
바톤 매뉴얼 프로젝트아트페어 K 공식 웹사이트외 1개
+696/-166
2월 24일 (화요일)· 약 2개월 전

검색 정렬의 기본값을 바꾸는 일이 생각보다 복잡했던 이유

검색 정렬 기본값 변경이 생각보다 복잡했던 이유와, 히스토리 기능을 과감히 제거한 이야기. 그리고 새 프로젝트 아트페어 웹사이트의 시작.

추
온라인 쇼핑몰 B온라인 쇼핑몰 H외 3개
+14475/-447
2월 23일 (월요일)· 약 2개월 전

검색 차단부터 사용자 히스토리까지, 월요일의 디테일 싸움

검색엔진 차단 설정, 사용자 관리 AuditLog, 프로젝트 변경 이력 추적, ViewEvent 스키마 정리 등 디테일 작업을 진행한 월요일. 화려하진 않지만 프로젝트를 견고하게 만드는 하루였습니다.

추한
아트페어 H VIP시스템바톤 매뉴얼 프로젝트외 2개
+16039/-7594
2월 22일 (일요일)· 약 2개월 전

일요일에 올라온 Shopify 자동 커밋을 보며

일요일 아침, 레포지토리에 알림이 떴습니다. 이 열일하고 있더라고요. 온라인 쇼핑몰 T에서 Shopify 테마 동기화 커밋이 2건 들어왔습니다. 둘 다 로, 아주 작은 변경이에요. 아마 운영팀에서 직접 Shopify 어드민에서 뭔가 수정하신 것 같습니다. Shopify 테마 개발의 재미있는 점: 코드 에디터 말고도 변경이 들어오는 경로가 있다는 것 저희는

온라인 쇼핑몰 T
+2/-2
2월 20일 (금요일)· 약 2개월 전

조회수 추적 시스템을 제대로 만들어보자 (봇 필터링부터 시간대별 통계까지)

조회수 추적 시스템을 봇 필터링과 중복 방지 로직으로 개편하고, 집계 테이블 대신 원본 이벤트 직접 쿼리 방식으로 전환해 PV/UV 이중 지표와 시간대별 통계를 제공하게 됐습니다.

한추
바톤 매뉴얼 프로젝트API 서버외 3개
+24404/-16045
2월 19일 (목요일)· 약 2개월 전

순서를 두 개 관리하기로 했습니다

쇼핑몰 H 관리시스템에 활성/비활성 배너 독립 순서 관리를 위한 이중 순서 필드 패턴을 적용하고, heymap에 일별 조회수 동기화 파이프라인을 구축했습니다. 세션 실시간 검증 강화와 CSV 포맷팅 개선도 함께 진행했습니다.

한추
온라인 쇼핑몰 B온라인 쇼핑몰 H외 7개
+199255/-1213
2월 13일 (금요일)· 2개월 전

FK 위반과 PII 암호화 사이에서: 보안과 정합성 둘 다 잡기

PII 암호화와 FK 제약의 충돌을 raw 쿼리로 해결하고, 하이츠스토어를 라이트모드 기본으로 전환하며 배너 시스템을 정규화한 금요일.

한
아트페어 H VIP시스템쇼핑몰 H 관리시스템외 2개
+5074/-1332
2월 12일 (목요일)· 2개월 전

프로젝트 관리 도구를 만들면서 배운 것들

사내 프로젝트 관리 도구에 CRUD 기능과 드래그 앤 드롭 카테고리 관리 기능을 추가했습니다. 실제로 쓸 만한 도구가 되어가는 과정이 재밌네요.

추
온라인 쇼핑몰 E온라인 쇼핑몰 S외 1개
+24291/-2976
2월 11일 (수요일)· 2개월 전

내부 도구 만들기: 구글 로그인부터 프로젝트 관리까지

회사 전용 프로젝트 관리 도구에 구글 로그인 연동과 권한 제어를 구현하고, 프로젝트 CRUD 기능을 처음부터 끝까지 완성한 하루. 내부 도구라고 대충 만들 수 없다는 마음으로 차근차근 쌓아가는 중입니다.

추
바톤 매뉴얼 프로젝트온라인 쇼핑몰 B외 1개
+14474/-2897
2월 10일 (화요일)· 2개월 전

iOS 모달 스크롤, 그 끈질긴 녀석을 잡다

iOS 환경에서 모달 배경 스크롤을 막는 방법을 정리했습니다. position: fixed와 스크롤 위치 저장/복원 로직으로 해결했어요.

추
온라인 쇼핑몰 T쇼핑몰 J 관리시스템외 4개
+620/-77
2월 9일 (월요일)· 2개월 전

테스트 코드도 리팩토링이 필요하다는 걸 깨달은 월요일

테스트 코드의 반복되는 Mock 설정을 공통 유틸리티로 리팩토링하고, 여러 프로젝트의 실무 작업을 진행한 하루. 테스트 코드도 결국 코드라는 당연한 진리를 다시 한번 새깁니다.

추
아트페어 K 공식 웹사이트바톤 매뉴얼 프로젝트외 2개
+5223/-78
2월 6일 (금요일)· 2개월 전

개인정보 암호화, 처음부터 다시 배우다

개인정보 암호화를 구현하면서 이메일 해시 조회 방식 전환, 테스트 코드 작성, 그리고 예상치 못한 Vercel 배포 이슈를 해결한 하루의 기록.

추한
아트페어 H VIP시스템모바일 앱 H외 3개
+15944/-3399
2월 5일 (목요일)· 2개월 전

보안과 테스트 사이, 그리고 통계 대시보드

PII 암호화와 미들웨어 보안 강화, Jest 테스트 도입, 그리고 통계 대시보드 확장. 화려하진 않지만 서비스를 단단하게 만드는 작업들.

추한
온라인 쇼핑몰 S온라인 쇼핑몰 B외 4개
+5152/-584
2월 4일 (수요일)· 2개월 전

보안 감사 이후: Critical 5건부터 PIPA 대응까지

보안 감사 결과를 바탕으로 Critical 보안 이슈 5건을 수정하고, PIPA 준수를 위한 SMS MFA, 중복 로그인 방지, 역할 변경 이력 기록 기능을 구현했습니다.

추한
브랜드 웹사이트 T아트페어 H VIP시스템외 2개
+2184907/-307019
2월 3일 (화요일)· 2개월 전

보안 점검표를 받고 나서 일어난 일들

오늘은 커텐츠 관리 시스템에서 보안 점검 대응 작업을 집중적으로 진행했습니다. 사실 이런 보안 컴플라이언스 작업은 개발자라면 한 번쯤 겪어봤을 그 순간이죠. "저희 서비스, 개인정보보호법 기준 맞춰야 하는데요..." 라는 이야기를 듣고 나서 시작되는. 점검표와의 조우 !체크리스트 체크!|100% 점검표를 받았을 때 가장 먼저 한 일은 우선순위 분류였습니다.

한추
커텐츠 관리 시스템마이그레이션 작업 H외 2개
+206335/-1818
2월 2일 (월요일)· 2개월 전

ISMS-P 준수하려고 로깅 시스템 만들었더니 25커밋이 되어버린 하루

ISMS-P 인증 요건을 위한 Audit Logger 구현, 차등 보관 정책 크론잡, 통합 에러 처리 개선, 그리고 Docker 기반 로컬 Supabase 환경 구축까지 완료한 하루였습니다.

추
아트페어 H VIP시스템
+9795/-3624
1월 30일 (금요일)· 3개월 전

ISMS-P 인증을 위한 DB 로깅, Prisma Extension으로 우아하게 풀어보기

ISMS-P 인증을 위해 Prisma Extension과 AsyncLocalStorage를 활용한 자동 DB 로깅 시스템을 구현하고, 바톤 개발 로그의 SEO와 동적 OG 이미지 기능을 개선한 금요일이었습니다.

한추
바톤 개발 로그아트페어 H VIP시스템외 2개
+4762/-4172
1월 29일 (목요일)· 3개월 전

중복 코드 500줄 삭제의 날 (삭제는 최고의 기능이다)

SMS, 이메일, 어드민 컴포넌트의 대규모 리팩토링으로 500줄 이상의 중복 코드를 제거하고, ErrorCollector와 로그인 이력 추적 시스템을 새로 구축한 하루.

추
아트페어 H VIP시스템온라인 쇼핑몰 B외 2개
+1526/-2093
1월 28일 (수요일)· 3개월 전

31개 커밋으로 권한 체계를 뜯어고친 날

아트페어 H VIP시스템 프로젝트의 미들웨어 접근 제어 로직을 전면 개편하고, CSV 전화번호 포맷팅 문제를 해결한 하루. 경로 변경이 불러온 31개 커밋의 기록입니다.

추
아트페어 H VIP시스템온라인 쇼핑몰 S외 1개
+10682/-12195
1월 27일 (화요일)· 3개월 전

AWS S3에서 Supabase Storage로 갈아타던 날

아트페어 H VIP시스템 프로젝트에서 AWS S3를 Supabase Storage로 마이그레이션하고, 사용자 역할 기반 인증 체계를 강화한 하루였습니다.

추한
아트페어 H VIP시스템바톤 개발 로그외 2개
+5203/-9074
1월 26일 (월요일)· 3개월 전

시간대 버그와의 전쟁, 그리고 드래그앤드롭의 작은 승리

UTC/KST 시간대 처리 개선, 드래그앤드롭 순서 변경, 자동 마이그레이션 모드 등 네 개 프로젝트에 걸친 견고함을 위한 작업들을 진행했습니다.

추한
아트페어 H VIP시스템쇼핑몰 J 관리시스템외 2개
+9884/-13812
1월 23일 (금요일)· 3개월 전

시간대는 어렵고, 스크롤은 까다롭다

UTC/KST 시간대 변환, Dialog 내 스크롤 충돌, 외부 시스템 연동 등 "당연히 될 줄 알았는데"에서 출발한 다양한 수정 작업을 진행한 하루.

추한
아트페어 H VIP시스템아트페어 K 공식 웹사이트외 1개
+1968/-8645
1월 22일 (목요일)· 3개월 전

AI 네이티브, 혹은 '처음부터 다시'라는 것에 대하여

결론부터 말씀드리자면, 우리가 지금껏 쌓아온 것들을 버려야 할 때가 온 것 같습니다. ―물론, 전부는 아닙니다. AI 네이티브란 무엇인가? 최근 업계에서 'AI 네이티브'라는 말이 자주 들립니다. 설계 단계에서부터 AI를 중심으로, 인간과 에이전트의 협업이 자연스럽게 일어나며 운영의 자율성·지능성·적응력을 갖춘 것을 의미한다고 하죠. !매트릭스를 모르는 세

1월 22일 (목요일)· 3개월 전

CSV 업로드에 Rate Limiting을 넣기까지의 여정 (그리고 페이지네이션의 습격)

아트페어 H VIP시스템의 CSV 업로드에 상세 로깅과 Rate Limiting을 추가하고, 페이지네이션 컴포넌트를 통합했습니다. 쇼핑몰 H 관리시스템에서는 큐레이션-카테고리 연결 기능을 완성했습니다.

추한
아트페어 H VIP시스템온라인 쇼핑몰 T외 2개
+5701/-1871
1월 21일 (수요일)· 3개월 전

스튜디오 바톤 개발팀을 소개합니다.

안녕하세요. 스튜디오 바톤의 CTO이자 공동 창업자, 개발팀 리드를 맡고 있는 한송욱입니다. 스튜디오 바톤은 2013년에 설립되어 웹서비스 구축과 비주얼 브랜딩 영역에서 활동 중인 디자인 스튜디오입니다. (좀 더 알아보기) 3년 전 소개 페이지를 처음 만들었을 때와 비교하면, 정말 많은 것이 달라졌습니다. 기술 스택도, 일하는 방식도, 심지어 '개발자'라는

1월 21일 (수요일)· 3개월 전

스튜디오 바톤 개발팀을 소개합니다.(2023)

안녕하세요. 스튜디오 바톤의 대표이자 공동 창업자, 개발팀 리드를 맡고 있는 한송욱입니다. 스튜디오 바톤은 2013년에 설립되어 웹서비스 구축과 비주얼 브랜딩 영역에서 활동 중인 디자인 스튜디오입니다. (좀 더 알아보기)

1월 21일 (수요일)· 3개월 전

37개 커밋으로 카테고리 시스템을 뜯어고친 날

워드프레스 레거시 카테고리 시스템을 DB 기반으로 전환하고, 월 단위 페이지네이션과 활성화 제한 로직을 추가한 리팩토링 작업 기록입니다.

한추
쇼핑몰 H 관리시스템아트페어 H VIP시스템외 1개
+2199/-1065
1월 20일 (화요일)· 3개월 전

스튜디오 바톤 개발팀을 소개합니다. (2023)

안녕하세요. 스튜디오 바톤의 CTO이자 공동 창업자, 개발팀 리드를 맡고 있는 한송욱입니다. 스튜디오 바톤은 2013년에 설립되어 웹서비스 구축과 비주얼 브랜딩 영역에서 활동 중인 디자인 스튜디오입니다

1월 20일 (화요일)· 3개월 전

TMI

사소하지만 궁금할 수 있는

1월 20일 (화요일)· 3개월 전

클로저가 품은 stale 데이터, 그리고 함수형 업데이트의 구원

React useCallback의 stale closure 문제를 함수형 업데이트 패턴으로 해결하고, 아트페어 H VIP시스템의 CSV 업로드 검증 기능과 캐시 관리 시스템을 대폭 개선한 하루였습니다.

한추
쇼핑몰 H 관리시스템아트페어 H VIP시스템외 3개
+15143/-2753
1월 19일 (월요일)· 3개월 전

38개 커밋의 무게 - VIP 시스템과 멀티스킨의 하루

아트페어 H VIP시스템 등록 시스템의 전체 워크플로우가 완성되었고, 하이츠스토어에서는 국문/영문 스킨을 하나의 레포로 통합하며 API 엔드포인트를 전면 마이그레이션했습니다.

한추
아트페어 H VIP시스템온라인 쇼핑몰 H외 3개
+451709/-5428
1월 16일 (금요일)· 3개월 전

캐싱 전략 3종 세트: DB부터 Redis까지, 그리고 테스트 자동화의 함정

캐싱, 어디까지 해봤니? 오늘은 캐싱 전략을 세 가지 레벨에서 동시에 다룬 날이었습니다. 쇼핑몰 M 관리시스템에서는 Cafe24 카테고리를 10분마다 DB에 동기화하는 시스템을 구축했고, 쇼핑몰 H 관리시스템에서는 Redis 캐시 상태를 대시보드에서 한눈에 볼 수 있게 만들었습니다. 특히 쇼핑몰 M 관리시스템 쪽이 흥미로웠는데요. 처음엔 SWR로 프론트 단

한추
쇼핑몰 H 관리시스템온라인 쇼핑몰 H외 6개
+2800/-1952