카
카카오페이
November 24, 20221회
카카오페이 계정 토큰 시스템 개편기. 그런데 Swift Concurrency를 사용한...
간단 소개
카카오페이 iOS 앱의 토큰 시스템을 Swift Concurrency를 활용하여 개편하고, 동시성 문제 및 코드 복잡성을 개선한 경험 공유.
AI Summary
- 토큰 시스템 개편 배경
- 카카오페이 서비스는 카카오톡, 앱, 비즈니스 앱 3가지 형태로 제공되며, 카카오톡 내 페이 서비스는 카카오와 법인이 달라 별도의 토큰 관리가 필요.
- 기존 시스템은 동시 요청 문제, 만료된 토큰 접근, 코드 파편화, 에러 처리 미흡 등의 문제점을 내포.
- Swift Concurrency 도입 및 효과
- Async/await 모델을 통해 completion 지옥과 같은 기존 비동기 처리의 단점을 극복하고 코드 가독성 향상.
- Error throw/catch 처리를 통해 컴파일러 레벨에서 에러 처리 누락 방지.
- Actor를 활용하여 토큰 요청 처리 시 동시성 문제를 해결하고, 경쟁 조건으로 인한 메모리 오류 방지.
- 개편 후 긍정적 결과
- 토큰 관련 모듈 캡슐화로 코드 파편화 방지 및 유지보수성 향상.
- Swift Concurrency 적용 후 크래시 리포트 감소 및 전반적인 지표 개선.
- 새로운 기술 도입을 통해 사내 스터디 활성화 및 개발 문화 개선.
Next Feeds
Typescript - Union Type, Intersection Type, Etc.
타입스크립트의 Union, Intersection 타입과 템플릿 리터럴 타입을 설명하고, 구조적 타입 시스템과 객체 리터럴 할당 시의 타입 검사를 다룹니다.
typescriptunion typeintersection typetemplate literal typesstructural type system
2022. 11. 24.
카카오엔터테인먼트FE
Typescript - Union Type, Intersection Type, Etc.
Typescript의 Union Type, Intersection Type, Template Literal Types을 활용하여 타입 시스템을 효과적으로 사용하는 방법을 설명합니다.
typescriptunion typeintersection typetemplate literal types타입 시스템
2022. 11. 24.
카카오엔터테인먼트FE

리팩터링 가이드 - 좋은 코딩 습관을 기르자
리팩터링은 코드의 가독성과 유지보수성을 높여 소프트웨어 품질을 개선하는 중요한 개발 습관입니다.
리팩터링코드 품질유지보수가독성클린 코드
2022. 11. 23.
비브로스

쿠키런: 킹덤 런칭 회고
쿠키런: 킹덤 런칭 과정을 기술적 관점에서 회고하며, Kubernetes 인프라 구축, 부하 테스트, 런칭 후 모니터링 과정을 상세히 다룬다.
쿠키런: 킹덤KubernetesCockroachDB데브옵스부하 테스트
2022. 11. 23.
데브시스터즈

스토리지 기초지식 11편: 재해복구
재해복구 시스템의 중요성, 유형, 구축 방법 및 계획 수립 시 고려사항을 분석하고, 효과적인 재해복구 전략 수립의 필요성을 강조합니다.
재해복구Disaster RecoveryRPORTO페일오버
2022. 11. 21.
글루시스
모두를 위한 접근성 이야기
카카오페이 기술 블로그에서 접근성의 중요성과 개발자가 접근성을 준수하기 위한 방법들을 소개합니다.
접근성웹 표준시맨틱 웹스크린 리더alt 속성
2022. 11. 17.
카카오페이