Portfolio 02 · Publishing Cases

운영 프로젝트
작업 사례

SK텔레콤 T world 서비스 운영에서 실제 담당했던 퍼블리싱 작업 사례를 정리했습니다. 기획서 기반 마크업·CSS·JS 구현부터 긴급 이슈 대응까지, 실무 환경에서의 협업 프로세스와 함께 기록합니다.

100%
퍼블리싱 단독 담당

Case 01
마스킹 정책 변경 및 인증 UI 개선
GNB에 위치한 버튼으로 로그인 상태에 따라 조건부 노출되며, 최초 방문 시 Lottie 애니메이션을 1회 재생합니다. localStorage로 재생 여부를 관리해 재방문 시 마지막 프레임을 바로 노출합니다.
HTML/CSS JavaScript Lottie
// default : 애니메이션 자동 재생 X
const params = {
  container: document.getElementById("lottie_container"),
  renderer: "svg",
  loop: false,
  autoplay: false,
  path: "[CDN 경로]"
};

const anim = lottie.loadAnimation(params);

if (!localStorage.getItem("hasPlayedMotion")) {
  anim.play();
  // 재생했음을 저장
  localStorage.setItem("hasPlayedMotion", "true");
} else {
  // 애니메이션 재생 없이 마지막 스틸 노출
  anim.addEventListener("DOMLoaded", function() {
    anim.goToAndStop(anim.totalFrames, true);
  });
}
Case 02
선물하기 서비스 개편 (모바일)
서비스 전면 개편으로 마크업 구조를 새로 설계했습니다. 기존 컴포넌트를 재활용하고 신규 컴포넌트를 추가하며 약 20개 페이지를 담당했습니다. 처음부터 접근성을 고려한 마크업 작업을 진행했습니다.
HTML/CSS JavaScript 모바일
  • 탭 UI — role="tablist", role="tab", aria-selected, aria-controls 처리
  • 폼 에러 텍스트 — aria-hidden 값 동적 처리
  • 팝업 연결 — 버튼과 팝업 간 aria 속성 연결
<!-- 1. 탭 UI -->
<ul role="tablist" class="tab-accessibility">
  <li role="presentation">
    <a role="tab" aria-selected="true" aria-controls="tab1-tab" id="tab1">바로선물</a>
  </li>
  <li role="presentation">
    <a role="tab" aria-selected="false" aria-controls="tab2-tab" id="tab2">가족끼리 자동선물</a>
  </li>
</ul>

<!-- 2. 폼 에러 텍스트 -->
<span class="error-txt" aria-hidden="true">휴대폰 번호 11자리를 입력해 주세요.</span>
<!-- 초기값 true | 활성화 시 false -->

<!-- 3. 팝업 버튼 연결 -->
<button type="button" aria-haspopup="dialog" aria-controls="연결된 팝업의 id" aria-expanded="false">100MB</button>
Case 03
긴급 이슈 대응
서비스 긴급 이슈 발생으로 디자인 미확정 상태에서 퍼블리싱을 병행했습니다. 메인 페이지 컨텐츠 추가 및 신규 안내 페이지를 긴급 퍼블리싱했으며, 실시간 수정 요청에 빠르게 대응했습니다.
HTML/CSS SCSS TSX
담당 업무

마크업·CSS·JS 구현, 접근성 처리, 긴급 이슈 대응까지 퍼블리싱 전반을 담당했습니다.

협업 방식

기획자 검수 후 개발팀 전달, 또는 배포 직전 단계까지 직접 진행하며 운영 프로세스 전반에 참여했습니다.

이런 사람

서비스 운영 환경을 이해하고 유관부서와 원활하게 소통할 수 있는 퍼블리셔입니다.

← 포트폴리오로 돌아가기