전체 글
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..
Express (1) 기초 설치와 서버 실행
Express란? Node.Js 프레임워크 Node.Js를 더 효율적이고 쉬게 사용할 수 있게 함 Node.Js가 스크류드라이버라면 Express는 전동 드릴 정도 공식 웹사이트: https://expressjs.com/ Express 서버 시작하기 node.js 설치하기 mkdir express_server 새로운 서버 디렉토리 생성 touch server.js 서버 파일 생성 npm init package.json 파일 생성 npm install express express 설치 서버 실행 테스트하기 server.js에 아래와 같이 작성 node server.js 명령어로 파일 실행 const express = require("express"); const app = express(); app.lis..
[집무실 레터 ⑦] 정체성 갖기
회사에서 일하기를 그만둔 지 2주가 지났네요. 요즘 루틴 앱을 하나 찾아서 새로운 루틴을 만들어 가고 있습니다. 전과 비교했을 때 크게 달라진 점은 아침에 일어나서 명상을 한다는 점이에요. 아직까지는 10분도 가만히 있기가 어렵긴 하지만, 목표한 시간 동안 차분히 제 자신을 돌아보고 났을 때 주어지는 마음가짐은 하루를 보내는 데 있어서 참 소중한 거 같아요. 홀로서기를 할 때는 정체성이 무척 중요한 거 같아요. 번역가면 번역가, 창업가면 창업가, 개발자면 개발자... 물론 이러한 직의 타이틀을 빌려오지 않고 업을 중심으로 자신의 정체성을 정의할 수도 있죠. 정체성을 가질 때 중요한 건 한계를 정하지 않는 거라 생각해요. 예를 들어, 웹 개발자가 되기로 했다면 '나는 아직 아무 것도 모르니까 실제 프로젝트..