일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @Builder
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Callback
- case when
- CCW
- chat GPT
- CICD
- Today
- Total
목록2024/11 (28)
기록
시작하면서Java ORM 표준 JPA에서 다양한 연관관계 매핑을 다루는 6장을 읽고 중요한 내용을 정리해 보았습니다. 이 글에서는 객체의 관계를 어떻게 매핑하고, 각각의 경우에 장단점은 무엇인지 살펴보겠습니다. 특히 연관관계의 종류와 주의할 점들을 중심으로 설명하겠습니다.1. 다대일 관계 (N:1)한쪽 객체가 여러 객체를 참조하는 관계로, 예를 들어 회원(Member)이 팀(Team)에 속해 있을 때, 여러 회원들이 하나의 팀에 속할 수 있으므로 다대일 관계가 성립됩니다.다대일 단방향 매핑 (N:1)다대일 단방향 관계에서는 한쪽에서만 참조가 가능합니다. 예를 들어 회원이 팀을 참조하지만, 팀은 회원을 참조하지 않는 경우입니다. 이런 경우에는 다음과 같이 매핑할 수 있습니다.@Entitypublic cla..
1. 우선순위 큐란?우선순위 큐는 일반적인 큐와는 달리, 각 요소가 우선순위를 가지고 있어 높은 우선순위를 가진 요소가 먼저 처리되는 자료구조입니다. 예를 들어, 긴급 상황에서 긴급도가 높은 환자가 먼저 치료받는 병원의 대기열과 같은 개념을 생각할 수 있습니다.C++에서는 우선순위 큐를 구현할 수 있는 여러 가지 방법이 있으며, 여기서는 priority_queue와 multiset 두 가지를 중심으로 살펴보겠습니다.2. priority_queue를 사용한 최대 힙과 최소 힙 구현C++의 priority_queue는 기본적으로 최대 힙으로 구현되어 있어, 큰 값이 먼저 나오도록 정렬됩니다. 즉, 기본 설정에서는 큰 값이 높은 우선순위를 가지게 됩니다. 하지만 최소 힙을 만들고자 한다면 다음과 같이 설정할 ..
오늘의 학습 키워드문제1: 가장 긴 감소하는 부분 수열 (BOJ 11722)공부한 내용 정리접근 방식가장 긴 감소하는 수열을 찾기 위해서는 각 원소가 이전 원소들과의 관계를 확인하여, 그중 가장 긴 감소하는 길이를 찾아야 합니다. 단순히 원소들 간의 크기만 비교하는 것이 아니라, 현재 원소가 이전 원소들과 어떻게 연결되는지를 계산하여 가장 긴 감소하는 경로를 찾아야 합니다.dp 배열은 각 원소를 마지막으로 하는 가장 긴 감소하는 부분 수열의 길이를 저장합니다. 각 원소를 순회하면서 자신보다 작은 이전 원소를 찾아, 그 원소를 기준으로 감소 수열의 최대 길이를 갱신합니다. 이를 통해 모든 원소에 대해 가능한 가장 긴 감소 수열을 구할 수 있습니다.for (int j = 0; j sequence[i]) {..
이번 글에서는 JPA의 엔티티 매핑에 대해 정리해보았습니다. 이 글은 '자바 ORM 표준 JPA 프로그래밍'의 5장 '연관관계 매핑 기초' 부분을 읽고, 제 경험과 함께 정리한 내용입니다. Java ORM 표준인 JPA를 사용하다 보면, 객체 사이의 관계를 데이터베이스 테이블로 표현하는 일이 자주 발생합니다. 이번 포스팅에서는 JPA의 연관관계 매핑을 이해하기 위해 단방향과 양방향 연관관계의 개념을 살펴보고, 실제 예제를 통해 이를 어떻게 구현하는지에 대해 설명해 보겠습니다. 연관관계 매핑은 객체 모델과 데이터베이스 모델 간의 연결을 효과적으로 관리할 수 있게 도와주는 핵심적인 요소입니다.1. 객체와 테이블의 연관관계객체와 데이터베이스의 연관관계는 표현 방식에서 차이가 있습니다.객체 연관관계: 객체 지향..
시작하면서AWS 프리티어를 초과하여 예상치 못한 비용이 발생하게 되면서, 기존 계정을 정리하고 새로운 계정을 생성하여 리소스를 이관하는 작업을 진행했습니다. 그러나 새로운 리소스를 생성하고 기존 리소스를 종료하는 과정에서 여전히 비용이 부과되는 문제에 직면했습니다. 이 글에서는 그 비용 발생 원인을 분석하고 해결했던 과정을 공유하려고 합니다.비용 발생 원인 분석1. 비용 분석: 청구서와 Cost Explorer 활용먼저 AWS 청구서와 Cost Explorer는 AWS의 비용 관리 도구로, 특정 기간 동안의 비용과 사용량을 분석하고 각 서비스별로 발생한 비용을 시각적으로 확인할 수 있는 기능을 제공합니다. 이를 통해 비용이 발생하는 주요 서비스를 보다 쉽게 파악할 수 있습니다. Cost Explorer를..
이번 글에서는 JPA의 엔티티 매핑에 대해 정리해보았습니다. 이 글은 링크에서 소개된 책 '자바 ORM 표준 JPA 프로그래밍'의 4장 '엔티티 매핑' 부분을 읽고, 제 경험과 함께 정리한 내용입니다. JPA의 핵심 어노테이션과 다양한 매핑 전략에 대해 설명하며, 특히 초심자들이 놓치기 쉬운 주의점들을 함께 다루고자 합니다. JPA 엔티티 매핑을 좀 더 명확하게 이해하고 활용하고자 하는 분들에게 도움이 되기를 바랍니다.1. 엔티티 매핑의 기초1.1 @EntityJPA를 사용해 테이블과 매핑할 클래스에는 반드시 @Entity 어노테이션을 붙여야 합니다. 이 어노테이션은 클래스가 JPA의 관리 대상임을 나타내며, 이를 통해 데이터베이스 테이블과의 매핑을 수행합니다.사용 불가한 클래스: @Entity는 fin..
문제 소개오늘 풀어본 문제는 LeetCode 문제 중 하나로, 각 행을 내림차순 정렬한 후 열별로 가장 큰 값을 합산하는 문제입니다. 이 문제를 풀면서 자연스럽게 정렬과 람다 함수를 어떻게 활용할 수 있는지에 대해 학습할 수 있었습니다.이 글에서는 문제 풀이 과정에서 사용한 정렬 및 람다 함수에 대해 설명하고, 기존 풀이를 어떻게 더 간결하게 개선할 수 있는지 보여드리겠습니다.문제 풀이: 열별로 최대값을 더하기이 문제의 핵심은 다음과 같습니다:각 행을 내림차순으로 정렬: 각 행에서 가장 큰 값을 쉽게 선택할 수 있도록 내림차순 정렬합니다.각 열에서 가장 큰 값을 선택하여 합산: 열별로 가장 큰 값을 찾아 결과에 더하는 방식입니다.전체 코드 풀이우선 기본적인 풀이 방법을 살펴보겠습니다. C++에서 각 행을..
오늘의 학습 키워드문제 1: Heap, Priority QueueTake Gifts from the Richest Pile - LeetCode 문제주어진 문제에서는 여러 개의 선물 더미 중에서 매 초마다 가장 많은 선물을 가진 더미를 선택하고, 그 선물의 정수 제곱근만큼 남기는 과정을 k번 반복한 뒤, 모든 더미에 남은 선물의 총합을 구하는 문제입니다. 이 문제를 해결하기 위해 heap과 priority_queue를 사용하여 접근해 보았습니다.공부한 내용 본인의 언어로 정리하기문제 1: Heap, Priority Queue1. 우선순위 큐를 사용한 풀이이 문제는 가장 큰 선물 더미를 빠르게 찾고 업데이트해야 하므로 우선순위 큐(priority queue)를 사용하여 해결했습니다. priority_queu..