Cute Bow Tie Hearts Blinking Pink Pointer

분류 전체보기 102

[Android]react-native-splash-screen 프로젝트 설정 및 사용하기(with. Kotlin)

필자의 리액트 네이티브 버전은 0.76.0 이다. 비교적 최신 버전이라 그런지 뭐가 문제인지MainActivity 파일과 MainApplication 파일이 전부 코틀린이다;;; 코틀린 파일 같은 경우엔 레퍼런스가 많이 없어 java 로 마이그레이션을 시도하였으나뭐가 문제인지 코드를 바꿔도 번번히 빌드 실패... 그래서 고민 끝에 그냥 코틀린으로 가기로 했다... 어차피 자바나 코틀린이나 비슷하긴 하기 때문에.. 암튼 RN에서 splash screen 쓰려는데 하필이면 java로 된 레퍼런스가 대부분이었고 코틀린은 레퍼런스도 적고해외 사이트까지 뒤져가며 따라해봐도 뭐 하나씩 문제가 일어났다... 결국 3일 넘게 삽질을 했다;; 이 글을 보는 누군가는 필자와 같은 답답함을 겪지 않길 바라며 글을 써본다. ..

[JS] 프로그래머스 아이템 줍기 (BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 ↑ 문제 풀이를 위한 핵심 포인트 1. 좌표를 전부 2배수 해주기 그림을 그려보면 알겠지만 사각형 끼리의 x변이나 y변의 길이 차이가 1일 경우에 문제가 발생한다. 테두리가 파여 있음에도 2차원 배열로 표현하면 이를 구별할 수 없게 된다. 따라서 x2를 통해 인위적으로 변의 길이 차이가 최소 2 이상이 되도록 바꿔준다. 2. 사각형의 테두리는 x좌표 시작점 끝점, y좌표 시작점, 끝점만 알면 편..

코테 연습 2024.10.08

[JS] 프로그래머스 네트워크 DFS 풀이

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     쉬워보이지만 마냥 쉽지 않은 DFS Lv.3 문제.BFS를 풀 때 일단 무지성 큐 생성하고 시작하는 것처럼DFS도 무지성 stack을 생성하고 방식으로 풀고 싶었다.찾아보니 굳이 이렇게 풀지 않는 사람들도 많은 것 같다(어차피 로직은 비슷하니까 굳이 싶어서 인 것 같음) stack를 직관적으로 이해하고 싶어서 이 방법을 선택 function solution(n, computers) ..

코테 연습 2024.08.13

[알고리즘] 너비 우선 탐색 BFS에 대해서 <먼저 발견된 경로가 최단 경로임을 보장하는 알고리즘>

방문 체크하는 거 알겠고 cost 저장하는 거 알겠다. 근데 풀리지 않는 한 가지 의문. 왜 최초 방문된 행렬(위치)의 값의 cost 를 저장하는가...? 한 번 방문을 하고 나면 중복을 막기 위해 visited를 true로 처리하기 때문에 그 곳엔 다시 방문할 일이 없다. 그럼 그 곳의 cost는 한 번 저장되면 다신 바뀔 일이 없다는 얘기  .. .... ....... ...........?   아니 어떻게 걔가 최소값인지 확신을 하고? 다른 최솟값의 길이 또 있을 지 어떻게 알고 cost를 막 저장해버리는 거지?  그래서 열심히 구글링 했다. 그러다 발견한 블로그 글   최단 경로 찾기: 그래프에서 두 지점 사이의 최단 경로를 찾아야 할 때 BFS가 유용하다.BFS는 너비 우선 탐색이므로 최단 경로..

코테 연습 2024.08.09

[RN] Android13 (sdk33) 알림, 사진 접근 권한 설정하기

목차- 문제 발생 배경- 여러 가지 해결 방법- 가장 간편한 해결 방법 문제 발생 배경 구글 플레이에서 안드로이드 SDK 버전 업그레이드가 강제되면서Android 13(티라미슈) 으로 어플 버전을 올려 업데이트 하게 되었다. 초반에는 문제 없는 듯 보였으나, 서서히 밀려오는 CS 문의... " 사진 권한을 동의하라는데 어플 설정에 사진 권한이 없어요. " 뒤늦게 확인해보니 Android 13에서 파일 및 미디어 접근 권한이었던 항목이 이미지, 동영상, 오디오 권한 3가지로 분할 되었던 것이었다. 즉, Android13에선 이전 버전의 코드가 구동이 안된다....(그런 권한은 이제 존재하지 않으니까.....) 그리고 더불어, 기존엔 어플 다운로드 시 알림 on이 디폴트였는데 Android13이 되면서 of..

[JS/React/RN] axios interceptors로 JWT 토큰 재발급 후 API 재호출 (feat. React-native Hook에서 사용하는 법)

목차 - axios interceptors 사용 시 장점 - JWT 토큰 요청 헤더에 넣어주는 법 - access, refresh token 만료 시 재발급 받기 - RN Hook에서 사용하는 법 Axios Interceptors를 사용하게 된 배경 및 장점 기존에는 api 요청을 보낼 때마다, 모든 요청에 JWT 토큰을 담은 header를 매번 넣어줬다. 개발 초기 단계일 땐 큰 문제가 없었지만, 유지보수와 업데이트를 하며 기능이 늘어 api 요청이 늘 때마다 중복된 코드가 계속해서 추가되었다. 100개가 넘어가는 api 요청 코드를 당장 뜯어고칠 수는 없었기에 현황을 유지했지만, 기존 코드는 JWT 토큰의 유효기간이 없다는 치명적인 단점이 존재했다...(100년이었으니 사실상 없는 거나 마찬가지) 이..

[Recoil] Recoil로 리액트 네이티브 컴포넌트 강제로 새로고침하기

목차 - recoil을 쓰게 된 이유, 장점 및 단점 -리액트 네이티브 RefreshControl + recoil selector 로 api 재호출하기 recoil을 쓰게 된 이유, 장점 및 단점 기존 프로젝트에서는 놀랍게도 state를 전역으로 관리하지 않았다(놀라움..) 따라서 개발 과정이 매우 번거로웠고, 매 페이지마다 회원 정보를 불러오는 api를 호출해야하는 치명적인 단점이 존재했다. 보다 효율 높은 유지보수를 위해 recoil을 사용하여 전역관리를 하기로 어렵게 결정하였다...! (사용법이 쉽고 요새 많이 쓰는 추세라서..) 무려 70개가 넘는 screen을 다 바꿔야했지만... 미래를 생각해서 진행하기로 했다. recoil selector를 사용했더니 loading 상태를 별도로 관리하지 않..

[nodejs] Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core 에러 해결하기

레파지토리에서 clone받아온 파일의 모듈을 깔고, 실행을 해야하는데 npm install 부터 실패했다....... 뭔 짓을 해도 아래의 에러가 계속해서 발생하였다. 미치는 줄 알았다. Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core babel도 지워보고 모듈을 깔았다 지웠다 반복했음에도 해결되지 않았다 --; 별의 별 짓을 다 해보면서 해결하게 됐는데, 안됐던 이유는 package.json에 다운로드한 모듈의 이름은 @babel/cli인데 열심히 npm uninstall babel-cli 를 하고 있었따 ^^; 본인이 설치한 라..

에러 해결 2022.11.29