데
데브시스터즈
July 19, 20221회
바삭한 신입들의 동시성 이야기 - Kotlin 편

간단 소개
Kotlin Coroutine을 사용하여 Main-Safe한 동시성 프로그래밍을 구현하고, 성능을 최적화하는 방법에 대한 분석.
AI Summary
- Main-Safe한 동시성 프로그래밍
- Main-Safe는 메인 스레드를 블로킹하지 않아 쾌적한 앱 환경을 제공하는 것을 의미하며, 이를 위해선 동시성 코드를 효율적으로 작성해야 함.
- 콜백 대신 Coroutine을 사용하면 코드 가독성을 높일 수 있음.
- Kotlin Coroutine의 내부 동작
- CPS(Continuation Passing Style)는 함수 호출 시 Continuation을 전달하는 패러다임이며, Kotlin Coroutine은 CPS로 구현됨.
- Kotlin 컴파일러는 suspend 함수를 CPS 패러다임을 구현한 코드로 변환하여 suspend-resume을 위한 최적화된 콜백 코드를 생성함.
- 상태 머신을 활용하여 중단 가능 지점을 기준으로 코드를 분리하고, label과 변수를 관리함.
- Coroutine vs Thread 성능 비교
- 멀티 스레드보다 Coroutine을 활용하면 불필요한 스레드 생성과 blocking을 줄여 성능 향상 가능.
- Coroutine은 특정 스레드에 종속되지 않아 스레드를 blocking하지 않고 작업 일시 중단 가능.
- 스레드 생성에 비해 Coroutine 생성은 더 빠르고 적은 비용으로 수행 가능.
Next Feeds

Node.js로 Firebase Dynamic Link 다루기
Node.js 환경에서 Firebase Dynamic Link를 사용하여 앱 콘텐츠로의 효율적인 연결을 구현하고 관리하는 방법을 소개합니다.
FirebaseDynamic LinkNode.jsDeep Link똑닥
2022. 7. 14.
비브로스

신입 웹프론트엔드 개발자 2개월 차 후기
신입 웹 프론트엔드 개발자의 2개월 차 후기로, Next.js, 모노레포, Storybook 학습 내용과 온보딩 경험, 개선점을 다룬다.
Next.js모노레포Storybook온보딩프론트엔드
2022. 7. 14.
비브로스
Next/Image를 활용한 이미지 최적화
Next/Image를 사용하여 이미지 최적화, 로딩 속도 개선, 사용자 경험 향상 방법을 소개하고 실제 적용 사례를 공유합니다.
Next/Image이미지 최적화lazy loadingplaceholder성능 향상
2022. 7. 14.
카카오엔터테인먼트FE
Next/Image를 활용한 이미지 최적화
Next/Image를 사용하여 이미지 최적화, lazy loading, placeholder를 구현하고 발생한 이슈 해결 과정을 설명합니다.
Next/Image이미지 최적화lazy loadingplaceholdersrcSet
2022. 7. 14.
카카오엔터테인먼트FE

9가지 프로그래밍 언어로 배우는 개념: 1편 - 타입 이론
타입 이론을 통해 다양한 프로그래밍 언어의 특징과 에러 처리 방식을 비교 분석하고, 이상적인 코드 구현에 대한 시각을 넓힌다.
타입 이론곱 타입합 타입Nullable패턴 매칭
2022. 7. 12.
데브시스터즈
React Query와 함께 Concurrent UI Pattern을 도입하는 방법
React Query와 Suspense, Error Boundary를 활용하여 Concurrent UI 패턴을 도입하고 선언형 컴포넌트를 구현하는 방법을 설명합니다.
React QuerySuspenseError BoundaryConcurrent UI 패턴선언형 컴포넌트
2022. 7. 11.
카카오페이