React Native의 Modal (3. 구조적인 성능 한계점과 해결법)
개요 Android 에서 Modal 을 쓰다 보면 코드로는 설명이 안 되는 증상들을 만난다. 모달을 열고 닫을 때 한 박자 끊긴다 모달이 뜬 직후의 첫 탭이 무시된다 모달 안에서 setState 가 일어날 때마다 버벅인다 API 응답을 모달에 반영하는 순간 프레임이
Velog(@diso592)에 정리한 프론트엔드·React Native 학습과 실무 궤적을 태그 중심으로 재구성했습니다.
개요 Android 에서 Modal 을 쓰다 보면 코드로는 설명이 안 되는 증상들을 만난다. 모달을 열고 닫을 때 한 박자 끊긴다 모달이 뜬 직후의 첫 탭이 무시된다 모달 안에서 setState 가 일어날 때마다 버벅인다 API 응답을 모달에 반영하는 순간 프레임이
Maestro는 mobile.dev가 만든 모바일 UI 자동화·E2E 테스트 도구다.
개요 React Native 의 Modal 이 Android 에서 유독 무겁게 느껴지는 이유를 코드에서 찾다 보면 답이 안 나온다. 원인이 JS 쪽이 아니라 그 아래, 안드로이드가 화면을 그리는 방식에 있기 때문이다. Android 에서 ` 은 android.app
폰을 케이블로 데스크탑에 꽂아두고 Claude Code 에게 "앱이 왜 죽는지 봐줘" 라고 하면, 알아서 기기 모델과 OS 버전을 확인하고 로그를 뒤져서 크래시 원인을 찾아온다. 처음 보면 Claude Code 가 폰과 직접 통신하는 특별한 기능이 있는 것처럼 느껴진다
개요 Modal 은 React Native 가 기본으로 제공하는 코어 컴포넌트다. 현재 화면 위에 콘텐츠를 띄워 사용자의 흐름을 잠시 끊고 확인이나 입력을 받을 때 쓴다. 알림, 확인 다이얼로그, 이미지 뷰어, 짧은 폼 정도가 흔한 용도다. 이름만 보면 zIndex
개요 앞 편들에서 dev/beta/pro 세 환경을 TestFlight·Play Store까지 올리는 뼈대를 완성했다. 이번 편은 그 위에 얹는 마감 작업 세 가지를 다룬다. 환경별 아이콘·표시 이름 분리 — 한 폰에 dev/beta/pro를 깔았을 때 눈으로 구분
개요 reanimated, gesture-handler, mmkv, vision-camera 같이 네이티브 코드를 포함한 라이브러리를 다룰 때, 실무에서 반복적으로 부딪히는 것들만 추렸다. 한 줄 요약하면 "JS 패키지만 올리면 끝이 아니다. 플랫폼별 한 단계가 더
개요 AppState는 React Native가 제공하는 모듈로, 앱이 포그라운드에 있는지 백그라운드에 있는지를 알려준다. AppState.currentState는 그중에서 현재 앱 상태를 동기적으로 읽을 수 있는 정적 프로퍼티이다. 이벤트를 기다리지 않고 즉시 현
개요 출시 준비를 "스토어 심사를 통과하는가"로만 보면 절반만 보는 것이다. 실제로 문제가 되는 건 올린 뒤다. 디버그에서 멀쩡하던 화면이 릴리스 빌드에서 흰 화면이 되고, 심사에서 막히는 지점은 대부분 코드가 아니라 정책 신고 항목이며, 출시 후에 가장 아쉬운 건
개요 React Native로 앱을 만들다 보면 한 번쯤 이런 의문이 생긴다. iOS에는 UINavigationController가 있고 Android에는 Fragment와 백스택이 있는데, 왜 React Navigation은 이걸 그대로 쓰지 않고 JS에서 화면 스
1. 문제 현상 Android에서 상세 화면 상단의 헤더(뒤로가기 · 공유 등 액션 버튼이 있는 바)에서 공유하기를 누르면 OS 기본 공유 시트(시스템 바텀시트)가 올라온다. 그 시트를 닫는 순간, 헤더가 한 번 아래로 내려갔다가 다시 제자리로 튀어 올라오는 스프링 같
1. 개요 운영체제는 메모리(RAM)를 한 바이트씩 다루지 않는다. 너무 비효율적이기 때문이다. 대신 메모리를 일정한 크기의 고정된 덩어리로 잘라서 관리하는데, 이 덩어리 하나를 페이지(page)라고 부른다. 그리고 그 덩어리의 크기가 페이지 크기(page size)
Velog GraphQL → 배포 파이프라인 → RSC 정적 렌더링까지의 흐름
Velog @diso592
GraphQL API
scripts/fetch-velog.ts
try/catch + exit(0)
src/data/velog-posts.json
committed seed
Next.js 16 RSC
utilFetchVelogArchive
/{locale}/writings
static HTML
GitHub Actions cron이 velog RSS를 폴링해 새 글 감지 시 배포 웹훅을 트리거합니다.
SOURCE
velog.io/@diso592 posts + tags
FETCH
배포 시 GraphQL 커서 페이지네이션
SEED
커밋된 시드, 실패 시 이전 JSON 유지
RENDER
서버에서 fs로 로드, RSC 정적 렌더링
OUTPUT
/{locale}/writings 정적 HTML