Skip to content

Latest commit

 

History

History
190 lines (93 loc) · 10.4 KB

Ver.1.0 development history.md

File metadata and controls

190 lines (93 loc) · 10.4 KB

Ver.1.0

릴리즈 결과물

혹은 사이트 방문

Preview

  • PC

  • Mobile

개발자

행사 소개, 제휴 단체 · 공연, 더 알아보기, Footer 파트 개발

페이지 상단 캐릭터 배치, 아티스트, 티켓팅 안내 파트 개발

개발 기간

2021.05.28 ~ 2021.06.25 약 1달

협업 과정

개발자 <-> 기획자 (카카오톡, 디스코드)

스크린샷 2021-06-25 오후 1 34 38


개발자 <-> 디자이너 (zeplin)


개발자 <-> 개발자 (github issue, pull request)


기술 스택

라이브러리

커스텀 기능 개발

하나의 이미지가 다른 이미지의 뒤에서 앞으로 나오는 디자인 대응

asdf

오른쪽이 디자인상 배치도, 왼쪽이 개발을 이용하여 수정한 내용

스크린샷 2021-06-25 오후 1 55 33

디자인 원본으론 위와 같이 캐릭터가 포함되어있지 않고 투명으로 처리된 이미지와

스크린샷 2021-06-25 오후 1 56 23

투명이 포함된 캐릭터 이미지로 구성되어있습니다.

2장의 이미지가 제공되었지만 단순히 곂쳐 놓을 경우 캐릭터가 원형으로 뚤린 이미지로 부터 튀어나오는 느낌에 어색한 부분을 남길 수 있습니다.

이를 해결하기 위해 이미지를 배치하였을 시 곂치는 영역의 픽셀값을 2장의 이미지로 부터 각각 가져옵니다.

스크린샷 2021-06-25 오후 2 00 15

작업할 이미지를 먼저 로드한 다음

스크린샷 2021-06-25 오후 2 00 09

getImageData 를 이용하여 red, green, blue, alpha 순서로 이루어진 일차원 배열을 원하는 크기 만큼만 로드 합니다.

스크린샷 2021-06-25 오후 2 03 04

다음으로 2장의 이미지 각각에서 가져온 필셀 중 원형 이미지에서 비어있는 부분일 경우엔 캐릭터 이미지의 픽셀 값으로 갱신시킵니다.

비어있는 부분이 아닐 경우엔 기존픽셀에서 약간의 가중치를 더하였는데

스크린샷 2021-06-25 오후 2 06 32

그 이유는 캐릭터 디자인 주변으로 그림자 효과가 들어가 있었기 때문에 주변 색과 원본 색이 튀어 보이는 문제 점이 있었기 때문입니다.

이미지를 회전 시켜도 양 끝에 하얀 여백이 생기지 않도록 대응

스크린샷 2021-06-15 오후 5 00 16

오른쪽이 단순 회전시 발생하는 문제, 왼쪽이 개발을 이용하여 수정한 내용

티켓팅 안내 이미지를 단순 회전 시키면 이미지가 렌더링 되어지는 가로 크기에 따라서 가로 스크롤 이 생기고, 양 끝에 하얀색 여백이 생겨지는 문제 존재합니다.

이 부분을 캔버스 렌더링 방식과 비율에 따른 자동 스케일링, 반응형 좌표 이동을 개발하여 해결하였습니다.

스크린샷 2021-06-15 오후 10 44 31

위 그림의 경우 회전하면 회전 각에 따라 양 끝점의 좌표가 y = ax + b 에 의해 대략적으로 예측 되어집니다.

스크린샷 2021-06-15 오후 11 17 33

예를들어 대략 3도 정도 기울였을시 cos(3° * Math.PI / 180) 로 x, sin(3° * Math.PI / 180) 로 y 값이 (0.999, 0.0519) 로 구해지면

스크린샷 2021-06-25 오후 2 32 05

원점을 지나는 일차 함수의 기울기를 구할 수 있습니다.

스크린샷 2021-06-25 오후 2 33 44

이를 이용하여 이미지가 렌더링 되어질 전체 높이 크기를 구한 다음

스크린샷 2021-06-15 오후 10 47 16

2021-06-25-23531

그려질 캔버스 높이 크기와 비율을 계산하여 축소시킨 이미지로 렌더링 하였습니다.

스크린샷 2021-06-15 오후 10 48 54

물론 브라우저 크기 변화에 따라 다시 렌더링해야 할 경우엔 이벤트 리스너 등록시켜서 렌더링 호출 시킵니다.

Firebase Firestore를 이용하여 변경가능성 있는 텍스트 내용 대응

  • Firestore 규칙 설정

스크린샷 2021-06-25 오후 2 17 25

나중을 위한 DB 쓰기 권한 개념을 설정 해놓았습니다.

위의 경우 등록되어진 계정 중 admin 권한을 부여한 계정만이 해당 페이지의 데이터 수정을 어플리케이션 단에서 접근이 가능합니다.

컨텐츠 중에서 변동 가능성이 높은 항목들이 존재합니다.

스크린샷 2021-06-25 오후 2 20 17

아티스트 목록의 경우 후보가 새로 등록되어지거나 삭제 될 수 있습니다.

스크린샷 2021-06-25 오후 2 22 22

Firestore 를 사용하였기 때문에 /page/utaconne-landingartist 배열 타입의 필드에 해당 정보를 입력하였으며,

스크린샷 2021-06-25 오후 2 23 55

페이지 초기화시 데이터를 읽어와 DOM 에 반영합니다.

스크린샷 2021-06-25 오후 2 25 21

티켓팅 안내의 경우에도 가격, 날짜, 안내사항이 수시로 변경될 수 있는 항목들이 존재합니다.

스크린샷 2021-06-25 오후 2 26 49

같은 방식으로 DB에 데이터를 정의한 후

스크린샷 2021-06-25 오후 2 27 41

캔버스에 티켓팅 안내 렌더링을 할 시 텍스트 정보를 렌더링 시키는 방식으로 구현하였습니다.