목록프론트엔드 (46)
기술 블로그
expo의 장점과 eas 지출회피를 같이하기 위해 prebuild를 사용하고 있었으나prebuild 시 ios 폴더가 초기화되는 현상 떄문에 fastlane을 적용하기 어려웠다.방법 1. expo config plugin방법 2. app.json 설정위 방법들은 prebuild시 유지해야할 항목을 보존하는데 도움을 줄 순 있으나 fastlane 관련 파일을 보존하긴 어려워prebuild와 복구 명령어를 통합하기로 했다.fastlane 폴더를 루트에서 백업bash/project-root┣ /fastlane-template/┃ ┣ Appfile┃ ┗ Fastfile2. expo prebuild 이후에 복사bashnpx expo prebuild --cleancp -R ../fastlane-template io..
npx expo prebuild --cleancd iospod installopen ios/nocotine.xcworkspace왼쪽 상단에서 "nocotine" → "nocotine" (프로젝트, 파란색 아이콘) 클릭TARGETS > nocotine 선택Signing & Capabilities 탭에서Team: Apple Developer 계정 선택Bundle Identifier: com.jaegwan.nocotine 맞는지 확인Provisioning Profile: 자동으로 맞춰주거나, 직접 선택(Ad Hoc 등)Build Settings > Versioning에서Current Project Version: 빌드 넘버(예: 3)Version: 마케팅 버전(예: 1.0.2)상단 Scheme에서 "Any i..

0. eas build는 github repo를 기반으로 빌드app.json 파일 점검하여 ios:{buildNumber} 등 체크1. ipa 생성npm install -g eas-clieas logineas build:configure # (최초 1회)eas build -p ios --profile production # 필요시 --clear-cache 위 과정을 따른 후 빌드가 완료되면 EAS 에 접속 해 ipa 를 내려받는다.2. apple connect에 전송 3. 심사 제출
작성중

정확한 알람 예약은 기본적으로 거부됨 https://developer.android.com/about/versions/14/behavior-changes-all?hl=ko 안드로이드 14부터 정확한 알람 권한이 비활성화 되어 사용자로 부터 권한을 받아야 한다. 사내에서 운영 중인 어플리케이션은 rn 서드파티 라이브러리를 통해 권한을 요청하고 관리해왔지만 현 시점 대응한 라이브러리가 없어 직접 네이티브 모듈을 구축해야했다. SCHEDULE_EXACT_ALARM은 선택적 권한이 아니기 때문에 알림상자로 권한 승인은 불가능하고 해당 앱의 설정으로 이동시켜주는것이 최선이다. // android/app/src/main/AndroidManifest.xml . . // android/app/src/main/java/..
axios와 fetch모두 데이터 패칭을 위한 도구이다. 가장 큰 차이점은 axios는 외부 라이브러이인 반면 fetch는 자바스크립트에서 기본으로 제공한다. fetch fetch('https://cataas.com/cat') .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.blob(); }) .then(blob => { document.getElementById('catImage').src = URL.createObjectURL(blob); }) .catch(error => { console.error('There was a problem with the fetc..

코딩테스트 문제 복기 문제 조건 배열로 아이템이 제공된다. 각 아이템은 name, score 쌍의 데이터를 가진다. score을 기준으로 들어온 아이템을 정렬해야한다. score, 들어온 순으로 우선순위를 가진다. 만약 같은 name으로 기존보다 더 높은 score가 들어온다면 업데이트한다. score순으로 정렬되었을때 특정 갯수(이하 K) 안에서 순위에 변동(순위에 영향을 끼치지 못하는 정도의 score변동은 미해당)이 있을 때 count를 +1 한다. 알맞은 count를 반환하시오 분석 위 문제에 대해 주요 포인트는 2가지 이다. 중복된 name값을 가진 아이템은 업데이트 할것 score값에 따라 정렬할 것 이전 값과 비교하여 변화를 count 할것 3번의 경우에는 최신 업데이트한 rank값과 직전..
클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합- mdn function outer(){ const name = 'kyle'; console.log(name) return function inner(){ const greeting = 'hello!' console.log(greeting,name) } } const getKyle = outer() //kyle getKyle() //hello!kyle inner함수는 자신이 생성될 때의 환경을 "기억"한다. 이 환경은 클로저가 선언된 시점의 변수뿐만 아니라, 그 변수들이 존재했던 외부 함수의 스코프를 포함한다. 여기서 스코프는 변수가 가지는 유효 범위를 의미한다. 렉시컬 환경(Lexical Environment)은 코드가 작성된 구조와 위치에 기반하여..
자바스크립트에서 객체의 최상단 레벨만 값으로서 복사되는 것을 얕은 복사라고 하고 모든 레벨에서 값으로서 복사되는 것을 깊은 복사라고 한다. 깊은 복사를 위한 방법으로는 다음과 같은 방법이 있다. JSON.stringyfy JSON.stringify()와 JSON.parse()를 이용한 깊은 복사(deep copy) 방법은 JavaScript 객체를 복사할 때 사용할 수 있는 간단한 방법 중 하나이다. 이 방법은 객체의 모든 내용을 문자열로 변환한 다음, 그 문자열을 다시 객체로 파싱하여 복사본을 생성하는 방법이다. 단점 경우에 따라 다를 수 있으나 크기가 클 경우 성능 문제가 있다. 함수와 메서드는 문자열로 변환되지 않기 때문에 복사된 문자열에는 포함되어있지않다. 객체가 순환참조를 가지고 있다면 에러가 ..
https://developer.mozilla.org/ko/docs/Web/HTTP/Status 작성중