brunch

You can make anything
by writing

C.S.Lewis

by 윤지니 Nov 05. 2019

다음 주, 결혼을 합니다.

#1 2019. 10. 28 - 2019. 11. 02

다음 주, 결혼을 합니다.


결혼이 정말 코앞으로 다가왔다. 결혼을 준비하느라 개인시간을 거의 전부 쏟아붓는것 같다. 




생활


결혼이 정말 코앞으로 다가왔고, 생각보다 챙겨야 할 일들이 너무 많았다. 식전 영상부터 웰컴드링크, 푸드, 뒤늦은 신혼여행 준비, 더 늦은 다이어트 하다 못해 구두에 넣을 깔창까지도. 


매일매일 정신없이 지나가는 요즈음, 빨리 다 끝나고 푹 자고 싶다는 생각만이 머릿속에 가득하다.


회사


상태 복원 라이브러리

현재 카페는 점진적 개선중이다. 기존에 jsp로 되어있던 레거시 코드들을 Vue로 새롭게 만들어 기능들을 바꿔나가고 있다. 


요즘 겪는 문제는 Vue로 구성된 SPA 에서 기존 레거시 페이지를 갔다 다시 뒤로가기 등을 통하여 돌아올 때 페이지 이동이 있기 때문에 상태고 나발이고 싹 날아가 스크롤이 항상 맨위로 올라가는 등 안좋은 사용자 경험을 준다는 것이였는데,


팀원분이 히스토리 객체에 캐싱해두는 방법으로 멋지게 해결을 해주셔서, 이를 조금 더 추상적이고, 조금 더 다형성을 제공할 수 있도록 라이브러리화 시켰다.


vuex의 `mapXXX` 와 비슷한 시그니처로 구현을 하면서 평소에 궁금해 했던 왜 이 친구들이 바인딩할 상태, 액션등을 문자열로 받았는지 조금은 알 것 같았다.


이를 구현하면서 요즘 관심있게 보고있는 3.0에 추가될 `composition-api` 을 적용해보고 다같이 코드리뷰를 하는 시간을 가졌는데, `composition-api` 의 선언적이고 명확한 부분에 한 번 놀라고, 개방적이고 꼼꼼하게, 열정적으로 코드리뷰를 함께 해주는 팀원들에 한 번 더 놀랐다. 역시 좋은 팀으로 이직했다.


폴백 이미지

보통 유저의 프로필 이미지 등과 같은 이미지를 로드하다 실패했을 경우, 기본 이미지를 보여주도록 많이 설계하는데 이 때 `onerror` 콜백을 많이들 쓴다. 


문제는 이 폴백 이미지마저 로드가 실패했을 경우 무한 반복에 빠져 한 번만 실행되게 하기 위해 첫 실행에서 `onerror = null` 등과 같은 처리를 해주는데, 이 로직이 뷰 컴포넌트에서 정상적으로 동작하질 않았다. 이 콜백이 두번 실행되어 실제로 이미지 로드를 하다 실패해도 이미 `null`로 엎어져 처리가 되지 않았다.


추측컨데, `v-show` 등과 같은 디렉티브가 `visible`을 조정하면서 이미지로딩이 `abort` 되면서 `onerror`가 트리거 되는 것 같았다.


`default-image`란 커스텀 디렉티브를 만들고, 디렉티브에서 현재 로드된 이미지가 로드할 폴백 이미지와 다를 때에만 추가적으로 로드하게 해 무한 반복되는걸 막았다.


사이드프로젝트


요즘 회사에서 그래프큐엘 스터디를 하는데, 무언가 하나 만들어보고 싶어서 예식때 럭키드로에 필요한 API 서버를 그래프큐엘로 만들어보고 있다. Firebase에 얹으니까 3분만에 API 서버 셋팅이 되는걸 보고 새삼 세상 많이 좋아졌다는 생각이 문득 들었다.


매거진의 이전글 Retrospective #8
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari