도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

안녕하세요 상훈입니다. 

리액트 네이티브 앱 구동해야지! 하는 순간 난데없이 날벼락을 맞았습니다.

EXPO를 사용하던, react-native-cli 를 사용하던 상관없을 것으로 판단하고 있습니다. 

ㅎㅎ

Error: adb: failed to install C:\Users\gwi01\.expo\android-apk-cache\Exponent-2.25.2.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] › Stopped server

이런 오류가 출력되었는데요, 

오류 내용 이미지

1. 어디에서는 pc를 껐다가 전체적으로 재구동 해봐라~

2. 공식 사이트에서는 SDK 를 재설치 해봐라~ 

등등의 많은 의견들을 보았습니다. 

[ STORAGE ] 라는 부분에 주목하였고,
아무래도 AVD 내부의 용량문제가 아닐까? 라는 생각에 바로 새로운 AVD 만들어주었습니다.

 

 

그 후 바로 구동해보니 정상적으로 출력됨을 확인했습니다. 

참고 바랍니다 ㅎㅎ

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

어이가 없네요. 20분은 날린것 같은디.

다행히.. 이렇게 오늘도 살아남았습니다.

 

내 황금같은 저녁 시간에. ㅠ

고생하십쇼!

 

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

반응형

안녕하세요 상훈입니다.

구글 애드센스가 드.디.어. 왔습니다.

애드센스 우편

진짜 얘네는 몇 달 만에 우편 전달해주는지 모르겠음..

사실 우편으로 보내는 거보다 모바일 문자로 보내는 게 비용면에서나 시간적 측면에서나 환경면에서 무조건 좋을 텐데.

왜.

이걸 써서 보내는 걸까요.

이해가 되지 않습니다.

아무튼 드디어.. 휴 ㅠㅠ 거의 5달 만에 받은 것 같네요.

애드센스 잘렸다가 다시 복귀되었을까 모르겠네요.

한번 제대로 됐는지 광고 눌러서 확인 좀 해주세요.

감사합니다.

반응형

안녕하세요, 상훈입니다.

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

 

ReactNative + Expo, 구글 혹은 카카오 로그인을 구현하려고 하는데, 안드로이드 연동을 위해선

sha-1 인증서 디지털 지문

 이 필요합니다.

현상태

저렇게 SHA-1 인증서 디지털 지문이 필요한데요, 어떻게 하면 얻을 수 있는지 포스팅하도록 하겠습니다.

 

빌드를 해야한다.

1. 로그인
2. 빌드
3. 빌드 완료 확인, 내용 체크
4. SHA-1 지문 입력

순서로 소개하도록하겠습니다.

 

1. 로그인

eas 를 전역(-g)으로 설치

npm install -g eas-cli

로그인

eas login

정상적으로 로그인되었을 때

 

로그인이 되었지만, 혹시 모르니 확인을 한 번 더 해주기.

eas whoami

로그인 확인완료

로그인이 정상적으로 되었음을 확인할 수 있습니다.

 

2. 빌드 시작

 빌드 환경설정을 해줍니다.

eas build:configure

빌드 과정

저는 All 을 선택하였습니다. 궁극적으로 android뿐 아니라 ios도 해줄 것이기 때문이죠.

eas.json

그러면 eas.json이 생성된것을 확인하실 수 있습니다.

 

이제 BUILD를 해봅시다

eas build --platform all

빌드 과정

 

3. 빌드 완료 확인, 내용 체크

성공적으로 빌드되었다면, 확인을 해봅시다

eas build:list

빌드 리스트

첫 빌드가 된 앱의 형태입니다! 

 1.0.0 으로 따끈따끈한 최신 녀석이죠 (RAW FISH 급)

 

이제 EXPO 로 이동하여 확인해보시죠

 

Expo

Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.

expo.dev

 

DashBoard > Configure > Credentials 를 클릭해보시면

프로젝트의 이름

아까 빌드할 때 만들어놓았던 내용이 이곳에 출력됩니다.   클릭해서 들어가주세요

 

SHA-1 Certificate Fingerprint

라는 항목 아래에 써져있는것을 확인하실 수 있습니다. 

해당 내용을 구글의 경우

입력해주세요!

 

이상입니다.

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

반응형

안녕하세요, 상훈입니다.

 

리액트 네이티브(React Native)를 통해 expo를 실행할 때 이렇게 오류가 출력되었습니다.

 

No Android connected device found, and no emulators could be started automatically.

안드로이드 디바이스와 연결된 에뮬레이터가 없어서 그렇습니다.

일단 안드로이드 스튜디오를 깔아줍시다.

