분류 전체보기
-
자바스크립트 디자인 패턴(1)카테고리 없음 2021. 9. 26. 10:33
전통적인 디자인 패턴을 자바스크립트로 작성하면서 문제를 해결하는 방식에 대해 알아보겠습니다. Factory 패턴 - 공장에서 찍어내듯이 인스턴스 생성 과정을 추상화 하는 것 - 왜? 개체 생성과 구현 분리함으로 유연성 및 유지보수성 증대 및 클래스를 비공개로 유지 - 클로져를 활용하여 Private 변수를 선언하는 방법으로 활용 // new 연산자를 활용한 개체 생성 const dinner = new Dinner("PIZZA"); // Factory 패턴 => 유지보수성 🚀 const makeDinner = (food, _ = typeCheck(food, "string")) => { if (food == "PIZZA") return new Pizza(food); else if (food == "CHICK..
-
CORS카테고리 없음 2021. 7. 31. 16:17
🚀 CORS (Cross-Origin Resource Sharing : 교차 출처 리소스 공유) 란? CORS 이전에 "동일 출처 정책" 을 알아야합니다. 동일 출처 정책이란 "추가 HTTP 헤더를 사용하여, 다른 출처의 리소스 접근권한에 제약을 거는 브라우저단의 보안 스펙" 입니다. CORS는 이 보안 제약사항을해결하기 위해 W3C에서 개발한 사양입니다. 👻 교차 출처 브라우져는 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 동일 출처 정책에 의한 보안 정책이 실행됩니다. 교차 출처는 말 그대로 현재와 다른 출처를 말합니다. 그렇다면 출처를 어떻게 비교하는 걸까요? 출처는 도메인, 프로토콜, 포트를 합친 것을 의미합니다. 즉, 리소스가 앞서 언급한 출처(도메인, 프로토콜, 포트)와 다를 ..
-
Node.JS 디자인 패턴 및 바이블 (4)JS 2021. 7. 29. 23:12
대부분의 개발자분들이 프로그래밍을 처음 배우실 때 동기식으로만 배우셔서, 저도 마찬가지고 비동기 및 CPS로 코드를 작성하는데 많이 어려움을 겪고 계실겁니다. 책에서는 저와 같은 기본기가 딸리는?? 개발자들을 위해 Callback을 활용한 비동기 제어 흐름 패턴에 대해서 설명해주네요 🚀 비동기 프로그래밍의 어려움 책에서 이런 저런 이야기를 하지만 비동기가 어려운 이유는 저를 포함한 많은 개발자들이 익숙하지 않아서 그럴겁니다. 🚀 콜백 패턴 책에선 웹 크롤링을 만들면서 콜백패턴과 이를 기반으로한 다양한 접근방법을 소개합니다. 초기에 작성한 웹 크롤링은 우리가 말하는 콜백지옥과 같은 모습을 보여줍니다. export const spider = (url, cb) => { fs.access(filename, er..
-
Node.JS 디자인 패턴 및 바이블 (3)JS 2021. 7. 25. 17:11
책의 이번 챕터는 콜백과 이벤트에 대해서 다룹니다. 🚀 콜백 패턴 콜백은 앞서 다루었던 비동기를 처리하는 리액터 패턴의 핸들러입니다. 쉽게 이야기하면 다른 함수에 인자로 전달되는 함수이며, 비동기를 처리할 때는 완료된 작업의 결과를 가지고 호출됩니다. 이때 콜백은 클로저 덕분에 다른 시점과 다른 위치에서 호출되더라도 실행환경을 유지할 수 있게됩니다. 물론 동기식으로 콜백을 사용하기도 합니다. 👻 동기와 비동기의 혼용은 굉장히 위험하다. 우리가 어떠한 함수를 작성하였고, 해당 함수에서 조건문에 따라 동기 혹은 비동기를 리턴한다고 생각해겠습니다. 우선 결론적으로 이러한 경우 어플리케이션을 손상시킬 수 있는 굉장히 위험한 방식입니다. 책에서는 아래와 같은 예제를 들어 이런 상황을 Zalgo를 풀어놓는 상황이라..
-
Node.JS 디자인 패턴 및 바이블 (2)JS 2021. 7. 24. 12:29
2장에서는 모듈시스템에 대해서 다룹니다. Node뿐만 아니라 클라이언트 영역의 자바스크립트를 이해하는데도 많은 도움이 될 것입니다. 🚀 모듈의 필요성 코드베이스를 나누어 독립적인 기능의 조각들을 개발 및 테스트하는데 도움을 제공합니다. 코드의 재 사용성, 은닉성, 종속성을 관리합니다. 🚀모듈 시스템과 패턴 위 책에서는 직접 모듈 패턴을 작성하면서 자바스크립트의 모듈 패턴에 대한 이해를 높여줍니다. 👻노출식 모듈 패턴 우선 가장 간단한 방식 중 하나인 노출식 모듈패턴은 IIFE를 활용하여 외부에 은닉성을 가진 모듈을 생성하는 방식입니다. 👻CommonJS 모듈 노드의 기본적인 모듈 시스템으로 require를 통해 로컬 파일 시스템을 모듈로 import하고 export 및 module.export를 통해 외..
-
Node.JS 디자인 패턴 및 바이블 (1)JS 2021. 7. 24. 09:15
간단하게 책을 읽고 중요한 부분만 정리할 생각입니다. 🚀 Node.JS 의 철학 책에서 Node.JS 의 철학은 쉽게 말해서 "경량 코어 + 경량 모듈러 시스템을 통해 간결하게 코드를 작성하는 것" 으로 이를 달성하기 위해 Node.JS 내부 코어 패턴 및 아키텍처를 알아야 한다고 소개하고 있습니다. 이는 저와 같은 JavaScript기반의 Front-end 개발자에게도 필수적인 요소라고 생각합니다. 🚀 Node.JS 구성 아래와 같이 구성되어 있다고 합니다. 나머지는 다 아실거고, 책에서는 가장 중요한 libuv에 대해서 구체적으로 다루고 있습니다. 👻 libuv 각각의 os의 호환성을 해결해주면서 가장 중요한 논블로킹 동작을 표준화시켜주는 C로 작성된 라이브러리입니다. 🍩 리액터 패턴 libuv는 리..
-
-