본문 바로가기

개발이야기/Javascript

TypeScript: Partial, Pick, Omit을 이용한 타입 커스터마이징 Typescript의 유틸리티 타입은 코드의 재사용성을 높이고, 타입 안전성을 강화하는 데 도움을 줍니다. 여기서는 Partial, Pick, Omit 같은 유틸리티 타입을 자세히 살펴보겠습니다. 1. Partial Partial 유틸리티 타입은 T 타입의 모든 속성을 선택적(Optional)으로 만듭니다. 이는 객체의 일부 속성만 업데이트할 때 유용하며, 모든 속성을 필수로 하지 않아도 됩니다. 예를 들어, 사용자 프로필 정보를 부분적으로 업데이트하는 경우에 적합합니다. interface MemberParams { username: string; phone: string; password: string; } type PartialMemberParams = Partial; const updateMembe.. 더보기
상태 관리의 기술: Redux의 기본부터 실용적인 사용법까지 Redux는 JavaScript 애플리케이션에서 상태 관리를 위한 인기 있는 라이브러리입니다. 특히 React와 함께 많이 사용되지만, React에 국한되지 않고 다른 프레임워크나 라이브러리와도 함께 사용할 수 있습니다. Redux 소개 Redux의 핵심 개념: Store: 애플리케이션의 상태를 저장하는 곳입니다. 전체 애플리케이션은 하나의 스토어를 사용합니다. Action: 상태 변화를 일으키는 이벤트입니다. 객체 형태로 표현되며, type 속성을 반드시 가지고 있어야 합니다. Reducer: 액션에 의해 상태가 어떻게 변경되어야 할지를 정의하는 함수입니다. 이전 상태와 액션을 받아 새 상태를 반환합니다. Redux의 작동 원리: 애플리케이션의 데이터(상태)는 중앙의 스토어에 저장됩니다. 상태를 변경하.. 더보기
React Query의 이해 소개 React Query는 서버 상태 데이터 관리를 단순화하는 데 탁월한 React 라이브러리입니다. 이 도구는 원격 데이터의 가져오기, 동기화, 업데이트, 캐싱을 단순화하면서, MobX 및 Redux와 같은 다른 상태 관리 라이브러리와 명확하게 구분됩니다​​​​. React Query의 기본 개념 React Query는 서버로부터 데이터를 효율적으로 가져오고, 캐싱하여 애플리케이션의 성능을 최적화합니다. 이는 복잡한 상태 관리 로직을 줄이고, API 오류를 쉽게 처리할 수 있게 도와줍니다​​. 설치 및 기본 설정 React Query를 사용하기 위해 먼저 npm을 통해 설치하고, QueryClientProvider를 사용하여 애플리케이션에 통합합니다. 이 과정은 다음과 같습니다: npm install.. 더보기
React Native에서 iOS 카메라 권한 추가 1. iOS 카메라 권한 관리의 중요성 모바일 앱 개발에서 사용자 권한 관리는 사용자 경험과 보안 측면에서 매우 중요합니다. 특히, React Native에서 iOS 애플리케이션을 개발할 때, 카메라와 같은 중요한 기능에 대한 권한을 관리해야 합니다. 이 블로그 포스트에서는 react-native-permissions 라이브러리를 활용하여 iOS 애플리케이션에서 카메라 권한을 관리하는 방법을 안내합니다. 2. react-native-permissions 라이브러리 설치 React Native 프로젝트에서 권한 관리를 위해서는 먼저 react-native-permissions 라이브러리를 설치해야 합니다. 이 라이브러리는 React Native 환경에서 다양한 모바일 권한을 쉽게 관리할 수 있도록 도와줍니.. 더보기
iOS 프로젝트 초기화: React Native 개발자를 위한 실용적인 해결책 1. 서론 React Native 개발 과정에서 발생하는 오류는 개발자에게 큰 도전이 될 수 있습니다. 특히, "Could not automatically select an Xcode project. Specify one in your Podfile like so"라는 오류 메시지는 많은 이들이 공통적으로 직면하는 문제 중 하나입니다. 이 블로그 포스트의 목적은 이 오류의 해결 방법과 iOS 프로젝트 초기화 과정을 상세하게 설명하는 데 있습니다. 2. 오류의 원인 분석 이 오류 메시지는 React Native와 Xcode 프로젝트 간의 상호작용 문제에서 주로 발생합니다. React Native는 Xcode 프로젝트를 자동으로 인식하고 연결해야 하는데, 때때로 이 과정에서 실패할 수 있습니다. 이러한 실패.. 더보기
React Native vs Nativescript-Vue: 플랫폼별 장단점과 최적의 선택 모바일 앱 개발 시장에서 React Native와 Nativescript-Vue는 크로스플랫폼 개발 옵션으로 인기를 얻고 있습니다. 각각의 프레임워크는 고유의 장점을 가지고 있으며, 개발자들은 자신의 프로젝트 요구사항에 맞는 선택을 해야 합니다. React Native의 특징 및 장단점 React Native는 Facebook에 의해 개발되었으며, JavaScript를 사용하여 iOS와 Android 모두에 대한 네이티브 앱을 개발할 수 있게 해줍니다. 장점: 큰 커뮤니티, 풍부한 라이브러리와 도구, 빠른 개발 속도. 단점: 복잡한 UI에는 한계가 있을 수 있으며, 때때로 네이티브 코드의 필요성이 발생. Nativescript-Vue의 특징 및 장단점 Nativescript-Vue는 Vue.js를 기반으.. 더보기
React Native vs. Flutter: 새로운 모바일 개발 세계를 탐험하다 도입: 모바일 개발의 새로운 선택 1. React Native 소개와 특징: React Native는 Facebook에서 개발한 오픈 소스 프레임워크로, JavaScript와 React를 기반으로 한다. 이를 통해 하나의 코드베이스로 iOS와 Android 어플리케이션을 개발할 수 있다. React의 컴포넌트 기반 아키텍처를 사용하므로 React에 익숙한 개발자들에게는 더욱 쉽게 다가올 것이다. 예를 들어, JSX 문법을 사용하여 UI를 정의할 수 있다. 2. Flutter 소개와 특징: Flutter는 Google에서 개발한 UI 툴킷으로, Dart 언어를 사용한다. 단일 코드베이스로 iOS와 Android에서 고품질의 네이티브 앱을 빌드할 수 있으며, 위젯 기반의 UI를 제공한다. Hot Reload.. 더보기
react-native-vision-camera 사용중 발생 오류 요즘은 React-Native를 이용해 회사의 신규 플랫폼을 개발중이다. 그 중에 카메라 기능이 필요하여 React-native-Vision-camera 패키지를 찾았고 설치를 했더니 바로 오류가 발생 하였다. 최초 오류내용은 [VisionCamera] react-native-worklets-core not found, Frame Processors disabled! 일단 오류가 발생하면 기본적인 부분 부터 확인해볼 필요가 있다. 공식 문서를 참고 하면 Android 기준으로 build.gradle 파일에 buildToolsVersion to 33.0.0 이상인지 compileSdkVersion to 33 이상인지 targetSdkVersion to 33 이상인지 minSdkVersion to 26 이상.. 더보기