오류 안내 문구에서 

Please connect a device or create an emulator (https://docs.expo.dev/workflow/android-studio-emulator).

이렇게 작성된 내용이 있을 텐데, 해당 링크를 클릭해서 들어가시고, 다운로드 해주세요.

 

Expo Android Download Link btn
Android Studio Download btn

 

설치 후 안드로이드 스튜디오를 시작하면 아래와 같은 화면을 보실 수 있습니다.

 

안드로이드 스튜디오를 여는게 아니라 에뮬레이터만 띄우고 싶으시다면, [ Virtual Device Manager] 를 눌러서 설치해주세요. (오른쪽에 점3개 눌러주세요)

virtual device manager click info

 

설치가 다 된 모습은 아래와 같습니다. 

 

이상입니다.

안드로이드 디바이스 환경설정 방법은 흐름대로 따라가시면 쉽게 가능합니다.

 

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

 

반응형

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

안녕하세요 상훈입니다.

데스티니가디언즈2 Destiny2 에서 이번 해적 시즌을 진행중,

 

[함선당탈자의 항해 (12단계)] 퀘스트에서 "원정에서 묻혀 있는 보물을 찾고 발사기지에서..." 라는 퀘스트가 있습니다.

 

처음 하신 분들이라면 "아니, 이걸 어떻게 얻지?" 라는 의문을 표하실겁니다.

왜냐하면 묻혀있는보물을 얻으려면 지도가 있어야하거든요.

 

지도를 얻으려면,

 

1. [선장의 아틀라스] 라는 퀘스트를 우클릭하시면 됩니다.

순서는 아래와 같구요,

선장의 아틀라스

보시면 지도조각이라는 아이템이 10개로 보이실겁니다.

1) 지도 조각 : [범선파괴] 라는 퀘스트를 클리어하면 10개정도를 얻을 수 있다.
2) 보물 좌표 : 원정대, 선봉대, 갬빗 등의 플레이리스트를 플레이 시 몹을 잡고 얻을 수 있다.

 

2. 빈 지도 페이지에서 지도 선택해줍니다

 

선택을 하셨으면,

이제 원정 플레이리스트를 가셔서 마지막 보스를 잡고 보물이 묻혀 있는것처럼 보이는 땅을 [상호작용] 해주시면 됩니다.

 

이상입니다! 즐겜하세요.

 

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

 

반응형

안녕하세요 상훈입니다!

구글 애드센스가 끊긴지도.... 어언 2주가 되어가네요! 하하 빌어먹게도 멋진 녀석 같으니라고^^7

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

 

자바스크립트로 데이터를 받아왔는데, 숫자만 출력하고 싶습니다. 어떻게 해야할까요?

let str = "안녕하세요1239입니다.";

str = replaceAll(/[^0-9]/g, "");

로 간단하게 처리가 가능합니다.

 

사용 방법은 아래와 같습니다.

str.replaceAll(없애고싶은내용, 바꿀내용);

 

사용 예시를 작성해보겠습니다!

 

숫자의 데이터가 필요한 상황인데, 애석하게도 숫자만 온게 아니라 문자가 포함된 문자열로 출력되었다는 가정입니다.

function changeLetter (str, successCallback) {
	str = str.replaceAll(/[^0-9]/g, "");
    successCallback(str); //str을 반환
}

changeLetter("안녕하세요12395", function (ret) { //성공 콜백함수와 데이터
	
    //ret이 변경된 새로운 str이 되는것이죠.
    $("#여기에작성해주세요").text(ret); //12395
    
});

결과적으로, id: 여기에작성해주세요 라는 아이디를 가진 태그의 텍스트에 숫자만 출력되는 내용이 될겁니다.

콘솔창에 작성해본 예시

이렇게 함수로 쓰면 언제든지 함수만 호출해서 꺼내올 수 있게 작성할 수 있습니다!

 

다만 이것의 문제는 문자열이라는 것에 있죠.

 

조금 더 나아가서 저 문자열을 1)숫자로 변경하고, 2) 뒤에 원을 붙여서 출력하도록 하겠습니다.

function changeLetter (str, successCallback) {
	str = str.replaceAll(/[^0-9]/g, "");
    successCallback(str);
}

changeLetter("안녕하세요12395", function (ret) { //성공 콜백함수와 데이터
	
    //ret이 변경된 새로운 str이 되는것이죠.
    ret = parseInt(ret);
	console.log(ret + "원");
});

typeof 도 함께 출력하여 숫자로 변경되었음을 확인

이렇게  parseInt 혹은 Number... 등을 이용해서 숫자로 변경하고,

