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

호이로그

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

[JAVA] N+1 문제와 해결 방법 – Fetch Join과 @EntityGraph로 해결하기

JPA를 실무에 도입하면 많은 개발자가 가장 먼저 마주하는 성능 문제 중 하나가 N+1 문제입니다. 간단한 데이터 조회 쿼리처럼 보이지만, 실제 서비스 환경에서는 심각한 성능 저하로 이어질 수 있습니다. N+1 문제의 발생 원인부터 실전 해결책인 Fetch Join과 @EntityGraph를 활용하는 을 정리했습니다. 1. N+1 문제란 무엇인가?간단히 말해, 1번의 조회 쿼리(N) 이후에 관련된 엔티티를 조회하기 위한 추가 쿼리(+N)가 발생하는 문제입니다. 예를 들어 게시글(Post) 리스트를 조회하고, 각 게시글의 댓글(Comment) 리스트를 같이 가져오려고 할 때 다음과 같은 쿼리 구조가 됩니다.List posts = postRepository.findAll();for (Post post : ..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 15.
  • textsms
전자부품 트랜지스터란 무엇이며, 어떤 원리로 작동 할까?

전자부품 트랜지스터란 무엇이며, 어떤 원리로 작동 할까?

전자기기의 심장과도 같은 핵심 부품이 바로 트랜지스터(Transistor)입니다. 오늘날 우리가 사용하는 스마트폰, 컴퓨터, 라디오, TV, 심지어는 자동차의 제어 시스템까지, 거의 모든 전자기기에는 수십억 개의 트랜지스터가 들어 있습니다. 그렇다면 전자부품 트랜지스터란 무엇이며, 어떤 원리로 작동하고 어디에 쓰이는 것일까요? 트랜지스터의 기본 개념트랜지스터의 정의트랜지스터는 전류나 전압을 제어할 수 있는 반도체 소자입니다. 쉽게 말해, 트랜지스터는 전기를 켜고 끄는 스위치이자 약한 신호를 크게 증폭시키는 장치입니다.트랜지스터의 구조트랜지스터는 보통 세 개의 단자(에미터, 베이스, 컬렉터)로 구성됩니다.에미터(Emitter): 전자의 공급원베이스(Base): 전류를 제어하는 부분컬렉터(Collector..

  • format_list_bulleted 카테고리 없음
  • · 2025. 10. 15.
  • textsms

[JAVA] JPA Fetch 전략 완벽 가이드 – Lazy vs Eager 실무 적용법

JPA를 사용하는 백엔드 개발자라면 누구나 한 번쯤은 예상치 못한 쿼리 폭발 또는 무한 참조를 경험했을 겁니다. 대부분의 원인은 연관관계 설정 시 Fetch 전략을 정확히 이해하지 못한 데서 비롯됩니다.FetchType.LAZY와 FetchType.EAGER의 동작 방식, 각각의 장단점, 그리고 실무에서 언제 어떤 전략을 써야 하는지를 예제를 통해 알아보겠습니다. 1. Fetch 전략이란?JPA에서 연관된 엔티티를 언제 로딩할지 결정하는 정책을 Fetch 전략이라 부릅니다. 크게 두 가지 방식이 있습니다:Lazy Loading (지연 로딩): 연관된 엔티티를 실제로 사용할 때 쿼리를 실행Eager Loading (즉시 로딩): 엔티티를 조회할 때 연관된 엔티티도 함께 조회 2. 기본 전략: 단방향 vs..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 14.
  • textsms
AWS 웹 서버 구축 비용, 얼마 들까? (2025 최신 가이드)

AWS 웹 서버 구축 비용, 얼마 들까? (2025 최신 가이드)

클라우드에서 웹사이트나 서비스를 시작하려는 분들이 가장 먼저 궁금해하는 질문은 바로 “AWS 웹 서버 구축 비용”입니다.aws 웹 서버 구축 비용을 중심으로, 비용 구성 요소(EC2, 스토리지, 네트워크 등), Lightsail과의 비교, AWS 요금 계산기 활용법, 그리고 실전 비용 절감 팁을 정리해 보겠습니다. 1) AWS 비용 구조 한눈에 보기AWS는 사용량 기반(종량제)으로 과금됩니다. 실제 과금은 아래 요소가 조합되어 결정되며, 특히 트래픽(데이터 전송)은 간과하기 쉬운 비용 포인트입니다.컴퓨트(EC2): 인스턴스 타입(vCPU/메모리), 온디맨드/예약/Savings Plans 여부스토리지(EBS/S3): 용량(GB), 유형(SSD/효율성), IOPS/스루풋네트워크: 아웃바운드 데이터 전송..

  • format_list_bulleted 개발/기타
  • · 2025. 10. 14.
  • textsms

[JAVA] Entity 연관관계 완전 정복 – 1:N, N:M, Cascade까지 실무 중심 정리

Spring Data JPA를 쓰다 보면, 엔티티 간 관계 설정은 피할 수 없는 주제입니다. 잘못 설계하면 성능 문제부터 N+1, 무한 루프, 삭제 오류 등 여러 문제가 발생하죠1:N, N:M 연관관계의 개념과 설정법, 그리고 Cascade 옵션의 의미와 주의할 점까지 실무 위주로 정리합니다. 1. 연관관계의 기본 개념JPA는 객체지향적인 데이터 모델을 추구합니다. 이를 위해 @OneToMany, @ManyToOne, @ManyToMany 같은 어노테이션을 사용해 엔티티 간 관계를 정의합니다.1:N: 하나의 부모가 여러 자식을 가짐 (ex. 하나의 게시글에 여러 댓글)N:1: 여러 자식이 하나의 부모를 참조함 (ex. 여러 댓글이 하나의 게시글을 참조)N:M: 양쪽 다 다수 관계 (ex. 사용자와 역할 ..

  • format_list_bulleted 개발/JAVA
  • · 2025. 10. 13.
  • textsms
게임보이 어드밴스와 닌텐도 DS 비교 분석: 차이점과 진화의 역사

게임보이 어드밴스와 닌텐도 DS 비교 분석: 차이점과 진화의 역사

휴대용 게임기의 역사를 말할 때, 게임보이 어드밴스(Game Boy Advance, GBA)와 닌텐도 DS(Nintendo DS)는 빼놓을 수 없는 상징적인 기기입니다. 두 제품은 닌텐도의 혁신을 보여주는 대표적인 사례로, 세대를 달리하며 전 세계 게이머에게 강렬한 인상을 남겼습니다. 두 기기의 역사, 성능, 게임 경험, 시장 반응을 비교 분석하여 어떤 점에서 차이가 있는지 깊이 살펴보겠습니다. 게임보이 어드밴스란 무엇인가? 출시 배경과 역사게임보이 어드밴스는 2001년 닌텐도가 출시한 휴대용 게임기로, 게임보이 컬러(GBC)의 뒤를 잇는 차세대 모델이었습니다. 당시 소니의 플레이스테이션과 세가 드림캐스트 등 콘솔 시장이 치열했던 상황에서, 닌텐도는 휴대용 시장을 장악하기 위해 GBA를 내놓았습니다.주요..

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

티스토리툴바