<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>mr-hwang.log</title>
        <link>https://velog.io/</link>
        <description>Carpediem</description>
        <lastBuildDate>Mon, 11 Mar 2024 08:32:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>mr-hwang.log</title>
            <url>https://velog.velcdn.com/images/mr-hwang/profile/59807752-d9bd-40b9-9c37-140c97071193/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. mr-hwang.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/mr-hwang" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Node.js / Express]]></title>
            <link>https://velog.io/@mr-hwang/Node.js-Express</link>
            <guid>https://velog.io/@mr-hwang/Node.js-Express</guid>
            <pubDate>Mon, 11 Mar 2024 08:32:45 GMT</pubDate>
            <description><![CDATA[<h1 id="nodejs--express">Node.js / Express?</h1>
<p><strong>Node.js</strong>는 빠르고 확장 가능한 네트워크 애플리케이션을 구축하기 위한 서버 사이드 플랫폼이며, <strong>Express</strong>는 Node.js 위에서 동작하는 웹 애플리케이션 프레임워크입니다. 이들을 결합함으로써, 개발자들은 강력하고 유연한 웹 애플리케이션과 API를 손쉽게 구축할 수 있습니다.
<img src="https://velog.velcdn.com/images/mr-hwang/post/9ce6a496-16ca-419c-876e-aceb1104a6f6/image.png" alt=""></p>
<h2 id="서버사이드-플랫폼-프레임워크">서버사이드 플랫폼? 프레임워크?</h2>
<h3 id="서버사이드-플랫폼server-side-platform">서버사이드 플랫폼(Server-Side Platform)</h3>
<p>서버사이드 플랫폼은 웹 애플리케이션을 개발하고 실행하는 데 사용되는 소프트웨어 환경을 가리킵니다. 이 플랫폼은 애플리케이션의 백엔드를 구성하고 서비스하는 데 필요한 도구와 기술을 제공합니다. 일반적으로 서버사이드 플랫폼에는 웹 서버, 데이터베이스, 백엔드 프로그래밍 언어, 프레임워크, 미들웨어 등이 포함될 수 있습니다. 예를 들어, Node.js, Django, Ruby on Rails 등이 서버사이드 플랫폼의 예입니다.
<img src="https://velog.velcdn.com/images/mr-hwang/post/6b3a9d5f-0130-4f4c-a728-3b57d62b9e0f/image.png" alt=""></p>
<h3 id="프레임워크framework">프레임워크(Framework)</h3>
<p>프레임워크는 소프트웨어 개발을 위한 구조나 틀을 제공하는 추상화된 라이브러리나 도구 모음입니다. 프레임워크는 개발자가 애플리케이션의 기능을 빠르게 구현할 수 있도록 돕습니다. 프레임워크는 주로 특정 프로그래밍 언어로 개발되며, 해당 언어의 특성에 따라 동작합니다. 프레임워크는 특정한 작업이나 목적을 위한 모듈, 라이브러리, 템플릿, 디자인 패턴 등을 포함할 수 있습니다. 예를 들어, Flask와 Express.js는 웹 애플리케이션을 개발하기 위한 프레임워크로, Spring은 Java 기반의 애플리케이션을 개발하기 위한 프레임워크입니다.
<img src="https://velog.velcdn.com/images/mr-hwang/post/fb36cd9a-83e5-4588-b5b1-1fa36e961532/image.png" alt=""></p>
<h3 id="라이브러리library">라이브러리(Library)</h3>
<p>라이브러리는 특정 기능을 수행하기 위한 코드나 기능의 집합입니다. 개발자는 필요한 기능을 호출하여 사용할 수 있습니다.
라이브러리는 개발자가 호출하는 것에 대한 제어권이 개발자에게 있습니다. 즉, 개발자가 필요할 때마다 라이브러리를 사용하고 그 결과를 받아들이는 방식입니다.
대표적인 라이브러리로는 jQuery, NumPy, React 등이 있습니다.
<img src="https://velog.velcdn.com/images/mr-hwang/post/af2d3d39-a000-4ee4-bf1d-709753c62041/image.png" alt=""></p>
<h2 id="nodejs와-express">Node.js와 Express</h2>
<h3 id="nodejs란">Node.js란?</h3>
<p>Node.js는 Chrome V8 JavaScript 엔진을 사용하여 구축된 서버 사이드 JavaScript 실행 환경입니다. 이를 통해 개발자는 클라이언트 사이드 스크립트뿐만 아니라 서버 사이드 애플리케이션을 JavaScript로 개발할 수 있게 됩니다. Node.js의 비동기 이벤트 주도 아키텍처는 동시성 처리에 매우 효과적이며, 이는 고성능 네트워크 애플리케이션 개발을 가능하게 합니다.</p>
<h3 id="express란">Express란?</h3>
<p>Express는 Node.js를 위한 미니멀하고 유연한 웹 애플리케이션 프레임워크로, 웹 애플리케이션과 API 개발을 위한 강력한 기능 세트를 제공합니다. 라우팅, 미들웨어 지원, 템플릿 엔진 등의 기능을 통해 개발자는 구조화되고 유지보수가 용이한 웹 애플리케이션을 빠르게 구축할 수 있습니다.
<img src="https://velog.velcdn.com/images/mr-hwang/post/7d2f2c29-8dce-4ff0-9696-4bc0a30ddae1/image.png" alt=""></p>
<h3 id="기본-웹-애플리케이션-구축하기">기본 웹 애플리케이션 구축하기</h3>
<p>Node.js와 Express를 사용하여 간단한 웹 애플리케이션을 구축해봅시다.</p>
<ol>
<li><p>Node.js 설치: 공식 웹사이트에서 <code>Node.js</code>를 다운로드하고 설치합니다.
<a href="https://nodejs.org/en/download/current">https://nodejs.org/en/download/current</a></p>
</li>
<li><p>프로젝트 초기화: 새 프로젝트 디렉토리를 생성하고, 그 안에서 <code>npm init</code> 명령어를 실행하여 <code>package.json</code> 파일을 생성합니다.</p>
</li>
<li><p>Express 설치: 프로젝트 디렉토리에서 <code>npm install express --save</code> 명령어를 실행하여 Express를 설치합니다.</p>
</li>
<li><p>애플리케이션 파일 생성: 프로젝트의 루트 디렉토리에 <code>app.js</code> 파일을 생성하고, 기본 Express 애플리케이션 코드를 작성합니다.</p>
</li>
</ol>
<blockquote>
<p>예시 소스코드✍🏻</p>
</blockquote>
<pre><code class="language-js">javascript
Copy code
const express = require(&#39;express&#39;);
const app = express();
const port = 3000;

app.get(&#39;/&#39;, (req, res) =&gt; {
  res.send(&#39;Hello World!&#39;);
});

app.listen(port, () =&gt; {
  console.log(`Example app listening at http://localhost:${port}`);
});</code></pre>
<ol start="5">
<li>애플리케이션 실행: 터미널에서 node app.js 명령어를 실행하여 애플리케이션을 시작합니다. 이제 브라우저에서 <a href="http://localhost:3000%EC%9C%BC%EB%A1%9C">http://localhost:3000으로</a> 접속하면 &#39;Hello World!&#39; 메시지를 볼 수 있습니다.</li>
</ol>
]]></description>
        </item>
    </channel>
</rss>