출력할 때 "원" 문자까지 합쳐서 출력하는 방식을 알아보았습니다. 

 

감사합니다.

 

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

반응형

 

구글 에드센스 자기들이 우편 안보내줘놓고 멋대로 에드센스 끊어버리는거 봐

 

2번이나 보냈는데 아직도 안옴 ㅋㅋㅋ 

 

이번이 3번째다 정신좀 차려라 구글

7월에 발송시작했다면서 아직도 안와 ㅋㅋㅋㅋㅋㅋ 제정신이냐?

반응형

'일상' 카테고리의 다른 글

카카오톡 11주년 이벤트 써버리기  (0) 2022.12.15
드디어 왔습니다.  (6) 2022.10.06
고스트 리콘 웃긴짤  (1) 2022.03.27
책 소개 : 소프트웨어 아키텍처101  (0) 2022.03.24
[ Laravel - Vue.js ] 스펙업! 강의 추천  (0) 2021.10.01

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

안녕하세요 상훈입니다.

json 객체(object) 형태문자열 json 객체화 하려면 간단하게 

JSON.parse(str);

하면된다. 

 

추가적으로 배열(Array) 또한 가능하다. (몰랐다)

 

■ 배경설명

현재 프로젝트가 Web → Native(React Native) → Web 이기 때문에 내 입맛대로 데이터의 형식을 설정할 수 없기 때문에, 배열로 변환하는 방법 또한 알게되었다.

 

■ 결론

일단 결과부터 말하자면, 방법은 다음과 같다.

// 배열 형태의 문자열
// (JSON객체형태가 곧바로 string으로 변환되어나온 형태)

let arryStr = "[\"안녕하세요.\",\"안녕히가세요.\"]";

// 문자열 → 배열
arryStr = JSON.parse(arryStr);

 

console창에서 확인

배열(Array) 인 것을 알 수 있다.

 

그러나, 

typeof(arryStr); //Object

라고 출력된다. (으잉?)

 

위처럼 사용해도 배열에 대한 모든 기능들은 동작하니 문제는 없을 것이다.

 

하지만 기분이 찜찜하고 이상하니 조금 더 파고들어가보았다.

 

■ 부연설명

위에서 얻은 arryStr 을 가지고 새로운 배열에 반복문을 통해 push 해서 type을 해보겠다.

let arryStr = "[\"안녕하세요.\",\"안녕히가세요.\"]";
arryStr = JSON.parse(arryStr);

// ---------------------------------------

let result = []; //새로운 빈 배열 선언

arryStr.forEach( (item, idx) => {  //반복문을 통해
    result.push(item);             //빈배열에 값을 집어넣기
});

console.log(result);               //['안녕하세요.', '안녕히가세요.']
console.log(typeof(result));       //object

console.log

 

????

result 라는 녀석은 배열로 선언해서 배열로 끝났고, 각각의 인덱스도 가지고 있는데, 
type을 확인해보니 객체(Object)로 출력되어져 있다.

 

비교대상이 배열인지 여부를 확인하는 메서드를 사용해서 판독해보자.

> Array.isArray() :: 비교대상이 배열이면 true, 아니면 false를 반환하는 메서드.

// 비교 대상 ( ) 안에 있는 대상이 배열이면 true, 아니면 false를 출력한다.

// Array.isArray() 를 통해서 한 번 더 배열인지 여부를 판독
console.log(Array.isArray(arryStr)); //true
console.log(Array.isArray(result2)); //true

 

왜냐하면, 자바스크립트(JavaScript)에서의 배열(Array)는 배열이 아니라 객체(Object)이기 때문이다. 
자세한 내용은 아래의 링크를 참고해주시길 바랍니다.

https://poiemaweb.com/js-array-is-not-arrray

 

Array | PoiemaWeb

자바스크립트 배열은 배열이 아니다.

poiemaweb.com

 

JSON.parse() 하나로 이렇게 글이 길어질 줄 몰랐지만, 길어졌다.

이상입니다.

 

참고

 

Array.isArray() - JavaScript | MDN

Array.isArray() 메서드는 인자가 Array인지 판별합니다.

developer.mozilla.org

 

미리보기를 해보니 역슬래쉬가 \로 출력되네요.

작성할때는 역슬래쉬 정상적으로 되었는데 말이죠. 유의해주시길 바랍니다!

이미지 참고 ㅎㅎ

 

도움이 되셨다면 광고 한번 클릭해주세요. 블로그 운영에 큰 힘이 됩니다. 감사합니다.

반응형

+ Recent posts