WEB개발/TIL(39)
-
Callback과 Promise
Callback(콜백) : 함수가 끝난 뒤 실행되는 함수 함수를 만들 때 paramater로 함수를 받아서 사용 Callback함수 사용하기 Callback함수를 사용하지 않은 코드 function func1() { console.log("첫 번째 출력"); setTimeout (function() { console.log("두 번째 출력"); },2000); } function func2() { console.log("세 번째 출력"); } func1(); func2();// // 결과 첫 번째 출력 세 번째 출력 두 번째 출력 setTimeout함수는 비동기 방식 → 콜백함수 사용 Callback함수를 사용한 코드 function func1(print,cb) { console.log("첫 번째",pr..
2022.11.23 -
Class, Object, Instance
Class: 객체를 생성하기 위한 템플릿(설계도) 객체(Object): 구현할 대상(소프트웨어 세계에서) 인스턴스(Instance): 대상의 실체 Class(클래스) : 객체를 생성하기 위한 템플릿 연관되어 있는 변수와 메소드의 집합 Constructor(클래스 생성자) : 어떠한 클래스의 객체가 인스턴스화될 때 자동으로 호출되는 특수한 종류의 멤버 함수 대체로 클래스 멤버 변수를 기본값 혹은 사용자 정의값으로 초기화하는 경우 사용 Class 생성하기(Node.js사용) class car { //속성(변수) 정의 constructor(color) { this.color = color; this.isDoor = true; } //기능(메소드) 정의 move() { console.log("움직이다."); }..
2022.11.21 -
구조분해 할당(Destructuring assignment)
Javascript 문법 구조분해 할당(Destructuring assignment) : 배열이나 객체의 속성을 해체해 그 값을 개별변수에 담는 것 배열 구조 분해 객체 구조 분해 배열 구조 분해 const [변수] = 배열; 각 변수에 배열을 인덱스 순으로 값 대응 const list =["안녕","반가워",2]; [item1, item2, item3] = list; // 밑의 식과 동일 // const item1 = list[0]; // const item2 = list[1]; // const item3 = list[2]; console.log(item1); // 안녕 console.log(item2); // 반가워 console.log(item3); // 2 console.log("---------..
2022.11.21 -
Node.js(module)
모듈(Module) : 특정한 기능을 하는 함수나 변수들의 집합(여러 기능들에 관한 코드가 모여있는 하나의 파일) 재사용 가능한 코드 조각 모듈은 이미 만들어진 것을 npm(노드 패키지 관리자)을 통해 설치해서 사용할 수 있으며, 자신만의 고유의 모듈을 만들어서 사용할 수도 있음 장점 어떠한 코드에 의존적이지 않으며 독립적임. 때문에 코드수정을 보다 쉽게할 수 있음 코드 재사용이 용이함. 코드를 반복적으로 작성하지 않고 , 필요한 코드를 불러와 사용할 수 있음 모듈 만들기 : 자바스크립트 파일은 모두 모듈이며, 파일의 확장자가 .js면 모듈. 따라서, 모듈은 자바스크립트 문법으로 작성함. 1. 모듈 작성하기(내보내기) const A = "안녕"; module.exports = A module.export..
2022.11.21 -
Node.js(정의, 특징, 사용방법, REPL)
Node.js : 구글 크롬의 자바스크립트 엔진(V8 Engine)에 기반해 만들어진 javascript 런타임 javascript가 서버에서 작동하도록 함 자바스크립트 엔진? : 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터(코드를 한 줄씩 읽어 내려가며 실행하는 프로그램) 런타임? : 프로그래밍 언어가 구동되는 환경 ** 웹 브라우저 없이 실행 가능 ** > 원래 javascript의 런타임 환경은 웹 브라우저만 존재 했었음 Node.js 특징 1) 자바스크립트 언어 사용 2) single thread : 에러(예외)를 처리하지 못하면 프로그램이 아예 중단됨 하나가 죽으면 전체가 죽음(다시 실행이 안 됨) 따라서, 예외 처리가 매우 중요함! 3) 비동기 I/O 방식(Non-blocking I/..
2022.11.21 -
개발이론 및 git 추가 정리(branch, merge)
Waterfall Model(폭포수 모델) : 가장 익숙한 소프트웨어 개발 기법 병행 수행되지 않고 순차적으로 수행 장점 단순한 모델, 이해하기 쉬움 단계별로 정형화된 접근이 가능해 문서화 가능 프로젝트 진행상황 한눈에 명확하게 파악 가능 단점 수정이 어려움 시스템의 동작을 후반에 가야지만 확인 가능(그 전까지는 상상으로만) 따라서, 대형 프로젝트에 적용하기는 부적합 Agile(방법론X 사상O) : 짧은 주기의 개발 단위를 반복해 하나의 큰 프로젝트를 완성해 나가는 것 요구사항을 작은 단위로 쪼갬 → 하나씩 해결해나감 협력과 피드백 중요 반복적으로 일을 진행해나가기 때문에 빠르고 유연하게 문제 해결 가능 Agile 방법론 1) scrum(스크럼) : 작은 기능에 관한 계획, 개발, 테스트, 기능 완료를 ..
2022.11.19