일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Today
- Total
목록전체 글 (359)
기록
보호되어 있는 글입니다.
시작하면서AWS에서 EC2 인스턴스를 SSM(Session Manager)을 통해 관리하는 것은 매우 유용합니다. 특히 SSH 포트를 개방하지 않고 안전하게 EC2에 접근할 수 있기 때문에 보안 측면에서 큰 장점이 있습니다. 이 작업은 보안을 강화하고 네트워크 관리의 복잡성을 줄이는 데 의미가 있습니다. 예를 들어, SSH를 사용하면 포트 관리, 키 관리 등에서 추가적인 보안 위험이 생길 수 있지만, SSM을 사용하면 이러한 문제를 해결할 수 있습니다. 따라서 SSM을 통한 연결은 보안과 편리함을 모두 충족시키는 방법입니다.이번 포스팅에서는 EC2 인스턴스를 SSM에 연결하는 과정을 단계별로 정리해보았습니다.1. EC2 인스턴스 생성먼저 EC2 인스턴스를 생성합니다. SSM 에이전트를 사용하기 위해 Am..
보호되어 있는 글입니다.
시작하면서RabbitMQ는 오픈 소스 메시지 브로커로, 애플리케이션 간에 메시지를 안전하게 전달하는 역할을 합니다. RabbitMQ는 메시지 큐를 이용해 비동기 통신을 쉽게 처리할 수 있어, 애플리케이션이 서로 독립적으로 동작하면서도 필요한 데이터를 주고받을 수 있게 도와줍니다. 이번 포스팅에서는 RabbitMQ의 주요 개념을 이해하고, 스프링 부트를 이용해 간단한 메시징 시스템을 구현하는 과정을 소개하겠습니다.RabbitMQ의 주요 개념RabbitMQ를 제대로 이해하려면 몇 가지 핵심 구성 요소들을 알아야 합니다. RabbitMQ는 여러 애플리케이션 간에 안전하고 효율적으로 메시지를 교환하기 위해 사용하는 메시지 브로커입니다.Producer: 메시지를 보내는 역할을 하는 애플리케이션입니다. Produc..
시작하면서JPA를 사용하면서 트랜잭션과 영속성 컨텍스트가 어떻게 상호작용하는지, 그리고 이를 서비스와 프리젠테이션 계층에서 어떻게 관리할지에 대한 이해는 매우 중요합니다. 이번 글에서는 트랜잭션 범위의 영속성 컨텍스트, 준영속 상태에서 발생하는 지연 로딩 문제, 그리고 OSIV(Open Session In View)를 활용해 문제를 해결하는 방법을 알아보겠습니다.1. 트랜잭션 범위의 영속성 컨텍스트1.1 트랜잭션과 영속성 컨텍스트의 관계스프링 프레임워크는 기본적으로 트랜잭션 범위의 영속성 컨텍스트 전략을 사용합니다. 이 전략은 트랜잭션의 생명주기와 영속성 컨텍스트의 생명주기가 동일하다는 의미입니다. 즉, 트랜잭션이 시작되면 영속성 컨텍스트도 생성되고, 트랜잭션이 종료될 때 함께 종료됩니다. 같은 트랜잭션..
시작하면서아래는 "자바 ORM 표준 JPA 프로그래밍" 책과 강의를 듣고 정리한 내용입니다. JPA를 사용하다 보면 성능 문제로 많은 고민을 하게 됩니다. 특히 연관관계가 설정된 엔티티를 조회할 때 발생할 수 있는 대표적인 문제로 N+1 문제가 있습니다. 이 포스팅에서는 N+1 문제의 발생 원인과 해결 방법, 검색 조건 최적화, 그리고 특정 필드만 조회하는 최적화 기법에 대해 알아보겠습니다.1. N+1 문제N+1 문제를 이해하기 위해 우선 연관된 엔티티 설계를 살펴보겠습니다. 아래는 Member와 Team의 엔티티 설계 예시입니다. Member는 Team과 다대일(ManyToOne) 관계를 가지고 있습니다.@Entitypublic class Member { @Id @GeneratedValue(..
시작하면서아래 내용은 "자바 ORM 표준 JPA 프로그래밍" 책을 읽고 정리한 내용입니다. 스프링 데이터 JPA는 Java Persistence API(JPA)를 더 쉽게 사용할 수 있도록 도와주는 모듈로, 데이터베이스와의 상호작용을 효율적으로 처리하는 데 큰 역할을 합니다. 이 모듈은 CRUD(생성, 조회, 수정, 삭제) 작업을 위한 공통 인터페이스를 제공하며, 개발자가 리포지토리를 구현할 때 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 해당 구현체를 동적으로 생성하고 주입해줍니다. 이를 통해 데이터 접근 계층을 간결하게 유지할 수 있고, 생산성을 크게 높일 수 있습니다.공통 인터페이스 기능스프링 데이터 JPA는 CRUD 작업을 위한 공통 메서드를 제공합니다. 대표적인 메서드는 다음과 같습..
시작하면서자바 ORM 표준 JPA 프로그래밍을 공부하면서 9장에서 다루는 "값 타입"에 대해 정리해보았습니다. 이번 글에서는 값 타입의 종류와 그 특징을 설명하며, 실제 개발에 어떤 점들을 고려해야 하는지 소개합니다.값 타입이란?JPA에서 값 타입은 int, Integer, String처럼 단순한 값을 나타내는 자바 타입이나 객체를 말합니다. JPA에서는 이러한 값 타입을 크게 세 가지로 나눌 수 있습니다.기본 값 타입: 자바에서 제공하는 기본 데이터 타입 (int, double, Integer, String 등)임베디드 타입 (복합 값 타입): 사용자가 직접 정의한 여러 속성을 하나로 묶은 값 타입컬렉션 값 타입: 값 타입을 여러 개 저장하기 위해 컬렉션에 보관하는 방식입니다.각 값 타입은 JPA에서 ..