전체 글

· JPA
8장_프록시와 연관관계 관리 비즈니스 로직에 따라 객체 그래프를 탐색할 수도 있고 그렇지 않을 수도 있다. 그렇기 때문에 처음부터 모든 데이터를 조회해서 저장해 놓는 것은 비효율적이다. 이런 문제를 해결하기 위해 JPA는 지연로딩을 지원한다. 지연로딩은 실제 객체를 사용할 때 조회를 하는 것을 의미한다. 그리고 이런 지연 로딩을 위해서는 실제 엔티티 대신 데이터베이스 조회를 지연시킬 수 있는 가짜 객체를 등록해 사용하는데 이를 프록시 객체라고 한다. 프록시 기초 EntityManager.find() 메소드는 하나의 엔티티를 데이터베이스에서 조회하는 메소드로 객체를 사용하든 사용하지 않든 데이터베이스에서 조회하게 된다. 객체를 사용 시점까지 데이터베이스에서 조회를 미루고 싶다면 EntityManager.g..
5639번: 이진 검색 트리 참고 [백준] 5639번: 이진 검색 트리 - JAVA 고쳐야 할 것 코드를 너무 빨리 짜려는 습관 일정 시간 이상 지나면 굳혀진 방향을 수정 고려하기 구현 고민 일단 반복문으로 방향을 잡고 시작했다. 처음에는 current를 설정하고 current.data보다 작으면 current.left에 추가하고 current = current.left와 같이 현재 노드를 재설정해줬다. 그리고 current.data 보다 클 경우 current = current.parent로 부모로 올라가 설정하려 했다. 문제는 이렇게 위로 올라가려면 어디까지 올라가야 할지 설정하기가 어렵다는 점이다. 현재 노드의 왼쪽 서브 트리는 노드의 키값보다 작다는 것을 가지고 설정해보려 했으나 이 경우 root..
· Java/Spring
참고 모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전 [10분 테코톡] 🧀 제리의 MVC 패턴 Controller & Servicec & Repository란 무엇일까?(TIL.220525) MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN MVC Design Pattern MVC(Model, View, Controller) Pattern [Spring] Controller, Service, Repository Model, View, Controller? 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴. 사용자 인터페이스와 비즈니스 로직을 분리할 수 있다. 관심사의 분리로 서로 영향을 주지 않는 유지보수가 쉬운 애플리케이션을 만들 수 있다. 구성 요소 Model 데이터와 비..
4179번: 불! 문제를 꼼꼼히 읽는 습관이 필요하다고 느낀 문제 구현 자체는 BFS를 활용하는 것이라 크게 어렵지 않았는데 문제 조건 체크하는 게 좀 빡셌다. 나를 괴롭혔던 조건은 다음과 같다. J는 입력에서 하나만 주어진다. -> 초반에 지훈이 위치와 불의 위치를 각각 배열에 담아서 Queue에 넘겼는데 하나의 불 밖에 담지 못해 문제가 생겼다. 또한, 불이 없는 경우에도 문제가 생겼는데 while문의 조건을 !.jq.isEmpty()&&!fq.isEmpty()로 설정해서 불이 없을 때도 탈출 불가를 띄웠다. 지훈이는 미로의 가장자리에 접한 공간에서 탈출할 수 있다. -> y가 0이거나 x가 0일 때도 가장자리에 해당하기 때문에 탈출이 가능하다. 그리고 좀 어이없게 실수한 부분은 시작하자마자 탈출하면..
greatwhite
우직하게