본문 바로가기
반응형

분류 전체보기166

[Hono] 5장: 고급 기능 - 유효성 검사와 RPC 모드 5장: 고급 기능 - 유효성 검사와 RPC 모드Hono는 기본적인 웹 프레임워크 기능을 넘어, 타입 안정성을 극대화하고 개발 경험을 향상시키는 고급 기능들을 제공합니다. 여기서는 외부 라이브러리를 이용한 유효성 검사와 Hono의 독특한 기능인 RPC 모드에 대해 배웁니다.1. 유효성 검사 (Validation)클라이언트로부터 받은 데이터(라우트 파라미터, 쿼리, JSON 본문 등)가 우리가 기대하는 형식과 일치하는지 검증하는 것은 매우 중요합니다. Hono는 zod와 같은 유효성 검사 라이브러리와 쉽게 통합할 수 있는 @hono/zod-validator 미들웨어를 제공합니다.라이브러리 설치:npm install zod @hono/zod-validator스키마(Schema) 정의: zod를 사용하여 데이터.. 2025. 9. 23.
[Hono] 4장: 요청과 응답 심화 - 데이터 흐름 다루기 4장: 요청과 응답 심화 - 데이터 흐름 다루기컨텍스트 객체 c를 통해 요청(Request) 데이터를 더 깊이 있게 다루고, 다양한 형태의 응답(Response)을 생성하는 방법을 자세히 알아봅니다.1. 요청(Request) 객체 c.reqc.req는 Hono의 HonoRequest 객체로, 표준 Request API와 호환되며 여러 유용한 헬퍼 메소드를 제공합니다.c.req.param(key): 라우트 파라미터 값을 가져옵니다. (예: /users/:id)c.req.query(key): URL 쿼리 스트링 값을 가져옵니다. (예: ?name=hono)c.req.queries(key): 동일한 키를 가진 여러 쿼리 스트링 값을 배열로 가져옵니다. (예: ?tags=js&tags=ts)c.req.heade.. 2025. 9. 23.
[Hono] 3장: 미들웨어 - 요청 처리 흐름 제어하기 3장: 미들웨어 - 요청 처리 흐름 제어하기Hono의 미들웨어는 Express와 마찬가지로 요청이 최종 핸들러에 도달하기 전에 다양한 공통 작업을 처리하는 강력한 도구입니다. Hono에서 미들웨어를 작성하고 사용하는 방법을 배웁니다.1. 핵심 개념미들웨어(Middleware): 요청을 처리하는 핸들러 함수들의 체인(chain)입니다. 각 미들웨어는 요청을 검사하거나, 수정하거나, 다음 미들웨어 또는 최종 핸들러로 제어를 넘길 수 있습니다.Hono 미들웨어의 형태: Hono의 미들웨어는 두 개의 인자, 컨텍스트(c)와 next 함수를 받는 비동기 함수입니다.async (c, next) => { ... }next() 함수: 다음 미들웨어 또는 라우트 핸들러를 호출하는 함수입니다. await next()를 호.. 2025. 9. 23.
[Hono] 2장: 라우팅과 컨텍스트 - 요청을 이해하고 응답하기 2장: 라우팅과 컨텍스트 - 요청을 이해하고 응답하기Hono의 라우팅은 Express와 매우 유사하지만, 요청과 응답을 다루는 방식에서 컨텍스트(Context) 객체를 사용한다는 중요한 차이점이 있습니다. Hono의 라우팅과 핵심적인 컨텍스트 객체 사용법을 배웁니다.1. 핵심 개념라우팅: Hono는 Express와 거의 동일한 방식으로 라우팅을 정의합니다.app.METHOD(PATH, HANDLER)METHOD: get, post, put, delete 등 HTTP 메소드에 해당하는 함수PATH: URL 경로. 라우트 파라미터(예: /:id)도 지원합니다.HANDLER: 요청을 처리하는 핸들러 함수.컨텍스트 (Context) 객체 c:Hono 핸들러의 유일한 인자입니다. Express의 req와 res .. 2025. 9. 22.
[Hono] 1장: Hono 소개 - 작고, 간단하고, 초고속! 1장: Hono 소개 - 작고, 간단하고, 초고속!어떤 JavaScript 런타임에서도 동작하는 작고, 간단하며, 초고속 웹 프레임워크 Hono의 세계에 오신 것을 환영합니다. Hono가 왜 엣지 컴퓨팅(Edge Computing) 시대에 주목받고 있는지, 그리고 어떻게 첫 Hono 애플리케이션을 시작하는지 배웁니다.1. 핵심 개념Hono란?: Go 언어의 net/http에서 영감을 받은 웹 프레임워크입니다. 이름은 일본어로 "불꽃(炎)"을 의미하며, 그 이름처럼 매우 빠르고 가벼운 성능을 자랑합니다.주요 철학 및 특징:초고속(Ultrafast): 라우터로 Regexp-based 라우터 대신 Trie-based 라우터를 사용하여 매우 빠른 라우팅 성능을 보여줍니다.초경량(Lightweight): 의존성이.. 2025. 9. 22.
[ExpressJs] 8장: 배포와 다음 단계 - 세상에 내 서버 알리기 8장: 배포와 다음 단계 - 세상에 내 서버 알리기로컬 환경에서 만든 Express 애플리케이션을 실제 사용자들이 접근할 수 있는 웹에 배포하는 방법을 알아봅니다. 또한, 더 나은 Express 개발을 위한 몇 가지 모범 사례와 다음 학습 주제를 살펴봅니다.1. 배포(Deployment)Express 앱을 배포하는 방법은 다양하지만, 여기서는 초보자에게 가장 접근성이 좋은 클라우드 플랫폼 기반의 배포 방법을 소개합니다.PaaS (Platform as a Service): Heroku, Vercel, Render 와 같은 플랫폼은 소스 코드(주로 Git 리포지토리)만 업로드하면 인프라 설정, 서버 실행, 도메인 연결 등을 자동화해주는 서비스입니다. 초보자에게 가장 추천하는 방식입니다.Render.com을 .. 2025. 9. 22.
반응형