Node.js 학습일기(3일차)
·
카테고리 없음
📘 Node.js 학습 기록 (3일차) 1. HTTP 요청 본문(Body) 다루기 어제는 요청(req)과 응답(res) 객체의 존재를 알았지만, 오늘은 클라이언트가 보내는 데이터를 직접 받는 방법을 파헤쳐 보았다. 회원가입이나 글쓰기처럼, 사용자가 입력한 데이터는 HTTP 요청의 본문(Body)에 담겨 온다고 했다. Express에서는 이 본문을 쉽게 다룰 수 있도록 `express.json()` 같은 미들웨어를 제공했다. javascript// app.jsconst express = require('express');const app = express();const port = 3000;// JSON 요청 본문을 파싱하는 미들웨어app.use(express.json());app.post('/api/..
Node.js 학습일기(2일차)
·
카테고리 없음
📘 Node.js 학습 기록 (2일차)어제는 Node.js 런타임의 기본을 이해하고 간단한 서버를 띄워 보았다. 오늘은 웹 서버 개발을 훨씬 더 효율적으로 만들어주는 Express 프레임워크의 핵심 기능들을 깊이 있게 파헤쳐 보았다.1. Express 기본 서버 다시 만들기어제 http 모듈로 만들었던 서버를 Express를 사용해서 다시 만들어 보았다. 코드가 훨씬 간결해지고 직관적으로 변하는 것을 보고 Express를 왜 사용하는지 바로 체감할 수 있었다.const express = require('express');const app = express();const port = 3000;app.get('/', (req, res) => { res.send('Hello, this is my first..
Node.js 학습일기(1일차)
·
카테고리 없음
📘 Node.js 학습 기록 기존 Spring을 학습하던 도중, 실무에서 Node.js에 대한 사용률이 많아보여 Node.js에 대한 학습을 시작했으며, 이를 블로그에 정리하였다. 사실 자바스크립트를 브라우저 환경에서 사용한 경험은 조금 있었기 때문에 문법 자체가 완전히 낯설지는 않았다. 다만 서버 개발에 자바스크립트를 활용하는 것은 처음이었고, 그 과정에서 Node.js의 특성과 생태계를 학습하며 많은 것을 배울 수 있었다. 1. Node.js 기본 이해Node.js란 무엇인가?Node.js는 Chrome V8 엔진 위에서 동작하는 자바스크립트 런타임 환경이다. 덕분에 자바스크립트를 단순히 브라우저의 스크립트 언어가 아닌, 서버에서도 활용할 수 있다.비동기 I/O 모델기존에 사용하던 Spring은 ..
JPA와 Hibernate 둘의 차이점이 뭘까..?
·
카테고리 없음
JPA와 Hibernate, 그리고 두 기술의 차이점JPA(Java Persistence API)와 Hibernate는 자바에서 데이터를 관계형 데이터베이스와 쉽게 연결하고 조작할 수 있도록 돕는 기술이다. 이들은 둘 다 객체-관계 매핑(ORM, Object-Relational Mapping) 기술을 기반으로 하지만, 그 목적과 역할에서 몇 가지 차이가 있다.JPA (Java Persistence API)JPA는 자바에서 ORM을 구현하기 위한 표준 규격이다. 자바 객체를 관계형 데이터베이스의 테이블에 매핑할 수 있도록 정의된 인터페이스들로 구성되어 있다. JPA는 구체적인 구현체가 아니라, ORM 기술을 구현하기 위한 규격이다. 즉, JPA 자체는 구현체가 없으며, 여러 ORM 구현체들이 JPA 규격을..
Dispatcher Servlet이란 무엇일까..?
·
카테고리 없음
❓ DispatcherServlet이란??필터(Filter), 인터셉터(Interceptor)와 함께 이해하는 Spring 웹 요청 처리 흐름 Spring MVC에서 웹 요청이 처리되는 방식은 단순히 "요청 → 컨트롤러 → 응답"의 흐름이 아니다.실제로는 Filter, DispatcherServlet, Interceptor, Controller, ViewResolver 등 다양한 컴포넌트가 유기적으로 연결되어 복잡한 요청 흐름을 만든다. 이 중에서도 중심에 있는 DispatcherServlet에 대해서 정리해보려 한다. ✅ DispatcherServlet이란?DispatcherServlet은 Spring MVC에서 제공하는 프론트 컨트롤러(Front Controller)이다. 클라이언트의 모든 HTTP ..
필터와 인터셉트란 무엇일까..?
·
카테고리 없음
🔍 인터셉터(Interceptor)와 필터(Filter)의 차이점과 사용법 Spring 웹 애플리케이션을 개발하다 보면, 모든 요청에 대해 공통적으로 처리해야 할 작업이 생기는 경우가 있다.예를 들어,로그인 체크요청 로그 기록응답 헤더 조작보안 검사 (예: 토큰 검사)인코딩 설정이런 공통 처리를 하기 위해 사용하는 대표적인 도구가 바로 필터(Filter)와 인터셉터(Interceptor)이다. ✅ 필터(Filter)란?필터(Filter)는 서블릿(Servlet) 기술의 일부로, Spring이 시작되기 전에 동작하는 컴포넌트이다.즉, DispatcherServlet보다 먼저 실행되며, HTTP 요청/응답 전체를 조작할 수 있다. 🤔 필터는 어디에 쓰일까?요청/응답 인코딩 설정XSS(Cross Sit..
@Controller와 @RestController의 차이점은 뭘까..?
·
카테고리 없음
🔍 @Controller와 @RestController 차이점이 뭘까?? Spring Framework에서 클라이언트 요청을 처리하기 위해 사용하는 핵심 애노테이션 중에는 @Controller와 @RestController가 있다. 두 애노테이션은 비슷해 보이지만 실제로는 사용 목적과 응답 방식에서 차이가 있기 때문에 정리해보려 한다. ✅ @Controller란?@Controller는 Spring MVC에서 전통적인 웹 애플리케이션을 개발할 때 사용하는 애노테이션이다. 이 애노테이션은 뷰(View)를 반환하기 위한 컨트롤러 클래스에 붙는다.📌 특징주로 JSP, Thymeleaf 같은 템플릿 엔진을 사용하는 서버 사이드 렌더링(View 기반 웹 페이지)에 사용된다.메서드가 반환하는 값은 뷰 이름(V..
@RequestParam과 @PathVariable의 차이점은 뭘까..?
·
카테고리 없음
🔍 @RequestParam과 @PathVariable 차이점과 서버에서 값을 전달받는 다양한 방법 정리 Spring Framework에서 클라이언트로부터 데이터를 전달받아 처리할 때는 다양한 방식이 존재한다. 대표적으로는 @RequestParam과 @PathVariable 애노테이션이 있으며, 각각의 특징과 사용 목적에 대하여 정리해보려 한다.우선 두가지 어노테이션 다 HTTP 요청에서 값을 추출하는데 사용이 된다. ✅ @RequestParam이란?@RequestParam은 HTTP 요청에서 쿼리 파라미터(query parameter)의 값을 전달받을 때 사용하는 애노테이션이다. URL 뒤에 붙는 ?key=value 형식의 데이터를 서버에서 받기 위해 사용된다.📌 사용 예시@GetMapping(..