Backend Development(12)
-
map() vs forEach() 언제 사용해야할까?
배열을 순회할 때 자주 쓰는 두 가지 메서드 map() 과 forEach() 는 겉보기엔 비슷하지만, 선택에 따라 코드의 동작 방식이 크게 달라집니다. 여기서는 두 메서드의 차이를 살펴보고, 어떤 상황에서 어떤 도구를 써야 하는지 정리합니다.map() 이란?map() 은 원본 배열을 변경하지 않고 각 요소에 함수를 적용해 새로운 배열을 반환합니다.let numbers = [1, 2, 3, 4];const squared = numbers.map(num => num * num);console.log(squared); // [1, 4, 9, 16]데이터를 변형하면서 새 배열이 필요할 때 가장 적합합니다.forEach() 란?forEach() 는 배열의 각 요소에 함수를 실행하지만 반환값이 undefined 입..
2025.05.06 -
ChatGPT와 Node.js로 네이버 뉴스 자동 요약 시스템 만들기
요즘 뉴스가 너무 많습니다. 특히나 요즘 시국의 정치 쪽은 따라가기도 너무 벅찹니다. 그래도 이 흐름을 놓칠수야 없죠.오늘은 네이버 뉴스를 크롤링해서 ChatGPT를 통해 내용을 요약하고, 그 내용을 읽기 편하게 텍스트 파일로 저장하는 훌륭한 자동화 프로그램을 만드려고 합니다. 이 글에서는 그 과정을 소개하고, 전체 코드를 공개하겠습니다.프로젝트 개요목표는 뉴스를 요약하고 파일 저장을 자동화 하는 겁니다. 사용할 기술 스택은 아래와 같습니다.Node.jsPuppeteer (크롤링)OpenAI API (ChatGPT)fs 모듈 (파일 저장)1. 네이버 뉴스 크롤링하기크롬에서 개발자 도구를 키고, 네이버 뉴스의 구조를 먼저 파악해야합니다. 헤드라인은 10개가 있습니다. 그렇다면 우선 각 뉴스 페이지에 접근할..
2025.05.01 -
Node.js로 ChatGPT API 연동합시다.
ChatGPT를 웹 페이지나 앱에서 질문하고 답변을 받는 건 많이들 이용하고 계실겁니다.하지만 그 훌륭한 도구가 우리의 웹 애플리케이션이나 우리의 웹 사이트에 장착된다면 큰 효과는 더 뛰어나지 않을까요?ChatGPT API를 Node.js(Javascript 동일)에서 호출하는 예시와 방법 그리고 간단한 코드 예시도 함께 알아보겠습니다. 1. 사전 준비코드를 작성하기 전에 우선 OpenAI API Key를 발급 받아야합니다.여기 페이지 에서 받으실 수 있습니다.Tip: 해당 Key는 발급 당시에만 원문이 확인 가능하니, 메모장이나 어딘가에 해당 키값을 저장해두시는 것을 추천 드립니다. 그리고 API 요금은 ChatGPT 구독료와 별개입니다. API 호출 건당 비용이 발생하기에 그 비용을 미리 충전하셔야합..
2025.04.29 -
Node.js 보다 빠른 런타임, Bun
Bun은 JavaScript의 런타임, 번들러, 패키지 매니저를 하나로 통합한 자바스크립트 올-인원 솔루션입니다. Node.js와 매우 유사하지만, 더 빠르고 간편한 개발 경험을 목표로 하고 있죠. Zig 라는 언어로 작성되었으며, JavaScriptCore 엔진을 기반으로 합니다.그래서 왜 만들었나요?기존 Node.js 환경에서는 여러 도구(npm, webpack, ts-node 등)를 함께 사용해야 하고, 빌드와 설치 시간이 매우 오래 걸리는 문제가 있었습니다. Bun은 이러한 번거로움을 없애고, "하나의 도구, 빠른 속도"라는 철학을 가지고 탄생했습니다. 간단한 Bun 사용법# Bunjs 설치curl -fsSL https://bun.sh/install | bash# 새 프로젝트 시작bun init ..
2025.04.27 -
RDB vs NoSQL: 무엇이 더 나을까?
웹 서비스를 만들다 보면 한 번쯤은 고민하게 되는 주제, 바로 데이터베이스 선택입니다.저는 실무에서 RDB 와 NoSQL 을 모두 사용해봤고, 지금도 상황에 따라 병행해서 쓰고 있습니다.처음엔 "이게 더 낫다!" 하고 단정 짓고 싶었으나, 시간이 지날수록 그런 결론은 별로 현실적이지 않더라고요.그래서 오늘은 제가 겪은 경험을 바탕으로 RDB 와 NoSQL 각각의 특징과 장단점, 그리고 실제로 두 개를 어떻게 함께 쓰고 있는지에 대해 공유하려고 합니다. RDB 의 특징과 장/단점RDB 는 관계형 데이터베이스라고 불리는 구조예요. 대표적으로 MySQL, PostgreSQL, Orcle 같은 것들이 있죠.가장 큰 특징은 데이터 간의 관계를 명확하게 정의할 수 있고, 트랜잭션과 정합성 유지에 강하다는 점이예요...
2025.04.08 -
NestJS 11 출시: 주요 변경 사항과 마이그레이션 가이드
2025년 1월 22일, NestJS 11 버전이 공식적으로 출시되었습니다. 이번 업데이트는 성능 향상, 새로운 기능 추가, Node.js 최신 버전 지원 등으로 개발자들에게 더욱 강력한 도구를 제공합니다. 이 글에서는 주요 변경 사항과 마이그레이션 가이드를 정리했습니다.주요 변경 사항1. Node.js 지원 버전 변경NestJS 11은 Node.js v20 이상을 요구합니다. Node.js v16 및 v18에 대한 지원이 중단되었으므로, 기존 애플리케이션은 반드시 Node.js를 최신 버전으로 업그레이드해야 합니다. 최신 Node.js 기능과 성능 최적화를 활용할 수 있어, 더 안정적이고 효율적인 애플리케이션 운영이 가능합니다.# Node.js 버전 확인node -v# Node.js 최신 버전 설치 (..
2025.01.24