본문 바로가기

728x90
반응형

전체 글

(263)
Android: Play Store Console 앱 등록 시 서명키가 변경 되는 경우 # 카카오 로그인 # 구글 로그인 # kakao # google 카카오로그인과 구글로그인의 경우 android 프로젝트를 식별할 .keystore 파일에서 얻은 키 해시를 등록해서 OAuth2 로그인을 진행 Play Console Cloud에 앱을 등록할 때, 구글에서는 구글 자체에서 생성한 서명키를 사용하기를 권장한다. 이렇게 권장방식대로 하고 카카오, 구글 로그인을 해보면 오류가 나고 진행이 되지 않는다.이는 Play Console에서 받은 앱은 구글에서 생성한 서명키를 사용해야하기 때문이다. 이 서명키를 각각 구글과 카카오에 등록을 해주어야 한다.우선 이 키는 어디있을까? https://play.google.com/console/u/0/developers 에 들어가서 앱을 선택하고, 좌측 탭에서 "설정"의 "앱 서명"으로 들어간다 들어가면 MD5, SHA-1, ..
React Native: 여러 request 병렬 처리시, 토큰 refresh 하기 # single-flight # interceptors Axios의 interceptors 기능을 통해 access token을 갱신하는 로직을 구현하는 과정에서,request에서 token이 만료되었을 때 새로운 토큰을 갱신하는 로직을response interceptors에 구현해놓은 상태였다. 그런데, 여러가지의 request를 동시에 병렬적으로 요청하는 로직에서 오류가 발생했다.예를들어 request1, request2, request3가 모두 만료된 토큰을 가지고 실행되었을 때, request1이 refresh_token을 통해 새로운 토큰을 발급받아서 new_access_token과 new_refresh_token을 발급받아서 request를 다시 요청하는 것까지는 문제가 없다. 그런데 request2부터는 access_token을 새로 발급받기 위..
React Native: Android, gradle # gradle-wrapper # AGP (com.android.tools.build:gradle) React Native를 통해 Android개발을 진행하는 과정에서 빌드를 할 때 gradle을 통해 진행이 된다.이때 gradle의 버전이 프로젝트에 따라서 중요한데, gradle의 버전과 관련하여 혼동되는 부분이 존재한다. 프로젝트/android/grale/wrapper/gradle-wrapper.properties 를 보면,distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip위와 같은 형태로 프로젝트 빌드시 사용할 gradle 버전이 명시되어 있다. 그리고 내가 현재 진행하는 프로젝트의 프로젝트/android/build.gradle 에는 다음과 같은 gradle 버전이 명시되어 있다.buildScript { ..
React Native: Android - Activity class does not exist Starting: Intent { cmp=com.nhn.android.oauth/.MainActivity } Error type 3 Error: Activity class {com.nhn.android.oauth/com.nhn.android.oauth.MainActivity} does not exist.네이버 로그인 기능을 넣기 위해,https://github.com/naver/naveridlogin-sdk-android에서 클론을 받고, Nid-OAuth 폴더를 react native 프로젝트 내의 android/app 내에 넣어주고npm run android 를 했을 때 위와 같은 에러가 발생했다. 위 에러는빌드는 모두 완료되고, 앱을 실행시킬 때 발생하는 오류이다.즉, 빌드는 완료가 된 상태이며앱을..
React Native: RN 0.75, react-native-reanimated version error # Execution failed for task ':react-native-reanimated:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details. Execution failed for task ':react-native-reanimated:compileDebugJavaWithJavac'.   > Compilation failed; see the compiler error output for details. Drawer navigation을 설치하기 위해서여러가지 dependency를 설치해줘야 하는데그 중에 react native 버전과 관련해서 react-native-reanimated 에 상당한 버그가 존재하는 것을 인터넷을 찾다보면 알 수 있다. gradle 설정도 중요하겠지만, 항상 버전 문제가 상당히 머리를 아프게 한다.  https://github.com/software-mansion/react-native-reanimated/issue..
React Native: nested navigator Navigator를 통한 screen 이동 간에, 잘 되던 navigator가 아래와 같이 오류를 뱉었다.The action 'NAVIGATE' with payload {"name":"WriteList","params":{"bo_table":"notice"}} was not handled by any navigator.Do you have a screen named 'WriteList'?If you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.  현재 프로젝트에서 Dra..
ESP32: IRAM_ATTR 충돌 오류 # warning: ignoring attribute 'section (".iram1.3")' because it conflicts with previous 'section (".iram1.0")' [-Wattributes] ESP IDF를 통해 ESP32를 개발하다 보면, 함수에 IRAM_ATTR, DRAM_ATTR 등이 붙는 함수 들이 있다. void IRAM_ATTR gpio_isr_handler(void* arg) { uint32_t gpio_num = (uint32_t)arg; BaseType_t xHigherPriorityTaskWoken = pdFALSE; xQueueSendFromISR(gpio_evt_queue, &gpio_num, &xHigherPriorityTaskWoken); if (xHigherPriorityTaskWoken == pdTRUE) { portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }}위와 같은 방식으로 사용이 되고..
MySQL: root 유저 비밀번호 설정 후에도 shell 접근이 안되는 경우 # auth_socket # mysql_native_password # mysql -u root -p Ubuntu 환경에서 MySQL 설치후,sudo 권한으로 mysql shell에 들어가서 root의 패스워드를 변경하고 나서다시 ubuntu shell에서 mysql -u root -p 명령어로 shell에 접근하려고 하는데, ERROR 1698 (28000): Access denied for user 'root'@'localhost' 위 오류가 발생하며 접근이 안되는 경우가 있다.이럴 경우 프로젝트에서 DB 설정을 통해 접근해도 같은 식으로 접근이 불가하다. sudo 권한으로 다시 mysql shell에 들어가거나sudo mysql위 명령어로 mysql에 접근하자 ( Log in to MySQL using the socket authentication (without a password) ) 그리고 아..

728x90
반응형