일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- javascript
- promise.all
- react-native-image-picker
- no-permission-handler-detected
- async
- private-access-to-photos
- hydration mismatch
- RN새로운아키텍쳐
- ios
- Promise
- RN아키텍쳐
- rn
- react native
- React-Native업데이트
- Swift
- named type
- CS
- debounce
- 비동기
- react-native-permissions
- await
- RN업데이트
- motion.div
- Throttle
- axios
- Hash-table
- react
- react animation
- animation
- react-native
- Today
- Total
목록웹개발 (29)
하루살이 개발일지

1. patch-package 란? patch-package는 자바스크립트 프로젝트에서 node_modules를 수정할 수 있게 해주는 라이브러리이다. 이를 통해 node_modules 내부에서 수정하고 싶은 부분이 있다면, 변경 사항을 패치 파일로 저장하고 git 업로드 등을 통해 쉽게 공유할 수 있게 해 준다. 2. 언제 필요한가 특정 패키지 내부 버그 수정이 필요할 때 해당 패키지가 새로운 공식 릴리즈가 되는 것을 기다릴 필요 없이 즉시 직접 수정하고 싶을 때, 혹은 프로젝트에서의 특별한 요구 사항으로 패키지를 수정하고 싶은 경우 등에 유용하다. 3. 사용 방법 3.1. patch-package 설치 // yarn yarn add patch-package postinstall-postinstall ..

JavaScript의 비동기 처리 (Event Loop와 Call Stack) 1. 자바스크립트와 싱글 스레드 자바스크립트는 싱글 스레드 기반 언어이다. 즉, 한 번에 하나의 작업만 처리할 수 있는 환경에서 동작한다. 이러한 구조는 동시에 발생하는 여러 작업을 처리할 때 제한점이 될 수 있는데, 특정 코드가 긴 작업을 수행하면 다음 코드 실행까지 전체 시스템이 멈추게 되어 비효율적이다. 1.1. 블로킹 vs 논블로킹 블로킹(Blocking)과 논블로킹(Non-Blocking)은 애플리케이션에서 작업 처리 방식을 설명할 때 사용하는 용어다. 블로킹 방식은 특정 작업이 완료될 때까지 기다렸다가 다음 작업을 수행하는 반면, 논블로킹 방식은 작업 완료 여부와 상관없이 다음 작업을 진행한다. 자바스크립트는 싱글 ..
AJAX란? AJAX는 "Asynchronous JavaScript and XML"의 약자로, 웹 페이지가 전체 페이지를 다시 로드하지 않고도 서버와 데이터를 교환할 수 있도록 해주는 기술이다. 이 기술은 사용자의 경험을 크게 향상시키며, 특히 웹 애플리케이션의 성능 개선에 중요한 역할을 한다. 1. AJAX의 탄생 배경: 과거 웹 페이지는 SSR(Server-Side Rendering) 방식을 사용했다. 이 방식은 사용자가 요청할 때마다 새로운 페이지가 서버로부터 로드되고 전체 페이지가 새로고침되었다. 이로 인해 사용자 경험은 끊겨 보일 수 있었고, 서버에 불필요한 부하를 주는 원인도 되었다. AJAX는 이러한 문제를 해결하기 위해 고안되었다. 페이지의 일부분만 비동기적으로 업데이트할 수 있도록 함으로..

콜백 지옥 1. 콜백 지옥이란? 비동기적인 JavaScript 코드에서 콜백 함수를 과도하게 중첩하여 사용할 때 발생하는 문제를 말한다. 특히 프로미스나 async/await와 같은 비동기 코드 관리 기법이 도입되기 전에 일반적이었다. 이는 다수의 비동기 연산이 서로 의존할 때 발생하며 코드의 가독성, 유지관리, 오류 처리 등에 문제를 일으킨다. doSomething(result1 => { doSomethingElse(result1, result2 => { doThirdThing(result2, result3 => { ... }); }); }); 2. 발생 이유 비동기 코드의 복잡성 : JavaScript에서 입출력, 네트워크 요청, 타이머 등은 비동기적으로 처리된다. 이는 해당 연산이 완료될 때까지 코..