본문 바로가기

분류 전체보기136

프로젝트 헤일메리 - 졸음.졸음.좋음. 지구를 구하기 위해 돌아올 수 없는 우주로 떠난 과학자의 이야기 무려 600페이지가 넘는 꽤 긴 스토리의 책이다.하루에 100페이지씩만 읽자라고 시작했는데 300페이지가 넘어갈 때까지 수 십번은 존듯하다.물리학 이야기가 꽤 나와서 그런지페이지는 안 넘어가고 금세 딴 생각에 빠지고 그러다 졸고... 인간이라는 존재가 우주 탐험을 떠날 때 고려해야하는 것들물리, 생명, 화학 등 모든 과학적 요소뿐만 아니라 정치적 요소도 담고 있다.소설에서도 이러한 문제를 쉽게 풀어가진 않지만실제 현실적으로 생각해보면 지구인, 인간이란 존재는 몇 십년이 흘러도 소설같은 문제 해결은 없을 것 같다. 이렇게 한 장 한 장 지루하게 넘길 때 '로키'가 등장한다. '로키'가 등장하는 순간부터 심장이 두근되며 빨리 다음 장을 넘기지 .. 2025. 2. 19.
[Node.js] Array.from() Array.from() 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만든다.  유사 배열 객체 배열처럼 보이지만 사실 key가 숫자이고 length 값을 가지고 있는 객체{} 얕은 복사 1depth까지만 완전히 복사 Array.from("foo");// [ "f", "o", "o" ]const set = new Set(["foo", "bar", "baz", "foo"]);Array.from(set);// [ "foo", "bar", "baz" ]Array.from([1, 2, 3], (x) => x + x);// [2, 4, 6]  숫자 시퀀스 생성하기Array.from({ length: 5 }, (v, i) =.. 2024. 9. 13.
[Node.js] MongoDB ObjectId ObjectIdMongoDB에서 모든 문서에는 고유하게 식별하는 "_id" 필드가 포함되어 있다.이는 기본키 역할을 하며 12byte의 BSON 타입으로 생성된다. 처음 4 바이트는 문서의 유닉스 타임스탬프를 나타낸다.다음 3 바이트는 MongoDB 서버 가 실행 중인 머신 ID이다.다음 2 바이트는 프로세스 ID이다.마지막 필드는 objectid를 증가시키는 데 사용되는 3개의 바이트이다. BSON 타입"Binary JSON"의 약자로 바이너리 타입의 JSON 형식이다.기계어로 변환되기 때문에 사람이 읽기 위해선 다시 디코딩 과정을 거쳐야 한다.JSON에서 지원하지 않는 날짜나 바이너리 타입등을 추가적으로 지원한다.타입이나 길이 정보를 인코딩해 저장하기 때문에 JSON에 비해 빠르게 탐색한다. Obje.. 2024. 9. 11.
[Node.js] process.env.PORT 포트를 설정할 때 다음과 같이 직접 입력할 수 있다.const port = 5000;  하지만 위 방식을 권장하지 않는다.특정 서비스(aws 등)에 배포하는 경우 해당 플랫폼에서 포트를 동적으로 알아서 지정할 수 있기 때문이다. 예를 들어 AWS Elastic Beanstalk으로 배포하는 경우 정적으로 3000 포트를 설정해 놓으면, 아마존이 포트를 구성해 놓고 있기에 500 에러가 발생한다.   process.env.PORT process.envNodejs 앱이 동작할 리눅스/유닉스 시스템의 환경변수를 이용하는 것이다. 환경변수 정보를 가지고 있는 env 객체의 속성 중에서 PORT 속성은 동적으로 할당되는 포트를 저장하기 때문에, 플랫폼에서 동적으로 포트를 지정하더라도 문제없이 할당 받을 수 있게 .. 2024. 9. 10.
[Node.js] express 모듈 사용하기 express?웹 서버에서 요청하고 전달 받는 리소스 등을 간결하고 가독성이 쉽게 구현하기 위해 사용되는 모듈이다.직관적인 API를 제공하여 코드를 이해하기 쉽게 만든다. 적은 코드량(Less Code): 복잡한 웹 기능을 간단한 메서드로 구현할 수 있다. 미들웨어(Middleware): 요청 처리 과정에 여러 기능을 쉽게 추가할 수 있는 미들웨어를 제공한다. 라우팅(Routing): URL 경로에 따라 다른 처리를 하는 기능으로, RESTful API 구현이 용이하다. 템플릿 엔진 지원: 동적 HTML 페이지 생성을 위한 다양한 템플릿 엔진을 지원한다. express 사용하기const express = require('express');const app = express();express 프레임워크에는.. 2024. 9. 10.
[Node.js] 서버 모듈 설치하기(package.json) 모듈 설치하기npm install express mongodb cors nodemonexpress웹서버에서 요청하고 전달 받는 리소스 등을 좀 더 간결하고 가독성이 쉽게 구현하기 위해 사용되는 모듈https://expressjs.com/ko/ mongodbMongo DB 자체콘솔에서 사용하는것처럼 Mongo DB의 명령어들을 그대로 사용하기 위한 모듈 cors(Cross-Origin Resource Sharing)웹 브라우저는 보안을 유지하기 위해 다른 출처(origin)에서 리소스를 가져오는 것을 제한하는 모듈 nodemon파일 변경을 자동으로 감지하여 서버를 재시작하는 모듈{ "scripts": { "start": "nodemon main.js" }, "dependencies": { .. 2024. 9. 9.
반응형