호이로그
close
프로필 배경
프로필 로고

호이로그

  • 분류 전체보기 (454) N
    • 개발 (245) N
      • C언어 (0)
      • PHP (6)
      • JAVA (70)
      • Python (10)
      • Typescript (10) N
      • HTML (0)
      • DB (50)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (14)
    • IT 테크 (173)
      • 리뷰 (110)
      • 기타 (61)
    • 전자회로 & 부품 (27) N
    • 디지털 행정 & 자동화 실무 가이드 (2)
    • 기타 (1)
  • 홈
  • 태그
  • 방명록

[JAVA] Spring Validation: @Valid, @NotNull 등 유효성 검사 완전 정복

Spring Boot로 REST API를 개발하다 보면 사용자의 입력값이 유효한지 검증하는 과정은 매우 중요합니다. 특히 프론트엔드나 외부 API 호출로부터 전달되는 데이터는 항상 신뢰할 수 없기 때문에, 서버단 유효성 검증은 선택이 아닌 필수입니다.@Valid, @NotNull, @Size 등 다양한 유효성 검사 어노테이션을 중심으로, Spring의 Validation 기능을 실무에 어떻게 적용할 수 있는지 설명드립니다. 1. Spring Validation의 핵심 구성 요소javax.validation (Jakarta Bean Validation API)Hibernate Validator: Spring Boot에서 기본으로 사용하는 구현체JSR-380 (Bean Validation 2.0) 스펙 기반..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 4.
  • textsms

[JAVA] Lombok으로 코드 간결하게 작성하기: 실무 개발자가 말하는 장단점과 주의점

Java로 개발을 하다 보면 가장 먼저 느끼는 불편함 중 하나가 바로 보일러플레이트 코드(Boilerplate Code)입니다. 특히 POJO 클래스에서 getter/setter, toString, equals/hashCode, 생성자 등을 일일이 작성해야 하는 번거로움이 있죠.이런 문제를 해결해주는 도구가 바로 Project Lombok입니다. 이 글에서는 Lombok의 주요 기능부터 실제 사용 예제, 그리고 실무에서 사용할 때의 주의사항까지 정리해보겠습니다. 1. Lombok이란?Lombok은 Java 클래스에 어노테이션을 붙여 반복적인 코드 생성을 자동화해주는 라이브러리입니다. 컴파일 타임에 코드가 자동으로 생성되기 때문에, IDE 상에는 코드가 보이지 않지만 컴파일된 class 파일에는 필요한 메..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 3.
  • textsms
최초의 노트북을 어떻게 만들어 졌을까 ? - 노트북의 역사

최초의 노트북을 어떻게 만들어 졌을까 ? - 노트북의 역사

우리가 아는 노트북은 갑자기 등장한 발명이 아닙니다. 그 뿌리는 1970년대 ‘포터블(이동형)’ 컴퓨터에서 찾을 수 있습니다. 예컨대 IBM 5100(1975)은 23kg 이상 무게에도 “들 수 있는” 범주로 여겨졌고, APL과 BASIC을 실행하며 당시로선 파격적인 소형화를 이뤘습니다. 값비싼 가격과 부피에도, “고정된 방 밖으로 데려갈 수 있다”는 사실 자체가 혁신이었죠. 이 초기 장비들은 전원 어댑터 의존이 컸고, 휴대는 가능하지만 ‘랩톱’이라 부르긴 어려웠습니다. 이러한 선행 시도는 1980년대 초, 진짜 의미의 이동 컴퓨팅으로 이어지는 굵은 가교가 됩니다. 1980~1982: ‘포터블’에서 ‘랩톱’으로의 전환점1981년 등장한 Osborne 1은 11kg이 넘는 무게에도 상업적으로 큰 성공을 거..

  • format_list_bulleted IT 테크/기타
  • · 2025. 10. 3.
  • textsms

[JAVA] DTO와 Entity 분리하기: 왜, 어떻게, 어디까지?

Spring Boot 기반 웹 애플리케이션을 개발하다 보면 DTO(Data Transfer Object)와 Entity를 구분하지 않고 사용하는 경우가 종종 있습니다. 특히 초보 개발자일수록 @Entity 클래스를 그대로 컨트롤러에 넘기거나, 클라이언트 요청 바디에 바인딩하는 실수를 저지르기도 합니다.하지만 실무에서는 DTO와 Entity를 명확히 분리하는 것이 유지보수성과 보안, 유연한 확장성 측면에서 매우 중요합니다. 1. DTO와 Entity의 역할 차이Entity: JPA에서 데이터베이스 테이블과 매핑되는 핵심 도메인 객체입니다. 주로 Repository 계층과 연동됩니다.DTO: 계층 간 데이터 전달을 위한 객체로, 프레젠테이션 레이어(View, API)와 도메인 모델 간의 간극을 메워줍니다.한..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 2.
  • textsms
UMPC란? UMPC의 역사

UMPC란? UMPC의 역사

우리는 스마트폰, 태블릿, 울트라북, 휴대용 게이밍 PC 등 다양한 모바일 기기를 사용합니다. 하지만 이 모든 기기들의 발전 과정 속에서 중요한 이정표가 된 존재가 있습니다. 바로 UMPC(Ultra-Mobile PC) 입니다. UMPC는 지금은 다소 생소하게 느껴지지만, 2000년대 중반 모바일 컴퓨팅의 미래를 그리며 등장했던 혁신적인 기기였습니다. 이번 글에서는 UMPC의 정의, 역사, 그리고 현대에 남긴 영향을 살펴보겠습니다. UMPC의 정의UMPC는 "Ultra-Mobile PC"의 약자로, 이름 그대로 초소형 휴대용 PC를 의미합니다. 당시 목표는 일반 노트북보다 작으면서도 PC와 동일한 기능을 수행할 수 있는 장치를 만드는 것이었습니다.크기: 보통 7인치 전후의 화면운영체제: 윈도우 XP 태블..

  • format_list_bulleted IT 테크/기타
  • · 2025. 10. 2.
  • textsms

[JAVA] @RequestBody와 @ResponseBody 이해하기: Spring MVC에서의 JSON 처리 핵심

Spring Boot 기반의 REST API 개발에서 가장 자주 마주치는 어노테이션 중 하나가 @RequestBody와 @ResponseBody입니다. 이 두 어노테이션은 클라이언트와 서버 간의 JSON 기반 데이터 통신을 단순하고 직관적으로 처리할 수 있게 해주며, Spring의 HttpMessageConverter와 밀접한 연관이 있습니다. 1. @RequestBody: 요청 본문(Body)을 객체로 변환@RequestBody는 HTTP 요청의 본문(body)에 담긴 JSON 데이터를 자바 객체로 매핑할 때 사용합니다. 일반적으로 POST, PUT, PATCH 요청에서 사용되며, JSON -> 객체 변환은 내부적으로 Jackson 라이브러리를 통해 수행됩니다.예시@PostMapping("/users"..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 1.
  • textsms
  • navigate_before
  • 1
  • ···
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • ···
  • 76
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (454) N
    • 개발 (245) N
      • C언어 (0)
      • PHP (6)
      • JAVA (70)
      • Python (10)
      • Typescript (10) N
      • HTML (0)
      • DB (50)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (14)
    • IT 테크 (173)
      • 리뷰 (110)
      • 기타 (61)
    • 전자회로 & 부품 (27) N
    • 디지털 행정 & 자동화 실무 가이드 (2)
    • 기타 (1)
최근 글
최근 댓글
태그
  • #springboot
  • #api가이드
  • #googlemap
  • #리눅스명령어
  • #java
  • #mysql
  • #typescript
  • #리눅스기초
  • #routesapi
  • #google지도api
전체 방문자
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바