정기간행물/daily

[슈코데이 세미나] 불가능을 가능으로 만드는 토스의 엔지니어링 직군

:)jun 2023. 10. 27. 19:27

개발자 친구를 만나려고 연락을 했는데 해당 세미나에 참가한다고 해서 급하게 추가 신청해 참가했고, 일정상 첫번째 세션에만 참가할 수 있었다. 첫번째 세션을 시작하기 전 슈퍼코더의 해외 개발자 채용 서비스에 대해 간략히 설명해주셨다. 

 

개발부터 분석까지 1주일이면 끝나는 반자동 시스템

발표자: 토스뱅크 프론트엔드 엔지니어 김선진

 

제품을 빠르게 만들기 위한 3가지 조건

- 제품 특성

- 자동화된 도구

- 개발 환경

 

1. 제품 특성

 이벤트 페이지 등 빠르게 만들 수 있는 제품

 

2. 자동화된 도구

- UI 마크업: 디자인 시스템이 만들어주는 코드젠 활용

- 상태에 따른 복잡한 화면 분기처리: 선언적으로 흐름을 관리할 수 있는 useFunnel 라이브러리

- 로깅: Neo Logger class

- A / B Test: Bank TUBA

 

2.1 Framer 확장 프로그램이 생성해주는 코드젠을 활용해서 UI 껍데기를 만든다.

2.2

 Page route 방식을 이용한다면?

: 페이지마다 이동 로직을 가지고 있어야 하고 통장 보유/비보유 상태에 따라 재활용이 어려워짐

-> useFunnel custom hook 라이브러리로 선언적 화면 흐름 제어 및 컴포넌트 재사용

2.3 

클릭, 임프레션, 스크린 을 자동으로 만들어줌

-> 로깅때문에 코드가 많아지는 일이 줄어듦

2.4

자체 개발로 편리한 A/B 테스트

toss tuba -> 별도 작업 필요 없이 useTubaVariable(key) 형태로 관리

 

3. 개발 환경

3.1 휴먼 에러를 막기 위한 각종 actions를 사용

- JIRA 티켓 검사

 

3.2 마이크로서비스 프론트엔드

- yarn berry workspace를 이용한 mono repo

- Services 하위의 각 서빗는 각각 별개의 gocd pipeline으로 배포되고 k8s pod로 서빙