- spring security 6
- SSL
- AWS
- nginx
- mysql
- sql
- PYTHON
- jpa
- spring boot
- 1차원 배열
- DI
- 문자열
- spring mvc
- string
- 자바
- Django
- 스프링
- 데이터베이스
- join
- springboot
- 프로그래머스
- 스프링부트
- @transactional
- Docker
- spring
- ORM
- java
- select
- hibernate
- static
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록분류 전체보기 (195)
개발하는 자몽
findById() 메서드로 L엔티티를 조회하고 가져온 엔티티의 getter 메서드에 접근했더니 아래와 같은 에러가 발생했다. org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role 위 에러는 엔티티는 잘 가져왔지만, 이후 해당 엔티티를 통해 어떤 메소드를 호출하려고 할 때 이미 영속성 컨텍스트가 닫혀서 지연로딩을 할 수 없을 때 발생한다. 상황 application.yml ... spring.jpa.open-in-view=false ... spring.jpa.open-in-view 옵션에 관하여는 이 글을 참고하자 ( https://velog.io/@dnwlsrla40/JPA-Open-In-Vi..
Spring Data JPA를 사용하여 만든 업데이트 API를 테스트하다가 변경이 아닌 새롭게 생성되는 것을 확인했다. 이와 관련하여 무엇이 문제였는지, 어떻게 해결할 수 있는지 작성해 보자. 상황 Article Entity import jakarta.persistence.*; import lombok.*; @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity @Table(name = "articles") public class Article { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String writer; private Strin..

백준에서 DP의 기초 문제인 1463번을 풀어보았다. 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 풀이 해당 문제를 보고 어떻게 DP로 풀어야겠다! 는 생각이 바로 들진 않았고, 처음에 그냥 무작정 반복문과 if-else의 조합으로 풀었다. 실패했다. if-else가 아닌 이유 if-else가 아닌 모든 경우의 연산을 시도하고 가장 작은 연산 횟수를 택해야 하기 때문에 모두 if로 행하고 Math.min으로 비교했을 때 가장 작은 값을 택한다. 동적 계획법으로 풀 수 있는 이유 여러 해설을 봤는데 가장 이해가 잘 되는 글은 아래 블로그였다. 백준 알고리즘 1463번 문제풀이 1로 만들기 문제 정수 X에 사용할 수 ..
이전에 패키지 구조에 관한 글을 쓴 적이 있다. [Spring Boot] 패키지 구조 여러 글을 찾아봤는데 크게 두 가지 방식으로 패키지 구조를 구성한다. 도메인형 패키지 구조 계층형 패키지 구조 개발의 규모나 성격, 회사에서 진행하는 방식에 따라 정해지는 것으로 보인다. backend-jaamong.tistory.com 요즘 들어 다시 패키지 구조를 생각해 보는데, 이전 글에서 좀 더 변화한 부분이 있어서 아예 새로 글을 쓴다. ※이 글은 주관적으로 작성된 글입니다. 틀리거나 추가적으로 보충할 내용이 있다면 댓글로 알려주세요. 이전에 알던 패키지 구조 패키지를 설계할 때 도메인형이든 계층형이든 내부적으로는 크게 변하지 않는 것 같다. 예를 들어 도메인 형이라고 했을 때 User라는 엔티티가 있다고 하자..

백기선님 유튜브 영상 백기선 님의 해당 유튜브 영상을 보고 작성한 글입니다. 뭐가 문제일까? Goal Book 엔티티와 BookStore 엔티티를 양방향 관계를 맺도록 하기 실행 Book 엔티티와 BookStore 엔티티가 아래 코드와 같을 때 아래 테스트 코드를 실행해 보자. Book Entity import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.ManyToOne; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Bo..

실행 환경 : EC2 Instacne Ubuntu 22.04 LTS Glances는 Linux용 실시간 모니터링 도구이다. 서버에 Docker를 설치하고, 그 위에 프로젝트나 DB를 띄우다 보면 메모리가 가득 찰 수도 있다. 이러한 점들은 모니터링을 통해 미리미리 확인해둬야 한다. 이럴 때 사용할 수 있는 도구로 Glances가 있다. 터미널에 아래 명령어를 입력하여 설치를 진행해보자. apt install glances 설치가 완료되면 터미널에 아래 명령어를 입력하여 현재 서버 상태를 확인할 수 있다. 종료할 때는 아무키나 누르면 된다. glances 위 화면 기준으로는 현재 2개의 Docker Container가 띄워져 있고, 전체 메모리 1.89G 중 1.00G를 사용했다고 확인할 수 있다. 이 외..

이전 포스트 [Spring/EC2/MySQL] SpringBoot와 EC2 - Docker - MySQL 연동 이전 포스트 [AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 1. AWS backend-jaamong.tistory.com 이번에는 Docker에서 SpringBoot를 띄워보자. 띄울 SpringBoot에는 당연히 의존성에 spring web이 있어야 한다. implementation 'org.springframework.boot:spring-boot-starter-web' 1. Docke..
이전 포스트 [AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. backend-jaamong.tistory.com Docker에서 MySQL을 띄웠다면 이번에는 MySQL과 SpringBoot를 연동할 시간! IntelliJ Community 환경에서 SpringBoot와 (EC2 인스턴스에 설치한 Docker에 띄운) MySQL을 연동해 보자. 이렇게 있어 보이게 말했지만, 사실 별거 없다. build.gradle에..

목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 ❗ 24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로! 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. 원하는 이름을 입력한다. 3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다. 4. 인스턴스 유형 중에서 t2.micro는 프리티어로 사용할 수 있다. 하지만 Docker를 띄우고 애플리케이션까지 운영하려면 메모리가 부족할 가능성이 높아서 t3.small로 선택했다. 5. 키 페어가 없다면 새 키 페어 생성을 클릭하여 생성한..
오랜만에 코딩테스트 문제를 풀어보면서 다른 사람들의 풀이를 보니 stream을 정말 잘 활용하고 있었다. 평소 stream을 잘 활용하지 못하기 때문에 복습 겸 정리한다. Collection Framework, Collectors Collections는 컬렉션 프레임워크(collection framework)로 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 클래스의 집합이다. 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다. 참고 Collection은 인터페이스, Collections는 클래스이다. Collector는 요소들을 축적(accumulate)하고 이를 병렬로 또는 순차적으로 처리하게 해주는 감소/축소(reduction) 연산이다. stream의 마지막 단계에서 사용된다. Collec..