728x90
반응형
SMALL
728x90
반응형
LIST
대용량 비디오 썸네일 생성 시 발생하는 Android OOM Crash를 파일 크기 가드, 2단계 캐시, 타임아웃 등 5단계 방어 전략으로 해결한 과정을 공유합니다.들어가며기업용 메신저를 개발하다 보면 사용자들이 업무 영상(회의 녹화, 프레젠테이션 등)을 공유하는 경우가 많습니다. 50MB, 100MB짜리 영상 파일이 채팅방에 올라오는 건 일상적인 일이죠. 어느 날 QA팀에서 "대용량 영상을 받으면 앱이 죽어요"라는 보고가 들어왔습니다.문제 현상Android 기기에서 50MB 이상 비디오 메시지를 수신하면 앱이 crashiOS에서는 동일 파일에서 문제 없음채팅 목록 화면에서 비디오 메시지가 렌더링될 때 발생로그: java.lang.OutOfMemoryError원인 분석비디오 메시지 컴포넌트는 미리보기 썸..
텍스트 키보드 ↔ 이모티콘 키보드 전환 시 발생하는 한 프레임 깜빡임의 원인과, useKeyboardHandler + 단일 SharedValue로 완벽 동기화한 과정을 공유합니다.들어가며채팅 앱에서 키보드 애니메이션은 가장 까다로운 UI 과제 중 하나입니다. 특히 텍스트 키보드와 커스텀 이모티콘 키보드를 전환할 때, 채팅 영역과 입력창이 정확히 동기화되지 않으면 사용자에게 "뚝뚝 끊기는" 느낌을 줍니다.문제 현상텍스트 키보드 ↔ 이모티콘 키보드 전환 시:채팅 영역의 paddingBottom과 입력창의 translateY가 한 프레임 불일치화면이 순간적으로 점프하는 깜빡임 현상특히 iOS에서 두드러짐원인 분석기존 구조의 문제는 두 개의 독립적인 키보드 높이 추적이었습니다:ChatScreen├── Keybo..
async 함수에서 cleanup 로직을 await 뒤에 두면 어떤 일이 벌어지는지, 실제 채팅 앱에서 겪은 Race Condition 디버깅 과정을 공유합니다.들어가며기업용 메신저 앱을 개발하면서 가장 까다로웠던 버그 중 하나는 대화방을 빠르게 전환할 때 간헐적으로 메시지가 수신되지 않는 현상이었습니다. 재현 조건이 "빠르게 전환할 때"라서 디버깅이 쉽지 않았고, 원인은 의외로 단순한 코드 순서 문제였습니다.문제 현상A 대화방에서 B 대화방으로 빠르게 전환하면, B방의 실시간 메시지가 수신되지 않음새로 생성된 ChatReceiver(STOMP 구독 + 30초 주기 동기화)가 unexpectedly dispose 됨느리게 전환하면 문제가 발생하지 않음 — 전형적인 타이밍 이슈원인 분석우리 채팅 엔진은 대..
https://youtu.be/7khCnHODJ3k?si=kPlYGNwiE2s7-PDF 세션 내용 요약최윤식님께서는 대규모 시스템에서 가장 큰 적은 '단일 장애 지점(SPOF)'라고 강조하셨습니다. 이를 방지하기 위한 여러 전략을 소개해 주셨는데, 그중 몇 가지를 적어보려고 합니다. ➰Server서버는 상태를 가지지 않는 Stateless로 유지되어야 한다고 하셨습니다. 상태를 가진 서버는 장애 발생 시 전체 시스템에 영향을 줄 수 있기 때문입니다. 이 Stateless 접근법은 서버의 확장성과 안정성을 높이는 데 큰 도움이 된다고 하셨습니다!➰Database데이터베이스 관리에서는 Replica를 구성해야 하며, 특히 읽기 작업은 복제된 DB에서 처리하게 함으로써 데이터의 안정성을 확보할 수 있다고 하..
안녕하세요🙌🏻 데보션 커뮤니티 여러분!데보션영 3기 정세희입니다 😊오늘은 "모던 자바스크립트 딥다이브" 도서 스터디의 마무리 후기를 남겨보려고 해요. 데보션영에서 지원해 준 이 책으로 스터디를 진행하면서 정말 많은 걸 배울 수 있었답니다! 책 소개 & 내용 요약"모던 자바스크립트 딥다이브"는 자바스크립트의 기초부터 고급 개념까지 깊이 있게 다루는 책이에요. 변수, 함수, 객체와 같은 기본적인 내용에서 시작해서, 프로토타입, 비동기 처리, 최신 ES6+ 문법까지 폭넓게 설명하고 있어요. 특히, 자바스크립트의 핵심 개념인 스코프와 클로저 부분은 진짜 '딥다이브'할 수 있도록 자세하게 설명해 주더라고요! 스터디 방식저희는 이 두꺼운 책을 격주로 진행하기로 했어요. 각자 맡은 부분을 강의할 준비..
이번에 데보션영 전문가 분과 인터뷰를 나눌 수 있는 기회가 생겼다. 데보션영에서 다른 팀의 영들을 만나기가 생각보다 쉽지 않은데,이번 기회를 통해 영들이랑도 이야기 나눌 수 있어 좋았다. 👩🏻💻 개발 인터뷰앱 개발 선택 이유 및 미래 시장 전망 이주화 프로님은 GDSC라는 구글 개발 동아리 활동을 하셨는데, 당시 활동에서 우연히 플러터에 관심을 가지게 되셨다고 했다.핸드폰 사용자들과의 밀접한 접점에서 일하고 싶다는 생각이셨는데 이 부분이 나와 같은 이유라서 공감이 되었다.앱 개발은 앞으로도 계속해서 수요가 있겠지만,특화된 네이티브 개발자의 역할이 점점 중요해질 것이라는 예상을 하셨습니다.스위프트 개발로의 전환평생 안드로이드 사용자였던 이주화 프로님은 애플 아카데미 대외활동에도 참여하셨는데, 이 ..