본문 바로가기

Learn

(80)
fetch API 시작하기전에 전에 배웠던 것중에 Promise가 어떻게 작동하는지에 대해 다시 복습 Promise에는 3가지 작동원리가 존재 대기(pending): 이행하지도, 거부하지도 않은 초기 상태. 이행(fulfilled): 연산이 성공적으로 완료됨. 거부(rejected): 연산이 실패함. 그리고 console.log를 찍었을 때 어떤 형태를 반환하는지에 대해 숙지 fetch API HTTP 파이프라인을 구성하는 요청과 응답 등의 요소를 JavaScript에서 접근하고 조작할 수 있는 인터페이스를 제공 -> 특정 url을 불러오는 역할을 하며 비동기적인 역할을 한다. 따라서 promise를 리턴한다. -> fetch의 기본형태 // 1번째 fetch('http://example.com/movies.json') ..
Node:fs 모듈 진행하면서 새로 배운 개념 Path path 모듈은 폴더와 파일의 경로를 지정해주는 모듈 Path 모듈 메소드 Path.join() 인자로 받은 경로들을 하나의 문자열 형태로 리턴 Path.resolve() resolve도 join과 마찬가지로 인자로 받은 경로들을 문자열 헝태로 리턴 차이점은 전달받은 경로인자들의 가장 오른쪽부터 왼쪽으로 합쳐진다. 경로인자들을 합쳐나가는중 / 를 만나면 절대경로로 인식해서 나머지 경로인자들을 무시 만약 / 를 끝까지 만나지 못하면 /현재경로/생성된경로 형태로 결과를 리턴 __dirname 과 결합 __dirname 과 결합했을 때 join 은 모두 결합하는 반면, resolve은 오른쪽부터 /가 있는 부분까지만 결합 const user1Path = path.join(__dirname, 'file..
Node.js fs 모듈 과제 Node.js 비동기 이벤트 기반 JavaScript 런타임 모듈 한 시스템을 여러 개의 기능적 구성요소(모듈)들을 조합함으로써 완성하도록 한 설계 -> Node.js 모듈은 비동기 작동을 한다. 외장 모듈 일반 Node.js 개발자들이 만들어 놓은 모듈(라이브러리)입니다. 외장 모듈을 사용하기 위해서는 npm( Node Package Manager )을 사용합니다. 내장 모듈 Node.js를 설치하고 나면 그 안에 이미 제공되어지는 모듈을 의미합니다. 내장 모듈은 이미 Node.js를 설치할 때 존재하기 때문에 npm을 사용하지 않습니다. Node : fs 모듈 File system node:fs모듈을 사용하면 표준 POSIX 기능을 모델링한 방식으로 파일 시스템과 상호 작용 참조 https://nod..
동기 / 비동기 동기(synchronous) 특정 코드의 실행이 완료될 때까지 기다리고 난 후 다음 코드를 수행하는 것 비동기(asynchronous) 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드들을 수행하는 것 타이머 관련 API setTimeout(callback, millisecond) 일정 시간 후에 함수를 실행 setTimeout(function () { console.log('1초 후 실행'); }, 1000); // 1000밀리초 -> 1초 후 fuction 실행 -> '1초 후 실행' // clearTimeout(timerId) setTimeout 타이머를 종료 const timer = setTimeout(function () { console.log('10초 후 실행'); }, 10000)..
프로토타입 프로토타입 자바스크립트는 프로토타입 기반 언어. 프로토타입은 원형객체를 의미. 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. 그리고 이것은 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있게 한다. 이러한 부모 객체를 Prototype(프로토타입) 객체 Prototype 객체는 생성자 함수에 의해 생성된 각각의 객체에 공유 프로퍼티를 제공하기 위해 사용한다. function Car (brand, name, color){ this.brand = brand; this.name = name; this.color = color; } Car.prototype.drive = function() { console.log(this.name +..
객체 지향 프로그래밍 객체 지향 프로그래밍 (Object-Oriented Programming, OOP) 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체지향 프로그래밍은 실세계에 존재하고 인지하고 있는 객체(Object)를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링하려는 프로그래밍 패러다임을 말한다. 다시 말해, 우리가 주변의 실세계에서 사물을 인지하는 방식을 프로그래밍에 접목하려는 사상을 의미한다. 캡슐화 (encapsulation) 데이터의 번들링(bundling) : 데이터(속성)와 기능(메서드)을 따로 정의하는 것이 아닌, 하나의 객체 안에 넣어서 묶는 것 데이터(속성)와 기능(메서드)들이 느슨하게 결합 : 코드가 상징하는 실제 모습과 ..
클래스와 인스턴스 객체지향 프로그래밍 하나의 모델이 되는 예제(객체)를 만들고 그 예제를 가지고 여러개의 객체를 만드는 프로그래밍 패턴 클래스 하나의 모델 즉, 예제(객체)를 클래스로 지정 인스턴스 클래스를 바탕으로 한 객체 ES5와 ES6 문법 비교 ES5 function Car (brand, name, color){ this.brand = brand; this.name = name; this.color = color; } Car.prototype.drive = function() { console.log(this.name + '가 운전을 시작합니다'); } let avante = new Car('hyundai','avante','black'); avante.color; // 'black' avante.drive(); ..
Git 정리 Git 리포지토리(Reository) Git에서 코드를 저장하는 공간을 리포지토리라고 한다. 자신의 컴퓨터의 작업 공간(local)에 위치한 로컬 Git 리포지토리와 Github 등의 원격(remote) 공간에 위치한 원격 리포지토리로 구분 로컬 Git 리포지토리(Reository) 다루기 1. git init 일반적인 폴더에 Git repository를 추가하면 개발자는 Git을 이용하여 자신의 프로그램 버전 관리. Git repository는 어떻게 추가할 수 있을까요? git init 명령어를 입력 2. git add 각각의 파일에 코드를 작성한 후, 이 코드를 하나로 모아두는 과정을 거치게 되는데 이 공간을 staging area라고 합니다. staging area에 코드를 옮기는 명령어는 git..