Web Programming
-
이번 글의 목표 - 아키텍처 패턴의 종류와 각각 장단점을 알아봐요 - 계층형 아키텍처 패턴의 구성 요소를 알아보고 실습합니다 01. 아키텍처 패턴 아키텍처 패턴은 소프트웨어의 구조를 구성하기 위한 기본적인 토대를 제공하는 방법론을 뜻한다. 각각의 시스템들에 역할을 부여하고, 그 사이의 관계와 규칙을 일컬어 말하는 것. 검증된 구조로 개발을 진행하기에 안정적인 개발이 가능함. 복잡한 도메인 문제를 해결하는데 패턴을 사용하면 모델이나 코드를 더 쉽게 변경할 수 있다는 장점이 존재 01.01 대표적인 아키텍처 패턴 : MVC (Model View Controller Pattern) 사용자 인터페이스가 많은 애플리케이션에서 많이 사용한다. 모델 : 데이터와 비즈니스 로직을 담당 뷰 : 사용자 인터페이스 담당 컨..
아키텍쳐 패턴이란? 계층형 아케텍처 패턴의 예시 알아보기 express이번 글의 목표 - 아키텍처 패턴의 종류와 각각 장단점을 알아봐요 - 계층형 아키텍처 패턴의 구성 요소를 알아보고 실습합니다 01. 아키텍처 패턴 아키텍처 패턴은 소프트웨어의 구조를 구성하기 위한 기본적인 토대를 제공하는 방법론을 뜻한다. 각각의 시스템들에 역할을 부여하고, 그 사이의 관계와 규칙을 일컬어 말하는 것. 검증된 구조로 개발을 진행하기에 안정적인 개발이 가능함. 복잡한 도메인 문제를 해결하는데 패턴을 사용하면 모델이나 코드를 더 쉽게 변경할 수 있다는 장점이 존재 01.01 대표적인 아키텍처 패턴 : MVC (Model View Controller Pattern) 사용자 인터페이스가 많은 애플리케이션에서 많이 사용한다. 모델 : 데이터와 비즈니스 로직을 담당 뷰 : 사용자 인터페이스 담당 컨..
2023.09.10 -
Async/Await in JavaScript: A Deep Dive 목차 Async/Await의 등장 배경 Async/Await의 기본 사용법 Async/Await의 실용적인 활용 Async/Await의 등장 배경 JavaScript는 웹 개발에서 가장 널리 사용되는 언어 중 하나입니다. 그러나 비동기 프로그래밍에 있어서는 초기에 몇 가지 어려움이 있었습니다. 이를 해결하기 위해 ES6 (ECMAScript 2015)에서는 Promise가 도입되었고, 이후 ES8 (ECMAScript 2017)에서는 async/await가 도입되었습니다. async/await는 비동기 작업을 더 간결하고 가독성 높게 처리할 수 있도록 도와줍니다. 이전에는 콜백 함수와 Promise를 사용하여 비동기 로직을 처리했지만,..
Node.js | Async / Await의 등장배경과 사용 활용법Async/Await in JavaScript: A Deep Dive 목차 Async/Await의 등장 배경 Async/Await의 기본 사용법 Async/Await의 실용적인 활용 Async/Await의 등장 배경 JavaScript는 웹 개발에서 가장 널리 사용되는 언어 중 하나입니다. 그러나 비동기 프로그래밍에 있어서는 초기에 몇 가지 어려움이 있었습니다. 이를 해결하기 위해 ES6 (ECMAScript 2015)에서는 Promise가 도입되었고, 이후 ES8 (ECMAScript 2017)에서는 async/await가 도입되었습니다. async/await는 비동기 작업을 더 간결하고 가독성 높게 처리할 수 있도록 도와줍니다. 이전에는 콜백 함수와 Promise를 사용하여 비동기 로직을 처리했지만,..
2023.08.28 -
Node.js에서 request와 response 객체 깊게 이해하기 1. req 객체 클라이언트가 서버에 보낸 HTTP 요청의 모든 정보를 담고 있는 객체입니다. 클라이언트가 어떠한 방식으로 요청했는지에 대한 데이터와 메서드가 구현되어 있습니다. 주요 속성과 메서드 req.app 설명: req 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다. 사용 예: const express = require('express'); const app = express(); app.get('/', (req, res) => { console.log(req.app === app); // true }); req.ip 설명: 요청한 클라이언트의 IP 주소입니다. 사용 예: app.get('/', (req, ..
Node.js 기초 | `request`, `response` 객체를 알아보자Node.js에서 request와 response 객체 깊게 이해하기 1. req 객체 클라이언트가 서버에 보낸 HTTP 요청의 모든 정보를 담고 있는 객체입니다. 클라이언트가 어떠한 방식으로 요청했는지에 대한 데이터와 메서드가 구현되어 있습니다. 주요 속성과 메서드 req.app 설명: req 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다. 사용 예: const express = require('express'); const app = express(); app.get('/', (req, res) => { console.log(req.app === app); // true }); req.ip 설명: 요청한 클라이언트의 IP 주소입니다. 사용 예: app.get('/', (req, ..
2023.08.27 -
1.API의 개념과 예시 API(Application Programming Interface)는 서로 다른 소프트웨어나 애플리케이션 간을 연결해 주는 매개체 이자 약속이라고 할 수 있습니다. 만약 스마트폰의 날씨 앱을 이용해 내일의 날씨를 조회한다면, 앱은 날씨 정보를 제공하는 서버에게 정보를 요청해야 하죠. 이때, 앱과 날씨 서버 간의 통신을 도와주는 것이 API입니다. 여기 위 예시에서 API는 규칙을 만들어 '정보를 어떻게 어디로 요청할 것인가 / 응답은 어떻게 어디로 할 것인가' 정의를 내려야 합니다. 2.'API를 작성' 한다는 말의 뜻은? - 웹 애플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 뜻 - 우리가 작성할 API에서 원하는 데이터를 받아 데이터 베이..
API와 REST API의 개념 | 자바스크립트 예시1.API의 개념과 예시 API(Application Programming Interface)는 서로 다른 소프트웨어나 애플리케이션 간을 연결해 주는 매개체 이자 약속이라고 할 수 있습니다. 만약 스마트폰의 날씨 앱을 이용해 내일의 날씨를 조회한다면, 앱은 날씨 정보를 제공하는 서버에게 정보를 요청해야 하죠. 이때, 앱과 날씨 서버 간의 통신을 도와주는 것이 API입니다. 여기 위 예시에서 API는 규칙을 만들어 '정보를 어떻게 어디로 요청할 것인가 / 응답은 어떻게 어디로 할 것인가' 정의를 내려야 합니다. 2.'API를 작성' 한다는 말의 뜻은? - 웹 애플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 뜻 - 우리가 작성할 API에서 원하는 데이터를 받아 데이터 베이..
2023.08.25 -
1. Node.js란 무엇인가? 정의와 구성요소 Node.js는 Chrome V8JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 이는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적입니다. V8 엔진: 브라우저 환경 이외에서도 자바스크립트 사용을 가능하게 함. libuv: Node.js가 비동기 I/O 작업을 수행할 수 있게 해주는 라이브러리. 2. Node.js의 장점 인기와 특성 Node.js는 웹 프레임워크 기술 부문에서 1위를 차지하는 대표적인 웹 프레임워크입니다. 특성으로는 논 블로킹 I/O, 싱글 스레드, 이벤트 루프 등이 있습니다. 3. 논 블로킹 I/O (Non-Blocking Input/Output) 사용 블로킹과 논 블로킹 블로킹(Blocking) I/..
Node.js 기초 | 한 장으로 보는 Node.js 특징1. Node.js란 무엇인가? 정의와 구성요소 Node.js는 Chrome V8JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 이는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적입니다. V8 엔진: 브라우저 환경 이외에서도 자바스크립트 사용을 가능하게 함. libuv: Node.js가 비동기 I/O 작업을 수행할 수 있게 해주는 라이브러리. 2. Node.js의 장점 인기와 특성 Node.js는 웹 프레임워크 기술 부문에서 1위를 차지하는 대표적인 웹 프레임워크입니다. 특성으로는 논 블로킹 I/O, 싱글 스레드, 이벤트 루프 등이 있습니다. 3. 논 블로킹 I/O (Non-Blocking Input/Output) 사용 블로킹과 논 블로킹 블로킹(Blocking) I/..
2023.08.25 -
이제 데이터를 실제로 처리하는 웹 서버란 무엇인지 확인하도록 하겠습니다. 웹서버란 : HTTP를 이용하여 인터넷상에서 클라이언트의 요청을 처리하고 응답해 주는 컴퓨터 또는 프로그램 필요한 경우, 클라이언트의 요청을 받아 웹 어플리케이션 서버(WAS)로 전달 하여 처리할 수 있다. 웹서버의 주요 업무는 복잡한 비즈니스 로직 수행보다, 데이터를 빠르게 변환하는 것. 많이 들어본걸로는 Apache나 Nginx를 예시로 들을 수 있다. 웹 어플리케이션 서버란? 웹 서버 Web Application Server는 웹서버와 협력하여 동적인 콘텐츠를 제공 - 주로 데이터베이스를 조회하거나, 복잡한 계산과 같은 비즈니스 로직을 처리한다. - 클라이언트의 요청을 웹 서버로부터 전달받아 처리하고, 결과를 다시 웹 서버에 ..
Node.js 기초 | 웹 서버란?이제 데이터를 실제로 처리하는 웹 서버란 무엇인지 확인하도록 하겠습니다. 웹서버란 : HTTP를 이용하여 인터넷상에서 클라이언트의 요청을 처리하고 응답해 주는 컴퓨터 또는 프로그램 필요한 경우, 클라이언트의 요청을 받아 웹 어플리케이션 서버(WAS)로 전달 하여 처리할 수 있다. 웹서버의 주요 업무는 복잡한 비즈니스 로직 수행보다, 데이터를 빠르게 변환하는 것. 많이 들어본걸로는 Apache나 Nginx를 예시로 들을 수 있다. 웹 어플리케이션 서버란? 웹 서버 Web Application Server는 웹서버와 협력하여 동적인 콘텐츠를 제공 - 주로 데이터베이스를 조회하거나, 복잡한 계산과 같은 비즈니스 로직을 처리한다. - 클라이언트의 요청을 웹 서버로부터 전달받아 처리하고, 결과를 다시 웹 서버에 ..
2023.08.25