Cute Bow Tie Hearts Blinking Pink Pointer

전체 글 106

react-native 글꼴 ios에서만 적용 안 되는 문제 해결

RN 프로젝트에 Fonts 폴더를 넣고, 원하는 폰트 파일을 넣고npx react-native-asset 를 했으나,ios환경에서만 글꼴이 적용되지 않는 문제에 봉착했다. 1. info.plist 확인2. react-native.config.js 파일 확인3.link-assets-manifest.json 확인4. xcode Resources 폴더 안에 글꼴 파일 있는지 확인5. 캐시 삭제 후 재빌드6. 글꼴 파일 명 오타 없는 지 확인 전부 해봤음에도 해결되지 않았다.문제는 android 환경에서는 멀쩡히 된다는 것... 위의 모든 경우의 수를 다 따져봤는데도 IOS만 폰트가 적용되지 않을 경우 Mac 환경에서 폰트의 PostScript 를 확인해봐야한다. Android 같은 경우, 단순 폰트 파일명과 ..

[TS + REACT/REACT-NATIVE] 사용법

ts + react 글로 돌아왔습니다 (아무도 안 기다림) 백날 타입스크립트만 공부해봤자 프론트엔드 개발자인데 리액트에서 사용할 줄 모른다면배운 의미가 없기에 사실상 이 글의 내용이 전 글보다 더 중요하다고 볼 수 있다..react, react-native에서 ts사용하는 방법은 사실상 거의 똑같아서구별이 무의미하긴 하지만 필자는 RN에 내장되어 있는 컴포넌트를 사용할 것이기 때문에(View, Text 등)제목을 저렇게 지정했다.   그럼 빠르게 ㄱㄱ   일단, 처음에 jsx 형식으로 초기 컴포넌트를 만들어 전체적인 틀을 만들어놓고 시작하겠다.   App.tsximport React, {useState} from 'react';import {SafeAreaView, Text, View} from 'rea..

[TS] 타입스크립트 기본 + 실전편 종결

전에 근무하던 회사에서는 자바스크립트를 사용했다보니타입스크립트는 안 쓴지 시간이 조금 지났다그래서 이번 기회에예전에 했던 타스 + 리액트 프로젝트를 되짚어보며 찬찬히 정리해보려고 함!  문자열let name: string = "청포도에이드"; 숫자let today: number = 28; 배열let arr1: number[] = [1, 2, 3];let arr2: Array = [1 , 2, 3];let arr3: Array = ["청포도", "에이드"];let arr4: [string, number] = ["writer", 27]; 객체let grape: object = { name: "청포도에이드", age: 27 };  object로 타입 지정 후 안에 요소는 마음 대로 추가할 수 있음그러나 위의 ..

[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년이었으니 사실상 없는 거나 마찬가지) 이..