TypeScript로 코드를 작성하다 보면 아래와 같은 상황을 마주칠 수 있습니다.const args = [8, 5];// ❌ 에러: 2개의 인수가 필요한데, 0개 이상을 가져왔습니다.// Error: Expected 2 arguments, but got 0 or more.const angle = Math.atan2(...args);분명 args 배열에는 두 개의 숫자가 들어있는데, 왜 TypeScript는 Math.atan2 함수에 인수가 정확히 두 개 전달될 것이라고 확신하지 못하고 오류를 발생시킬까요? 하지만 아래처럼 as const를 추가하면 오류가 사라집니다.const args = [8, 5] as const;// ✅ 정상 작동const angle = Math.atan2(...args);이 차이..
React 애플리케이션을 개발하다 보면 성능 문제에 부딪히는 순간이 옵니다. 특히 컴포넌트가 복잡해지고 상태(state)가 많아질수록 사소한 변경에도 불필요한 렌더링이 발생하며 앱이 느려지기 시작합니다.이때 우리에게 필요한 것이 바로 성능 최적화이며, 그 중심에 있는 Hook이 바로 useMemo입니다.useMemo의 핵심 아이디어는 **"계산된 값을 렌더링 사이에 기억하는 것"**입니다. 이를 통해 비용이 큰(expensive) 계산 결과를 메모리에 저장해두고(memoizing), 필요할 때만 다시 계산하여 애플리케이션의 성능을 향상시킵니다.useMemo란 무엇이고, 어떻게 작동할까요?useMemo는 두 개의 인자를 받는 React Hook입니다.생성 함수 (creation function): 값을 계..

WHY EXPOexpo는 rn cli에 비해서 사용할 수 있는 library도 제한 되어있고 앱 무게도 무거워 지는 등 rn cli에 비하면 많은 단점들이 존재합니다.그러나 군대 내에서 react native 공부를 하는데 expo만한 것이 없다고 생각하고 expo에게 매우 큰 감사를 표시하는 바입니다.그 이유는 별도의 use연결을 통해 자신의 핸드폰으로 빌드하거나, 가상 디바이스를 설치할 필요 없이 expo go앱을 통해서 앱 개발 과정을 실시간으로 확인할 수 있기 때문입니다. 처음에 react native cli로 개발 및 rn공부를 하려고 했으나 군대에서는 비인가 use를 연결할 수 없고, 사지방 컴퓨터에 가상 android머신을 설치하는것 역시 그림의 떡이었죠..그래서 빌드한 후 결과를 확인하기 ..
- Total
- Today
- Yesterday
- 토글버튼
- 일괄삽입
- 정수록
- as const
- useMemo
- C++
- 코딩
- 동일한 문구
- DP
- 브랜트포트 알고리즘
- react native
- 다이나믹 프로그래밍
- 중국인의 나머지 정리
- typescript
- codespace
- expo cli
- 구간합
- 알고리즘
- 브루트포스 알고리즘
- 같은 내용
- 백준
- DFS
- 프로그래밍
- figma
- BFS
- 메모리 초과
- 퀵 정렬
- 해시맵
- 그래프 알고리즘
- boj
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |