반응형

2025/01 42

[Setting | ReactNative] 개발환경 구축하기 (7) - iOS 빌드

개발된 앱을 실제 핸드폰에서 테스트 하고 배포하기 위해 iOS 빌드 설정을 정리한다.> 작성일 : 2025-01-31> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77> Device : iPhone se2기본앱 설치 후 진행 - Link메뉴얼 참고 - Link  iOS 의존성 설치 및 Xcode로 프로젝트 오픈프로젝트 디렉토리에 ios로 이동해 의존성을 설치하고 open 명령을 통해 프로젝트를 Xcode에서 연다.cd iospod installopen {프로젝트명}.xcworkspace   iOS 기기 개발용으로 설정iOS 기기에서 설정 - 개인정보 보호 및 보안 - 개발자 모드 켜기 - 재부..

Setting 2025.01.31

[Setting | ReactNative] 개발환경 구축하기 (6) - Android 빌드

개발된 앱을 실제 핸드폰에서 테스트 하고 배포하기 위해 Android 빌드 설정을 정리한다.> 작성일 : 2025-01-30> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77기본앱 설치 후 진행 - Link메뉴얼 참고 - Link  SDK 경로 설정프로젝트 디렉토리에 android/local.properties 파일에 Android SDK 경로를 설정한다.sdk.dir=/Users//Library/Android/sdk   디버그 서명 키 설정프로젝트 디렉토리에 android/app/build.gradle 파일에 키를 설정한다. ... signingConfigs { deb..

Setting 2025.01.30

[Setting | ReactNative] 개발환경 구축하기 (5) - React Query 적용

앱에서 데이터를 관리하기 위해 React Query를 적용하는 방법을 정리한다.> 작성일 : 2025-01-30> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77기본앱 설치 후 진행 - Link메뉴얼 참고 - Link  React Query 설치생성된 프로젝트에서 아래 명령을 수행npm install @tanstack/react-query   QueryClientProvider로 감싸기앱의 레이아웃 최상위에 QueryClientProvider로 감싸주어 전역에서 사용할 수 있도록 한다.// Create a clientconst queryClient = new QueryClient()functi..

Setting 2025.01.30

[Setting | ReactNative] 개발환경 구축하기 (4) - Icon 적용

앱에 아이콘을 사용할 수 있도록 React-native-vector-icons 을 적용하는 방법을 정리한다.> 작성일 : 2025-01-28> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77기본앱 설치 후 진행 - Link메뉴얼 참고 - Link React Navigation 설치생성된 프로젝트에서 아래 명령을 수행npm install react-native-vector-iconsnpm install -D @types/react-native-vector-icons iOS 설정 pod installnpx pod-install Xcode를 통해 프로젝트 오픈Finder에서 /ios/.xcworks..

Setting 2025.01.28

[Setting | MacOS] Java (Jdk) Install

Java 기반의 개발(Android)을 위해 JDK 설치 방법을 정리한다.> 작성일 : 2025-01-27> OS : macOS Sequoia 15.2 (Apple M4)  OpenJDK 사이트에 접속해 압축파일 다운로드Openjdk - LINKLink를 통해 다운로드 사이트로 이동하여 macOS용 압축파일을 다운로드 받는다.  압축해제 및 환경변수 설정압축을 해제 하여 라이브러리 폴더에 넣는다.터미널에서 다음 명령으로 환경변수를 설정한다.vim $HOME/.zshrc# 아래코드 삽입 후 :qw (저장 후 닫기)export JAVA_HOME=$HOME/{jdk경로}/Contents/Homeexport PATH=$PATH:$JAVA_HOME/bin   설치 확인아래 명령으로 Java 설치를 확인한다.jav..

Setting 2025.01.27

[Setting | ReactNative] 개발환경 구축하기 (3) - React Navigation 적용

앱에서 라우팅 및 네비게이션을 제공하기 위해서 React Navigation 적용방법을 정리한다.> 작성일 : 2025-01-27> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77기본앱 설치 후 진행 - LinkTailwind 적용 후 진행 - Link메뉴얼 참고 - Link  React Navigation 설치생성된 프로젝트에서 아래 명령을 수행npm install @react-navigation/nativenpm install react-native-screens react-native-safe-area-context   Android MainActivity 설정프로젝트 android/ap..

Setting 2025.01.27

[Setting | ReactNative] 개발환경 구축하기 (2) - Tailwind 적용

React Native 에서 Tailwind 사용을 위한 설정방법을 정리한다.> 작성일 : 2025-01-26> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.77기본앱 설치 후 진행 - Link  nativewind & tailwindcss 설치nativewind 2.0.11 (현시점 기준 4버전은 잘 작동하지 않음), tailwindcss 3.2.2 (nativewind 2.0.11과 호환) 를 추가한다.npm install nativewind@2.0.11npm install react-native-css-interopnpm install -D tailwindcss@3.2.2   초기화tail..

Setting 2025.01.26

[Setting | ReactNative] 개발환경 구축하기 (1) - 기본앱 설치 및 실행

React Native 개발환경 구축 절차를 정리한다. (기본 가이드에 Framework - Expo 사용을 권장하고 있으나 유연성 문제로 미사용)> 작성일 : 2025-01-22> OS : macOS Sequoia 15.2 (Apple M4)> NodeJS : v22.13.1> NPM : v10.9.2> ReactNative : v0.76HomeBrew 설치 후 진행 - LinkRuby Update 설치 후 진행 - LinkXcode 설치 후 진행 - Link 필요기능 설치터미널 창을 열고 아래를 실행해 설치한다.sudo gem install cocoapodsbrew install watchman 기존 설치버전 제거간혹 충돌로 예상치 못한 이슈가 발생할 수 있으므로 제거 후 최신 버전으로 재설치npm ..

Setting 2025.01.25

[Setting | MacOS] Xcode Install (With. Command Line Tools / Simulator)

macOS에서 개발에서 필수적으로 필요한 XCode를 설치하고 앱개발에 필요한 추가 툴 설치법을 정리한다.> 작성일 : 2025-01-23> OS : macOS Big Sur v11.7.10 (Intel CPU)  AppStore를 통해 설치AppStore에서 Xcode를 검색하여 설치한다.  설치중설치시 해당 OS에서 최신 버전을 지원하지 않으면 자동으로 이전버전으로 설치되며 시간이 조금 오래걸린다.  설치 확인Launchpad > Xcode 실행 | 최초 실행시 라이센스 동의가 필요하다.  Command Line Tools 설치다른 개발 툴과 연계 (React Native 등)를 위해서는 필수로 설치해야 한다. 터미널에서 실행한다.xcode-select --install에러 : 아래와 같이 이미 설치..

Setting 2025.01.23

[Setting | MacOS] Ruby Version Update

macOS에서 개발시 기본 설치된 Ruby 버전이 낮아 에러가 발생하는 경우 업데이트 하는 방법을 정리한다.> 작성일 : 2025-01-23> OS : macOS Big Sur v11.7.10 (Intel CPU)HomeBrew 설치 후 진행 - Link 2가지 Ruby Version Manangerrbenv (lightweight) or RVM (powerful) : [참고] Ruby 사이트 - LINK 설치 명령 실행brew 명령으로 renv / ruby-build를 설치한다.brew install rbenv ruby-build 환경변수 설정rbenv사용을 위한 환경변수를 설정한다.echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc echo 'eval ..

Setting 2025.01.23

[Setting | MacOS] HomeBrew(MacOS 패키지 관리자) 설치

개발에 필요한 패키지를 관리해주는 HomeBrew 설치 법을 정리한다.> 작성일 : 2025-01-23> OS : macOS Big Sur v11.7.10 (Intel CPU)  Brew 사이트에 접속한다.Brew.KR - LINK  터미널에서 실행설치 명령을 복사해 터미널 앱에서 실행/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"   Next steps설치 완료 후 안내되는 Next Steps를 터미널 창에 실행한다. (환경변수 설정)echo >> /Users/opendocs/.zprofileecho 'eval "$(/usr/local/bin/brew shellenv)"' >> /..

Setting 2025.01.23

[Tip | Git] detected dubious ownership in repository

GitHub으로 부터 pull 수행시 에러에 대해 정리한다.> 작성일 : 2025-01-22> git : version 2.34.1  문제상황GitHub으로 부터 pull 명령 수행시 아래와 같이 에러가 발생fatal: detected dubious ownership in repository at '/docker/mungpl-docs'To add an exception for this directory, call: git config --global --add safe.directory /docker/mungpl-docs   문제확인에러 내용으로 보아 해당 폴더를 예외로 추가해 주면 해결 될것으로 보인다.To add an exception for this directory단순히 명령을 수행하..

Tip 2025.01.22

[Setting | Ubuntu] Nginx 설치 및 인증서 설정

우분투 환경에 Nginx를 설치하고 서비스에 인증서 세팅하는 방법을 정리한다.작성일 : 2023-12-20OS : Ubuntu 22.04 LTSNginx : 1.18.0 apt update & upgradesudo apt updatesudo apt upgrade 이전버전 삭제sudo apt remove nginx nginx 설치sudo apt install nginx certbot 설치Certbot은 HTTPS를 활성화하기 위해 수동으로 관리되는 웹사이트에서 Let’s Encrypt 인증서를 자동으로 사용하는 무료 오픈 소스 소프트웨어 도구입니다.Certbot - LinkLet's Encrypt - Linksudo apt install certbotsudo apt install python3-certbo..

Setting 2025.01.18

[Tip | MySQL] MySQL Deadlock found when trying to get lock

java.sql.SQLException: Deadlock found when trying to get lock; try restarting transaction Query: update …> 작성일 : 2015-10-05> OS : CentOS 문제상황특정 테이블에 쿼리 실행시 데드락이 발생하였다.java.sql.SQLException: Connection is closed.java.sql.SQLException: Deadlock found when trying to get lock; try restarting transaction Query: update table set ... where field1=? and field2=? Parameters: [test1,test2] 문제확인mysql의 경우 ..

Tip 2025.01.14

[Tip | Memcached] MemcachedClient getClient Exception

MemcachedClient getClient Exception : java.lang.IllegalStateException: Shutdown in progress> 작성일 : 2015-10-14> OS : CentOS  문제상황(Was(Tomcat) * 2) + DB(Mysql)2 + memcached\1 구성의 게임서버환경에서 서비스가 정지되어 버리는 현상이 발생하였다. 접속시간대 로그는 다음과 같이 Xmemcached가 멈췄다는 에러를 출력하고 있었다. 그리고 이상한건 WAS가 죽어있었다.ERROR ({http-bio-80-exec-40} MemcachedConnection.java[getClient]:252) [2015-10-14 18:49:45,948] - ==> MemcachedClient g..

Tip 2025.01.14

[Concept | Auth] 회원인증 플로우 정리 (5) - RefreshToken 운용

3계층 구조의 서버환경에서 RefreshToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자가 권한을 필요로 하는 정보 요청1차 AccessToken 확인 불가시 RefreshToken으로 재인증 처리한다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 RefreshToken을 해더에 넣..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (4) - AccessToken 운용

3계층 구조의 서버환경에서 AccessToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS 전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어 상세 사용자가 권한을 필요로 하는 정보 요청브라우저를 통해서 요청폼이 전달된다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 AccessToken을 해더에 넣어 호출한다.Frontend : 브라우저를 통해 전달된(..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (3) - 회원로그인 (SignIn)

3계층 구조의 서버환경에서 회원로그인 플로우를 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자 로그인 요청브라우저를 통해서 로그인폼이 전달된다.Frontend : 사용자에게 로그인진행 화면을 제공 로그인 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 회원정보 조회 회원로그인 실패 처리회원 조회불가, 비밀번호 불일치시 또는 ..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (2) - 회원확인 (Verify)

3계층 구조의 서버환경에서 이메일 인증시 회원확인 플로우를 정리한다.> 작성일 : 2025-01-12> Cloud : AWS  전체 플로우User(Browser) : 사용자가 이메일로 받은 링크를 브라우저 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)   상세 사용자 가입시 전달받은 이메일 클릭이메일에서 링크를 클릭하면 브라우저에서 인증이 실행된다.Frontend : 사용자에게 인증키(이메일 링크에 포함)를 전달받는다. 확인 API 호출인증키가 전달되어 복호화 및 유효성 체크Frontend : API 호출Backend : 키값을 복호화 하고 DB를 통해 유효성을 체크 회원확인..

Concept 2025.01.12

[Concept | Auth] 회원인증 플로우 정리 (1) - 회원가입 (SignUp)

3계층 구조의 서버환경에서 회원가입 플로우를 정리한다.> 작성일 : 2025-01-10> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)AWS SNS : 이메일을 통해 사용자 인증   상세 사용자 가입 요청브라우저를 통해서 가입폼이 전달된다.Frontend : 사용자에게 가입진행 화면을 제공 가입 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 가입정보의 유효성을 체크 회원가입 실패 처리유효성 체크 실패시 또는 기타 에러에 대한처리Backend..

Concept 2025.01.10
반응형