목록js (27)
바르고 뜨겁게
Javascript - fs(파일 시스템)fs 모듈 : 로컬의 파일 및 폴더를 읽기/쓰기/삭제 가능 사용법비동기 방식 const fs = require('fs'); fs.readFile('./readme.txt', (err, data) => { if (err) { throw err; } console.log(data.toString()); }); 동기 방식 const fs = require('fs'); const data = fs.readFileSync('./readme.txt') console.log(data.toString()); 프로미스 방식 const fs = require('fs').promises; fs.readFile('./readme.txt') .then((data) => con..
Javascript 싱글 스레드 눈으로 확인하기.자바스크립트는 자바와는 다르게 싱글 스레드라고 한다.한번에 하나의 작업만 수행할 수 있음에도 불구하고 비동기, 논블로킹등을 지원하기에 실제 코드상 눈으로 확인하긴 어렵다.따라서 아래 자바와의 비교를 코드를 통해 싱글 스레드를 눈으로 확인해보겠다.잘못 된 정보가 있다면 댓글로 알려주길 바랍니다! JAVA public class NoSyncDataMain { public static Data data = new Data(); public static void main(String[] args) { System.out.println("main 시작"); Tom t = new Tom(); Jane j = new Jane(); t.start(); j.start();..
Javascript - 프로미스(Promise)Promise 란?비동기 작업의 결과값(성공,실패)를 저장하고 있는 컨테이너, resolve 와 reject를 통해 원하는 시점에 결과를 리턴할 수 있다. Promise 생성 const promise = new Promise((resolve, reject)=>{ if(true){ resolve() }else{ reject() } }) Promise를 사용한 콜백 처리.미국 달러와 원화 , 엔화를 차례대로 서버에 요청하는 예제이다.CORS를 피해갈 마땅한 GET 요청이 없어서 아래 API 사용했으므로 과다한 호출은 삼가 부탁드립니다. 각 나라별로 차례대로 환율을 비교해야하는 상황에 동시에 조회하는 API가 없다면 콜백 헬이 엄청나게 깊어 질 수도 있다.하지만 ..
Javascript - 객체 리터럴 (object literal)Javascript 객체 생성 방법 new Object() Object.create()리터럴 표기법객체 초기자(object initializer)는 0개 이상인 객체 속성명 및 관련값 쌍 목록이 콤마로 분리되어 중괄호({})로 묶인 형태 용어의 뜻 : literal 이란?컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동소수점 숫자, 문자열, 불린 자료형과 같은 용어를 가지고 있다. 어떤 언어는 열거 타입이나, 배열, 자료형, 객체와 같은 용어도 있다. 리터럴과 대조적으로, 고정된 값을 가질 수 있는 변수나 변경되지 않는 상수가 있다. 객체 리터럴 생성 및 접근..
FlatList에 데이터가 많이 담기면 에러 로그도 없이 IOS 앱이 죽는 현상이 있음.(안드로이드는 문제 없음) FlatList 내에 아래 코드를 추가하면 해결 됨.
[JavaScript] 실행 컨텍스트와 호이스팅자바스크립트는 함수 선언보다 함수 실행을 먼저 하더라도 동작이 된다.코드는 위에서 아래로 실행이 된다고 알고 있는데 왜 그런걸까? 실행 컨텍스트실행 컨텍스execution context는 실행할 코드의 환경 정보를 모아놓은 객체로, 가장 먼저 실행되어 스택에 들어가게 된다.이 실행 컨텍스트가 생성될 때, 호이스팅이 된다. 호이스팅호이스팅hoisting이란 실행 컨텍스트에 환경 정보를 저장할때 매개변수의 이름, 함수 선언, 변수명등을 끌어 올려서 기록하는 것 입니다.원본 코드 var a // 수집대상 var a = 3 // 선언부만 호이스팅, 할당은 원래 자리에 남겨둠. function f (arg) { // 수집대상(함수 선언문은 호이스팅됨) var fv..
프로젝트 생성모듈용 템플릿 도구 create-react-native-module 설치npm install -g react-native-cli yarn npm install -g create-react-native-module 프로젝트 생성create-react-native-module --prefix RN --package-identifier [ 패키지 식별자 ] --generate-example [ 프로젝트 이름 ]--prefix : 라이브러리 접두사--package-identifier : 안드로이드 패키지 식별자 (ex : com.righthot)--view : 매우 간단한 기본 뷰 구성 요소로 모듈 생성 (미 입력시 기본 모듈형태 프로젝트 생성)--generate-example : 예제 프로젝트를 ..
React Native - Facebook Audience 광고 적용하기 (react-native-fbads)https://github.com/callstack/react-native-fbads#installation1. Facebook SDK 설치 https://github.com/facebook/react-native-fbsdk페이스북 로그인을 적용했다면, 건너뛰어도 됩니다.2. Facebook Audience 설치패키지 설치 및 링크 yarn add react-native-fbads react-native link react-native-fbads네이티브 프로젝트에 추가IOSiOS/Podfile pod 'FBAudienceNetwork', '~> 5.1.0' pod installANDROIDMain..
React native [Object object] 출력 및 값 확인서버 통신 처리를 하다보면 프론트에서는 서버 값을 로그로 확인한다.보통 JSON.stringify(object) 혹은 String(object) 형태로 값 확인이 가능하지만...Type 이 정확하지 않을 경우 Type Error 를 발생 시킨다.그럴 땐 아래 방법으로 key를 구한 뒤 JSON.stringify(object.key) 혹은 String(object.key) 로 확인하면 된다. for (var key in object) { console.log("key: " + key + " / " + object[key]) }
JavaScript - dot(.) 점이 있는 JSON parsing Object : {gcm.notification.body: "테스트 메시지", gcm.notification.title: "테스트 타이틀"} 위와 같은 형태의 JSON 은 Object.gcm.notification.body 형태로 파싱하면 에러가 난다.Object.['gcm.notification.body'] 이렇게 파싱해야 에러없이 원하는 값을 얻을 수 있다.