전체 글 (50) 썸네일형 리스트형 [Javascript] Strict mode Strict mode 란? 기존에는 무시되는 에러들을 엄격히 표출하고 싶을때 사용한다. 간단한 예시로 v = "A strict mode script"; console.log(v) // A strict mode script 결과값이 잘 나오지만 "use strict"; v = "A strict mode script"; console.log(v) // Uncaught ReferenceError: v is not defined strict mode를 사용하면 에러가 발생된다. 적용 방법 "use strict"; 또는 'use strict'; 'use strict'; 작성시 엄격모드로 사용 할 수 있다. 전체 스크립트, 함수, 모듈에서 가능하다. 1. 스크립트에 strict mode 사용 "use strict".. [Javascript] Observer Pattern 옵저버 패턴 옵저버 패턴(Observer pattern)이란? 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 일대다(one to many) 의존성을 갖는 패턴을 의미한다. 주로 출판사와 구독자에 비유를 한다. 출판사 = 주제(Subject), 구독자 = 옵저버(Observer)에 비유를 하며, 구독자는 출판사에게 구독 신청, 구독 취소를 하고 구독중엔 변경된 내용을 전달 받는다. - 옵저버는 주제에 의존한다. - 주제(Subject)객체의 데이터가 달라지면 옵저버한테 2가 전달된다. - 옵저버 객체들은 주제 객체를 구독하고 있으며(등록하고 있으며) 주제의 데이터가 바뀌면 갱신 내용을 전달받는다. 옵저버의 특징 - 느슨한 결합(Loose coupling)이다. 느슨한.. [Javascript] null VS undefined undefined null 공통점 '없음'을 나타냄 차이점 값이 대입되지 않은 변수나 속성을 사용하려고 할때 객체가 없을 때 typeof undefined object undefined 변수 선언만 되어있고 값이 할당되어 있지 않은 상태 let a; console.log(a) // 할당되지 않은 변수는 undefined const obj = {}; console.log(obj.prop) // 할당되지 않은 객체의 값은 undefined console.log(typeof undefined); // undefined의 type은 undefined null 값이 있긴 한데 의도적으로 비어있는 값인 상태 const x = null; console.log(x) 가급적 null을 사용하기 undefined는 코드 .. [JS] 전개구문(Spread Syntax) - ...(three dots) 전개구문(Spread Syntax) JavaScript ES6에 새로 추가된 문법 배열이나 객체를 개별요소로 확장(펼친다) 문법 // 객체 {...obj} // 배열 [...arr] 간단히 ...으로 표현한다. 객체나 배열을 합치거나 복사하거나 매개변수의 나머지를 표현할 때 사용한다. 객체 const obj1 = {x: 'a', y: 1}; const obj2 = {i: 'b', j: 2}; // 복사 const clonedObj = {...obj1}; console.log(obj1 === clonedObj) // false 깊은 복사 console.log(JSON.stringify(clonedObj)) // {"x":"a","y":1} // 합치기 - 1 const mergedObj = {...obj1.. Javascript로 작성하는 선언적 프로그래밍(Declarative Programming) 선언적 프로그래밍 이라는 개념을 Dev Matching의 해설을 보며 처음 접했다. 장점이 많은 프로그래밍 패러다임이여서 그것에 대해 알아보고 코드에 어떻게 적용시킬지 알아보자. 선언적 프로그래밍(declarative programming) What- What to do 무엇을 하는지에 초점을 맞추는 것 명령형 프로그래밍(imperative programming) How 어떻게 할건지를 순서대로 나열한 것 추상적인 예 집에 가는 경우 선언적 방식 : 서울특별시 왕십리역입니다. 명령형 방식 : 주차장 북쪽 출구를 나와 왼쪽으로 가세요. 12번가 출구에 도착할 때까지 15번 북쪽 도로를 타세요. 이케아를 끼고 우회전하세요. 직진하여 첫 번째 신호등에서 우회전 하세요. 다음 신호등을 지나 좌회전을 하세요. 선.. REST API 개념, 특징, 및 설계 규칙 개념 REST API란 ? REpresentational State Transfer (자원을 이름으로 구분하여 해당 자원의 정보를 주고 받는 모든 것을 의미) REST 아키텍쳐 스타일을 따르는 API 그렇다면 REST란? 분산 하이퍼 미디어 시스템(웹)을 위한 아키텍쳐 스타일 그렇다면 아키텍쳐 스타일이란? 제약 조건의 집합 즉, REST API란 분산 하이퍼 미디어 시스템(웹)에서 자원을 이름으로 구분하여 정보를 주고받는 제약 조건들을 적용한 API REST API가 필요한 이유? 다양한 클라이언트의 등장 에플리케이션 분리 및 통합 REST API 특징 1. Server-Client (서버 클라이언트 구조) 서로간의 의존성이 줄어든다. 2. Stateless (무상태) Client의 context를 Se.. [nodejs] Multer를 이용한 파일 업로드 파일 다루는 방식을 한번 정리해보고 싶어서 블로그를 작성해본다. 파일 업로드는 일단 Multer라는 모듈을 사용할 것이다. Multer는 파일 업로드를 위해 사용되는 multipart/form-data 를 다루기 위한 node.js 의 미들웨어이다. Multer Reference를 참고해보자. https://github.com/expressjs/multer/blob/master/doc/README-ko.md GitHub - expressjs/multer: Node.js middleware for handling `multipart/form-data`. Node.js middleware for handling `multipart/form-data`. - GitHub - expressjs/multer: No.. 쿠키(Cookie), 세션(Session)의 정의, 차이점 쿠키와 세션이 필요한 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해 사용 1. Connectless 프로토콜 (비 연결지향) 클라이언트가 서버에 요청을 했을 때, 그 요청에 맞는 응답을 보낸 후 연결을 끊는 처리방식 2. Stateless 프로토콜 통신이 끝나면 상태를 유지하지 않는 특징 쿠키와 세션은 이 두가지 특징을 해결하기 위해 사용한다. 쿠키 (Cookie) 쿠키는 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터파일이다. 특징 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효시간이 정해지면 브라우저가 종료되어도 인증이 유지된다. 클라이언트에 300개까지 저장가능하고 하나의 도메인당 20개의 값만 가질 수 있으며, 하나의 쿠키값은 4KB까지 저장한다. 쿠키는 사용자가 따로 요.. 이전 1 2 3 4 5 6 7 다음