안녕하세요. 오늘은 Google OAuth 인증을 팝업모드로 구현한 과정을 소개하고자 합니다. Background Google Ads 계정을 가져와야 하는 로직이 있었습니다. Process 1. 서버에서 Google 계정 연동을 위한 URL을 받습니다. 2. 받은 URL로 Google 계정 연동 버튼 클릭 시 팝업 창을 띄웁니다. 3. Google 연동 후 Callback URL에서 코드를 가져옵니다. 4. 가져온 코드로 User의 Google Account ID를 저장한 후 다음 단계로 넘어갑니다. 1번~3번의 과정은 클라이언트에서도 Google Client ID를 사용하면 code를 받을 수 있어 처음에는 @react-oauth/google이라는 라이브러리를 설치하여 구현하였습니다. 하지만 특정 이유..
React Native의 FlatList, ScrollView 와 같은 컴포넌트에는 refreshControl 속성이 있습니다. 이 prop을 사용하면 사용자가 스크린을 아래로 내릴 때 (Swiping Down) 리스트를 새로고침할 수 있는 기능을 구현할 수 있습니다. 해당 기능은 refreshControl이라는 속성에서 제공되는데요. 자세한 기본 설명은 React Native 문서를 참고해주세요. 이번 글에서는 refreshControl를 구현하기 위해 생성한 useRefreshing이라는 커스텀 훅에 대해 알아보겠습니다. 이 훅은 리액트 쿼리(Query)를 무효화하고 새로고침하는 기능을 제공하여 애플리케이션의 데이터 관리를 향상시킵니다. useRefreshing 의 기능과 목적 useRefreshin..
안녕하세요, 오늘은 리액트네이티브에서 navigation, route를 사용할 때 유용한 제네릭타입을 만든 과정을 소개해보고자 합니다. 제네릭 타입을 사용하여 다양한 내비게이션 관련 속성과 타입을 정의하는 방법에 대해 알아보겠습니다. 제네릭 타입은 TypeScript에서 매우 유용한 기능으로, 타입 안정성을 유지하면서 여러 유형의 값을 다룰 수 있습니다. 이를 활용하여 내비게이션 관련 코드를 더 유연하고 재사용 가능하게 만들 수 있습니다. 기존 사용법 기존에는 어떻게 사용하고 있었을까요? import React from 'react'; import { BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; import { CompositeNavi..
안녕하세요. 오늘은 Node.js를 활용한 SVG 파일 자동 모듈화 방법에 대해서 작성해 보고자 합니다. Background 회사 내부에는 개발에 사용하는 tokript라는 스크립트가 있습니다. 해당 스크립트는 commit 규칙뿐만 아니라 Api, Image, svg, page 등을 생성해 주는 아주 간편하고 유용한 스크립트입니다. 문제는 React-native에서 svg파일의 아이콘을 사용할 때 선언하는 방식이 tokript의 아이콘을 생성하는 방식과는 달라서 tokript에서 gen:icon을 사용할 수 없었습니다. 수정 요청을 할까하다가 직접 만들고 싶은 호기심에 작성해 보게 되었습니다. 폴더 안의 폴더가 있어 재귀함수를 적용시켜 탐색하였습니다. 1. 원하는 모듈의 형태와 추출할 경로 들어가기 앞서..
안녕하세요 오늘은 Mac에서 Alias 설정하는 방법에 대해 알아보겠습니다. Alias 사용 배경 React native를 하면서 m1 맥북에서 CocoaPods를 설치하고 pod install를 수행해 패키지를 다운받 을 때 'pod install'이라는 명령어로 패키지를 설치하게 되는데요. Intel 프로세서 아키텍처는 x86_64 이고 Apple Silicon M1은 arm64 아키텍처를 사용하기 때문에. m1 칩을 탑재한 맥북에서는 해당 명령어가 먹지 않아 아키텍처를 바꿔주는 아래의 명령어를 실행해 주어야 합니다. arch -x86_64 pod install 업무를 하며 자주 사용하는 명령어인데 칠 때마다 꽤 길어지니 명령어를 pod으로 줄이는 방법을 고민해보게 되었습니다. Alias : 별칭 특..
안녕하세요 오늘은 최근 앱 개발을 하며 React Native를 패치(patch) 하여 사용했던 경험을 공유하고자 합니다. 해당 과정은 지난 이슈 포스팅에서 진행했던 방법 중 하나인데요. Background IOS는 Input type이 password인 경우에는 비밀번호를 다시 쳤을 때 입력했던 값들이 자동으로 삭제됩니다. 이는 IOS에서 기본으로 설정되어있는 것으로 해당 부분을 수정하려면 native언어를 수정해야 합니다. 관련 이슈를 patch-package라는 라이브러리를 사용하여서 React Native를 패치(patch) 해 보았습니다. Patch-package Library Patch-package 라이브러리는 npm 패키지 의존성은 그대로 유지하면서, 변경한 npm 패키지의 내용을 버전 관..
Implement password types manually 안녕하세요 지난번 이슈를 해결하는 과정에서 이어져 수동으로 TextInput 비밀번호 타입을 구현했던 과정에 대해 포스팅해보려고 합니다. - 리액트 네이티브 패키지에서 네이티브 언어 바꾸었던 시도 [React-native] 앱 개발을 하며 마주한 IOS secureTextEntry 관련 이슈 톺아보기 - 1. 패키지 코드 변경하기 [React-native] 앱 개발을 하며 마주한 IOS secureTextEntry 관련 이슈 톺아보기 - 1. 패키지 코드 변경하기 안녕하세요. 오늘은 최근 React native로 앱 개발을 하며 마주했던 이슈를 파헤쳤던 과정을 회고와 함께 말씀드리고자 합니다. 사실 정확히 말하면 이슈라고 할 수 없는 'IOS에..
안녕하세요. 오늘은 최근 React native로 앱 개발을 하며 마주했던 이슈를 파헤쳤던 과정을 회고와 함께 말씀드리고자 합니다. 사실 정확히 말하면 이슈라고 할 수 없는 'IOS에서의 의도적인 행동'이었지만, 그냥 이슈라고 칭하겠습니다. 참고로 해당 이슈는 React-native단에서 해결할 수 있는 것이 아니라는 결론이 나서 결국에는 수동으로 이 과정을 구현하게 되었습니다. >> 수동으로 패스워드 타입 구현하기 하지만 이 과정에서 배운 점들이 많아 글을 쓰지 않을 수가 없었습니다...!! (누군가는 해결했을지도 모르겠네요.. 그렇다면 꼭 댓글을 남겨주세요.) Issue explained IOS에서 Input type ==='password' 일 때 값을 재 입력하게 되면 비밀번호 값이 유지되지 않습..
- Total
- Today
- Yesterday
- 무한스크롤
- React
- 타입스크립트
- 모두를 위한 컴퓨터 과학
- React Query
- GIT
- 실전프로젝트
- reactquery
- 리액트
- 자바스크립트 클로저
- html
- css
- 모두를위한컴퓨터과학
- 클로저
- javascript
- 리액트네이티브
- 프로그래머스 자바스크립트
- 자바스크립트
- python
- 알고리즘자바스크립트
- 네트워크
- network
- 자바스크립트알고리즘
- github
- 프로그래머스 베스트앨범 자바스크립트
- 항해99
- 프로그래머스
- 자바스크립트 비동기 처리
- cs50
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |