목록자바스크립트 (92)
바르고 뜨겁게
npx react-native-clean-project --remove-iOS-build --remove-iOS-pods
미들웨어요청과 응답의 중간에 위치하여 기능을 추가하거나 필터링함.미들웨어 형태 app.use(function(req, res, next) { ... next(); })next() : 요청의 흐름을 제어함next() : 다음 미들웨어로 이동next('route') : 다음 라우터로 이동next(error내용) : 에러 핸들러 이동 미들웨어 종류 및 기능morgan : 콘솔에 기록body-parser : 본문을 해석해주는 미들웨어. json, raw, text등의 본문 데이터들을 해석해 req.body에 추가함(ex) URL-encoded 형태의 name=righthot&age=30 데이터를 {name: 'righthot', age:30} 으로 변형cookie-parser : 쿠키 해석static : 정적인..
node express 구조bin/www var app = require('../app'); var debug = require('debug')('learn-express:server'); var http = require('http');app : express() 인스턴스. app.set(키,값) 형태로 데이터를 저장할 수 있으며 app.get(키)로 가져올 수 있다.debug : 콘솔에 로그를 남길 수 있는 모듈http : 서버 생성 모듈 var port = normalizePort(process.env.PORT || '3000');process.env 객체에 PORT 값이 있으면 사용하고 없으면 3000을 기본 포트로 사용 var server = http.createServer(app); serve..
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();..
Node.js 란?크롬 V8 자바스크립트 엔진으로 빌드된 비동기 이벤트 주도 JavaScript 런타임으로써 Node.js 는 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계됨. 자바스크립트 런타임런타임 : 특정 언어로 만든 프로그램을 실행할 수 있는 환경.기존 자바스크립트는 브라우저 환경에서만 실행이 가능했음. Node.js는 브라우저 밖에서 자바스크립트를 구동할 수 있게 해줌. 논블로킹 I/O블로킹은 Node.js 프로세스에서 추가적인 JavaScript의 실행을 위해 JavaScript가 아닌 작업이 완료될 때까지 기다려야만 하는 상황. 이벤트루프를 통해서 노드는 싱글쓰레드이지만 비동기로 동시 작업이 가능함. 이벤트 루프이벤트 루프는 가능하다면 언제나 시스템 커널에 작업을 떠넘겨서 Node..
React Native - Error: spawn ./gradlew EACCESreact-native run-android 실행시 아래와 같은 에러가 종종 발생된다. error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details. Error: spawn ./gradlew EACCES at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19) 접근 권한의 문제이며..
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)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동소수점 숫자, 문자열, 불린 자료형과 같은 용어를 가지고 있다. 어떤 언어는 열거 타입이나, 배열, 자료형, 객체와 같은 용어도 있다. 리터럴과 대조적으로, 고정된 값을 가질 수 있는 변수나 변경되지 않는 상수가 있다. 객체 리터럴 생성 및 접근..
출처 : https://codelabs.developers.google.com/codelabs/webrtc-web/#0 [web rtc #1] Web 브라우저에서 웹캠 비디오 스트리밍 index.html Realtime communication with WebRTC Realtime communication with WebRTC main.js 'use strict'; // streaming only video const mediaStreamConstraints = { video: true, }; // VIEW의 video Element const localVideo = document.querySelector('video'); // Local stream that will be repro..