오늘 한 일

  • 간밤에 개발자의 탈을 쓴 QA 상현님이 갑자기 vms sign-up이 안 된다고 했다. 상황을 보니 진짜 안 된다. 처음에는 db 환경 문제인 줄 알았는데 나도 똑같은 상황을 만들어 돌려보니 안 됨. 응 db 아니야
  • 회원가입 페이지 자체는 내가 작업한 게 아니었지만, 회원가입 버튼을 누르면 뜨는 다이얼로그는 내가 작업한 거였다. 그리고 다이얼로그 UI와 다이얼로그를 오픈하는 방식 자체를 변경하면서, 페이지 컴포넌트가 가지고 있는 sign-up 관련 함수들을 건드린 것도 당근 나였다. 원인을 찾기도 전에 엄습하는 불안감
  • 원래 sign-up 관련 로직은 컴포넌트 내에서 단 하나의 함수 안에 전부 다 묶여서 들어가 있었다. 하지만 중간 어느 시점에 다이얼로그를 띄우고, 또 그 다이얼로그에서 입력하는 내용에 맞게 후속 조치가 이루어지는 등 적당한 처리가 필요했기 때문에 나는 그 함수를 여러 개로 쪼개 놓은 상황이었다.
  • 그런데 말입니다... vms에 회원가입을 할 때 휴대폰 번호를 넣으면 휴대폰으로 인증 코드가 발송되는데(이게 바로 내가 밴 당했던 그 절차), 이게 특정 조건 하에서 내부 직원이냐 아니냐를 판단할 수 있게끔 분기가 되어 있다. 하지만 바보 같은 나는 직원이 아닌 일반 유저를 가정하고서만 테스트를 진행했고 내부 직원인 경우는 생각을 안(?덜?) 했기 때문에, 직원인 경우에는 아무 코드도 넣어놓지 않아서 그 어떤 함수도 실행되지 않게끔 해 놓은 거였다. 응 db 아니고 너야 심지어 직원인 경우에 쓰려고 바로 아래 라인에 함수도 따로 만들어 놓은 상태였다...ㅠㅠ 함수를 만들었는데 왜 쓰지를 못하니
  • 이로써 긴급히 올린 pr에 추가된 코드는 단 한 줄뿐이었다. 코미디
  • 착잡한 마음으로 안도하며 잠든 후 일어난 아침에는 케이님과의 원온원이 있었고, 케이님이 사실은 이 글을 모두 읽고 계셨다는 엄청난 소식을 접했고, 주니어 각자에게 맞는 방식이 다 다를 수 있고 원한다면 sso 작업을 계속 하는 것도 괜찮다는 말씀을 들었다. 거기에 더해서 아직 잘은 모르지만 평소 관심 있었던 스벨트 공부+실습도 병행하기로 했다. 🥰
  • 원온원이 끝나자마자 승진님한테 허들을 신청했다. 처음에는 팀에서 sso를 어떻게 하기로 했는지를 조심스레 여쭤보며 시작했지만, 결과적으로는 '그럼 제가 할래요'가 되었다ㅋㅋㅋ
  • 결론: 신난다 신나 🥰

오늘 한 일

  • 어제 가뜩이나 늦게 잤는데 오늘은 아침 일찍부터 어느 집 공사 소음 때문에 잠을 설쳤다. 소음의 진원지가 하필 일하는 방 바로 옆인 건지 유난히 더 크게 들렸다. 스크럼 때도 드릴 소리가 들어가고 나니, 문득 오늘 페어 작업에 방해가 될 것 같아 결국 집 근처 카페로 자리를 옮겼다. 근데 카페 음악 소리도 너무 커서 결국 페어는 물 건너 갔다...
  • 페어 대신 각자 파트를 나눠서 작업하기로 했다. 공교롭게도(?) 나는 또 다이얼로그 작업을 하게 되었는데 vms에 이미 들어가 있는 UI를 만져서 고치는 것은 새로 만드는 것과는 차원이 다르게 복잡했다. 그 와중에 식사하러, 식사 후 다시 일하러 계속 자리를 옮기게 되니 진득이 집중하기가 힘들었다. 차라리 늦게라도 출근을 할 걸 그랬다. 다행히 4시 반쯤 공사가 끝난다고 해서 집에 돌아오긴 했는데 지금 생각해 보니 괜히 또 중간에 움직였나 싶다.
  • 집에 온 직후 오늘 작업한 부분을 공유했는데 내 쪽에서는 한 게 별로 없어서 내일은 오늘 못 다 한 작업부터 시작하기로 했다.

오늘 배운 것

  • 어제 대강 살펴봤던 타입 추론과 타입 단언을 한번 더 찾아보았다. "컴파일러는 타입 추론을 통해 명시적인 타입 표기 없이도 타입 정보를 이해할 수 있다." "타입 단언을 통해 컴파일러에게 특정 타입 정보의 사용을 강제할 수 있다." 그러니까 value as Type 또는 <Type>value 형태로 쓰는 타입 단언은, value: type의 형태로 쓰는 단순한 타입 표기와는 완전히 다른 개념인 것이다. 
 

6.2 타입 추론 - ts-for-jsdev

하지만 만약 배열의 타입을 Array 로 추론한다면 어떻게 될지 생각해보자. getSoundFunction 함수는 Camel 타입을 인자로 받지 않는다. 그 때문에, dogAndCat 내에는 Camel 타입 값이 존재하지 않음에도 위의

ahnheejong.gitbook.io

 

6.3 타입 단언 - ts-for-jsdev

위 코드는 실제로 실행한다면 런타임 에러가 발생하지만, 타입 검사는 통과한다. 번거로운 타입 검사를 피할 수 있지만, any를 사용한 타입 단언은 어쩔 수 없는 경우를 제외하곤 피하는 것이 좋

ahnheejong.gitbook.io

 

오늘 한 일

  • 어제 하던 dialog 띄우는 작업을 계속 했다. 어제 설치한 vuetify로 가져온 v-dialog는 또 어느 컴포넌트에서 어떻게 불러올지 모르니 slot을 넣고 원하는 템플릿으로 사용할 수 있게 변형해 보았다.
  • dialog를 넣고 보니 원래 일률적인 사이즈로 사용하던 버튼의 크기가 좀 달라지게 되었다. 만들어 놓은 건 재활용해야 옳으니 width를 props로 넘길 수 있게 했다. 리액트로는 아무렇지 않게 했던 작업인데, 뷰에서 처음 하려니 자꾸 버벅댔다. 하여튼 뷰린이
  • 로그인 페이지에서 위의 버튼을 누르면 아무 기능 없이 껍데기뿐인 dialog가 일단 열리게는 하고 pr을 날렸다. 근데 지금 생각해보니 채널에 안 올림ㅋㅋ
  • 목요일마다 있는 테크세션 어쩔살롱은 오늘따라 유난히 재밌었다. 어쩔살롱에서 채팅창 안 켜면 손해..
  • vuex 공부 본격 시작! 근데 오늘은 시작만
  • 재밌는 일 잔뜩이었는데 기분이 별로다ㅠㅠ슬퍼

오늘 배운 것

  • 버튼에 props 넘길 때 나 같은 뷰린이가 참고하면 좋을 링크
 

Passing Variables to CSS on a Vue Component

Discover one of the not-so-common features of Vue.js, the injection of CSS variables from the component's script. Let's learn some Vue!

www.telerik.com

+ Recent posts