반응형
Node.js 24로 .ts 파일 바로 실행 — ts-node·nodemon 없이 되는 것과 안 되는 것
Backend/NodeJS2026. 7. 15. 18:06Node.js 24로 .ts 파일 바로 실행 — ts-node·nodemon 없이 되는 것과 안 되는 것

.ts 하나 돌려보려고 ts-node·nodemon·tsconfig 세팅부터 하는 게 번거로웠던 적 있을 겁니다. Node 24에선 그냥 node app.ts로 되는데, 모르면 안 써도 될 의존성을 계속 얹고, 무턱대고 걷어내면 enum에서 에러가 터집니다. Node로 스크립트·백엔드를 다뤄온 관점에서 공식 문서를 직접 확인해 되는 것과 안 되는 것을 갈랐습니다. 이 순서대로 가면 ts-node를 걷어낼지, 어디까지 걷어낼지 판단이 섭니다.빌드 없이 .ts가 실행되나 — 되는 것부터됩니다. Node 24는 .ts 파일을 그대로 받습니다.node app.ts--experimental-strip-types 플래그는 필요 없습니다. 이 타입 스트리핑은 v23.6부터 기본으로 켜져 있고, v24에서 Stable..

Spring Boot 3에서 4로 마이그레이션 — 실제로 깨지는 7가지와 해결
Backend/Spring2026. 7. 8. 14:43Spring Boot 3에서 4로 마이그레이션 — 실제로 깨지는 7가지와 해결

Spring Boot 3.5의 오픈소스 지원이 2026년 6월 30일 끝나면서 4.0으로 올려야 하나 고민하는 시점입니다. 미루면 보안 패치가 끊기고, 그냥 버전만 올리면 앱이 기동조차 안 되거나 API가 전부 403으로 막힙니다. 현업에서 Java·Spring을 다뤄온 관점에서 공식 마이그레이션 가이드를 실제 깨지는 항목 위주로 정리했습니다. 이 순서대로 가면 3.x에서 4.0까지 무엇이 깨지고 어떻게 고치는지 손에 잡힙니다.왜 지금 올려야 하나 — 3.5 EOLSpring Boot 3.5의 오픈소스 지원은 2026년 6월 30일 종료됐습니다. 이후 3.x 브랜치는 상용(Commercial) 계약이 있어야 보안 패치를 받습니다. 무료로 계속 쓰면 새 CVE가 나와도 패치가 안 옵니다. 그래서 판단은 단..

Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟
Backend/Spring2024. 12. 2. 15:20Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟

Project Lombok은 자바 코드의 반복적인 작업을 줄이고, 생산성을 향상시키는 라이브러리입니다. Lombok은 어노테이션(Annotation)을 통해 getter, setter, constructor 등의 보일러플레이트 코드를 자동으로 생성해줍니다.Lombok을 사용하는 이유코드 간소화: toString(), equals(), hashCode(), getters, setters 등의 일반적인 메서드를 자동으로 생성합니다.가독성 향상: 불필요한 코드가 줄어들어 코드의 의도가 더 명확하게 드러납니다.개발 시간 단축: 작성해야 할 코드가 줄어들어 비즈니스 로직에 집중할 수 있습니다.리팩토링 용이성: 필드 이름을 변경하더라도 getter/setter를 따로 수정할 필요가 없습니다.Lombok의 주요 기능..

Spring Boot에서 API 응답을 구조화하는 가장 좋은 방법
Backend/Spring2024. 11. 24. 00:29Spring Boot에서 API 응답을 구조화하는 가장 좋은 방법

오늘은 Spring Boot에서 API 응답을 깔끔하고 일관되며 사용하기 쉽게 구조화하는 가장 좋은 방법에 대해 이야기해보려고 합니다. 이 글을 끝까지 읽으면, 당신의 API가 더 깔끔하고 일관성 있으며, 사용자 친화적으로 바뀌는 모습을 볼 수 있을 것입니다.API 응답 구조가 왜 중요할까?먼저, 잘 구조화된 API 응답이 왜 중요한지 살펴봅시다. 일관된 응답 구조는 다음과 같은 장점을 제공합니다:클라이언트 측 에러 처리 개선: 프론트엔드 팀에서 크게 감사할 것입니다.가독성과 유지보수성 향상: 미래의 당신이나 팀이 명확함에 감동할 것입니다.디버깅과 로깅 간소화: 문제를 빠르고 효율적으로 파악할 수 있습니다.좋은 API 응답의 조건잘 구조화된 API 응답은 다음과 같은 특징을 가져야 합니다:일관성: 다양한..

Spring Boot에서 데이터 캐싱 방법
Backend/Spring2024. 11. 13. 22:50Spring Boot에서 데이터 캐싱 방법

이 글에서는 시스템 실행 중 성능을 향상시키기 위해 데이터를 캐싱하는 몇 가지 기술을 살펴보겠습니다. 일반적으로 계산하는 데 시간이 오래 걸리는 값을 캐싱하면 나중에 액세스할 때 시간을 절약할 수 있습니다. 캐싱되는 값은 자주 변경되지 않거나, 최신 버전이 필요하지 않은 경우가 많습니다.Spring Boot에서 캐싱Spring Boot REST API에서 캐싱을 활성화하는 가장 간단한 방법은 애플리케이션에 설정하고, 엔드포인트에 @Cacheable 어노테이션을 사용하는 것입니다.애플리케이션에서 다음과 같이 @EnableCaching 어노테이션을 추가하기만 하면 됩니다.@SpringBootApplication@EnableCachingpublic class SpringBootCachingApplication..

[Spring Boot] 대용량 데이터 쿼리 REST 엔드포인트 처리
Backend/Spring2024. 11. 10. 22:31[Spring Boot] 대용량 데이터 쿼리 REST 엔드포인트 처리

이 글에서는 메모리 소비 문제로 인해 기존 방식으로는 구현할 수 없는 REST 엔드포인트의 예를 살펴보겠습니다.시나리오이번 예제에서는 Customer, Order, OrderItem, 그리고 Product로 구성된 간단한 시나리오를 사용합니다.우리의 목표는 보고서를 생성하는 엔드포인트를 만드는 것입니다. 이 엔드포인트는 다음 데이터를 쿼리하고 반환해야 합니다.백만 개의 주문(Orders)500만 개 이상의 주문 항목(OrderItems)기존 구현몇 가지 필드를 가진 DTO를 정의해보겠습니다.@Datapublic class ReportDto { private final Long orderId; private final LocalDate date; private final String customerN..

백엔드 무료 호스팅 10가지 사이트 — Cloudflare Workers · Vercel · Render 등 비교
Backend2024. 10. 16. 22:54백엔드 무료 호스팅 10가지 사이트 — Cloudflare Workers · Vercel · Render 등 비교

사이드 프로젝트·MVP를 위한 백엔드 무료 호스팅 사이트 10가지를 비교 정리했습니다.Cloudflare Workers·Vercel·Render·Fly.io 등 주요 서비스의 무료 한도·특징과, 어떤 프로젝트에 어떤 서비스가 맞는지 선택 기준까지 함께 다룹니다. 1) Cloudflare WorkersCloudflare Workers는 서버리스 컴퓨팅 플랫폼으로, 개발자가 Cloudflare의 글로벌 네트워크 edge에서 코드를 실행할 수 있게 해줍니다. 이를 통해 사용자에게 더 짧은 지연 시간과 더 빠른 응답 시간을 보장합니다. 무료 버전은 백엔드 코드를 호스팅하고 실행할 수 있는 넉넉한 용량을 제공합니다.2) VercelVercel은 개발자를 위한 플랫폼으로, 추가 구성 없이 웹 앱을 더 빠르게 빌드하..

[Node.js] Winston 사용하여 로깅하기
Backend/NodeJS2024. 9. 27. 09:59[Node.js] Winston 사용하여 로깅하기

로깅(Logging)은 모든 애플리케이션에서 중요한 부분입니다. 로깅은 코드 디버깅, 모니터링 및 유지 관리에 도움이 됩니다. Winston은 유연성과 풍부한 기능으로 인해 Node.js에서 가장 인기 있는 로깅 라이브러리 중 하나입니다. 이 글에서는 Winston을 Node.js 애플리케이션에 통합하고 그 기능을 최대한 활용하는 방법을 살펴봅니다.개요이 튜토리얼에서는 다음을 다룹니다:Node.js 프로젝트에서 Winston 설정하기다양한 로깅 수준 구성하기사용자 정의 로그 형식 만들기여러 전송(콘솔, 파일 등)에 로깅하기사용자 지정 로그 수준 만들기일일 로그 파일에 로깅하기Express 애플리케이션에서 Winston 사용하기전제 조건JavaScript 및 Node.js에 대한 기본 지식npm 및 Exp..

Node.js, Express를 사용하여 간단한 웹 크롤러 만들기
Backend/NodeJS2023. 11. 30. 10:24Node.js, Express를 사용하여 간단한 웹 크롤러 만들기

스파이더라고도 알려진 웹 크롤러(Web crawler)는 인터넷을 탐색하고, 웹사이트를 방문하고, 다양한 목적으로 데이터를 추출하는 자동화된 프로그램입니다. 웹 크롤러를 구축하는 것은 복잡한 작업일 수 있지만 올바른 도구와 지침을 사용하면 보람 있는 경험이 될 수 있습니다. 이 글에서는 Node.js, Express 및 TypeScript를 사용하여 간단한 웹 크롤러를 구축하는 방법을 살펴보겠습니다. 프로젝트 설정 시작하려면 새 Node.js 프로젝트를 만들고 필요한 종속성을 설치해야 합니다. 우리는 다음 패키지를 사용할 것입니다. Express — 쉽게 서버를 생성하고 HTTP 요청을 처리할 수 있게 해주는 인기 있는 Node.js 웹 프레임워크입니다. Cheerio — HTML 및 XML 문서를 탐색..

OAuth와 JWT 차이점 및 사용 사례
Backend2023. 11. 2. 10:43OAuth와 JWT 차이점 및 사용 사례

OAuth와 JWT는 웹 애플리케이션에서 일반적으로 사용되는 두 가지 보안 메커니즘입니다. 둘 다 인증 기능을 제공하지만 접근 방식과 사용 사례가 다릅니다. 이 글에서는 OAuth와 JWT의 차이점과 각각을 언제 사용하는지 살펴보겠습니다. Section 1: OAuth OAuth는 자격 증명을 노출하지 않고 타사 애플리케이션이 사용자의 리소스에 액세스 할 수 있도록 하는 개방형 인증 표준입니다. OAuth 흐름에는 리소스 소유자(사용자), 클라이언트(애플리케이션) 및 권한 부여 서버 이 세 가지가 관련됩니다. 클라이언트는 Authorization Server를 통해 리소스 소유자에게 Authorization(권한부여)을 요청하고, 승인이 나면 클라이언트는 리소스에 접근하기 위한 Access Token을 ..

반응형
image