전체 글
NestJS 기초 (2) 프로젝트 시작하기
NestJS는 타입스크립트 및 자바스크립트와 완벽하게 호환됩니다. Nest를 사용하려면 Node.js가 설치되어 있어야 합니다. 이번 글에서는 NestJS 프로젝트를 시작하는 방법과 자동으로 설치되는 기본 파일의 역할에 대해 알아보도록 하겠습니다. Nest 시작하기 터미널에 다음 명령어를 입력하여 새로운 프로젝트를 시작할 수 있습니다. $ npm i -g @nestjs/cli $ nest new project-name project-name 디렉토리가 생성되며 노드 모듈과 몇 가지 보일러플레이트 파일이 설치됩니다. src/ 디렉토리를 열어보면 서버의 핵심 파일들이 있습니다. 각 파일의 역할은 다음과 같습니다. 파일 이름 설명 app.controller.ts 외부 요청을 처리하는 컨트롤러 app.contr..
Heroku로 테스트 애플리케이션 배포하기
Heroku는 웹 애플리케이션을 간편하게 배포할 수 있게 도와주는 무료 PaaS(Platform as a Service)입니다. 이번 포스팅에서는 Heroku로 온라인 상에 웹 앱을 배포하는 방법에 대해 알아보도록 하겠습니다. 1. Heroku 계정 생성 먼저, Heroku 홈페이지로 접속하여 계정을 생성합니다. https://www.heroku.com/ 2. Heroku 설치 및 로그인 Heroku를 설치합니다. brew tap heroku/brew && brew install heroku 또는 npm으로도 설치할 수 있습니다. sudo npm install -g heroku 설치가 잘 되었는지 확인해봅니다. heroku --version Heroku에 로그인합니다. heroku login 3. Nod..
NestJS 기초 (1) NestJS란?
Nest (NestJS)는 확장 가능한 Node.js 서버사이드 애플리케이션을 구축하기 위한 효율적인 프레임워크입니다. 이는 최신 자바스크립트를 사용하며 타입스크립트를 완전히 지원합니다. 또한 OOP(객체 지향 프로그래밍)과 FP(함수형 프로그래밍), FRP(함수형 반응형 프로그래밍)의 요소들을 포함하고 있습니다. Nest는 Express와 마찬가지로 강력한 HTTP 서버 프레임워크를 사용할 수 있으며 Fastify를 사용하여 설정을 진행할 수도 있습니다. Nest는 일반적인 Node.js 프레임워크인 Express/Fastify에 대한 추상화 레벨을 제공함과 동시에 개발자들이 직접 API에 접근할 수 있게 합니다. 개발자들은 이를 통해 플랫폼의 기반이 되는 타사 모듈을 자유롭게 사용할 수 있습니다. N..
Express (3) API 사용하기
이번 포스팅에서는 Express를 통해 외부 API를 호출하고, 응답을 전달 받아 표시하는 방법에 대해 알아보도록 하겠습니다. Express에서 API를 사용하는 여러 방법이 있지만 node에서 기본적으로 제공하는 https를 사용할 수 있습니다. API 호출하기 (비트코인 가격 조회) 이번 예시에서는 바이낸스 거래소 API를 사용하여 비트코인(BTC) 가격을 가져와보도록 하겠습니다. 아래처럼 코드를 작성하고 하고 로그를 찍어보면 요청한 API에 대한 모든 응답을 확인할 수 있습니다. const express = require("express"); const https = require("https"); const app = express(); app.get("/", function(req, res){ ..
JSON 형식 뜻
JSON은 자바스크립트 객체를 스트링(텍스트) 형식으로 전달하는 데이터 표시 방법입니다. JSON은 JavaScript Object Notation의 줄임말인데요. JSON 형식은 사람과 기계가 모두 읽기 쉽습니다. 또한 XML, HTML 형식보다 가벼워서 서버에서 웹페이지로 데이터를 전송할 때 자주 사용됩니다. JSON은 { key : value } 형식으로 구성됩니다. 크롬 익스텐션 JSON Viewer Awesome 또는 포스트맨 같은 앱을 사용하면 raw 형식의 데이터를 조금 더 편하게 볼 수 있습니다.
API란?
API란 쉽게 말해 TV의 리모컨 같은 것이라 할 수 있습니다. 시청자(클라이언트)가 채널을 전환하는 요청(리퀘스트)을 셋톱 박스(서버)에 전달하면 채널이 전환(결과 전달)됩니다. 영어로는 Application Programming Interface라고 하는데요. 서버와 데이터베이스에 대해 프론트 단에서 접근할 수 있는 중간 포인트 역할을 하는 것이 API입니다. 소프트웨어적으로 정의하자면 API란 프로그래머가 소프트웨어를 생성하거나 외부 시스템과 상호작용하기 위해 사용할 수 있는 일련의 명령어, 함수, 프로토콜, 객체를 의미합니다. TV 리모컨이 없다고 생각해보세요. 시청자는 채널을 전환하기 위해 셋톱 박스에 수동으로 접근해서 내부 로직에 따라 채널 전환 명령을 내려야 할 것입니다. 불가능한 일은 아니..
룰루 밀러 ‹물고기는 존재하지 않는다›
1. “자연은 비약하지 않는다”고 다윈은 과학자의 입으로 외쳤다. 우리가 보는 사다리의 층들은 우리 상상의 산물이며, 진리보다는 편리함을 위한 것이다. 다윈에게 기생충은 혐오스러운 것이 아니라 경이였고, 비범함 적응력을 보여주는 사례였다. 크건 작건, 깃털이 있건 빛을 발하건, 혹이 있건 미끈하건 세상에 존재하는 생물의 그 어마어마한 범위 자체가 이 세상에서 생존하고 번성하는 데는 무한히 많은 방식이 존재한다는 증거였다. 그런데 데이비드는 왜 그걸 보지 못한 걸까? 사다리에 대한 그의 믿음을 반증하는 증거들이 이렇게 산더미처럼 쌓여 있는데. 식물과 동물이 배열되는 방식에 관한 이 자의적인 믿음을 왜 그토록 보호하려 한 걸까? 그 믿음에 도전이 제기되면 왜 더욱 강하게 그 믿음을 고수하고 폭력적인 조치를 ..
Express (2) 동적 웹사이트 만들기 (계산기 서비스)
이번 포스팅에서는 Express를 사용하여 간단한 계산기 서비스를 제공하는 웹 애플리케이션 페이지를 만들어 보도록 하겠습니다. 계산기 html 작성 계산기로 사용할 html 문서를 아래와 같이 작성해줍니다. Calculator Submit 여기서 핵심은 바로 form 태그를 사용했다는 것인데요. 중요한 사항들만 간단히 정리해보도록 하겠습니다. form 태그를 사용하면 정보를 제출할 수 있음 action은 form 제출을 처리하는 URL을 지정하며 데이터가 도착하는 URL입니다. 사용할 수 있는 대표적인 HTTP 메소드는 post, get post는 데이터를 request body에 담아 보냄 get 은 action url에 ? 와 함께 전달됨 더 알아보기 https://developer.mozilla.o..