본문 바로가기

해결방법 모음5

[이슈해결] N+1 N+1 문제란?N+1 문제는 데이터베이스 쿼리에서 하나의 메인 쿼리(N)와 그에 따른 추가적인 서브 쿼리(1)가 반복적으로 실행되면서 성능 저하를 일으키는 문제이다. 예를 들어, 메인 엔티티를 조회한 후 각 엔티티와 연관된 데이터를 개별적으로 조회할 때 N+1 문제가 발생한다. 이는 불필요한 데이터베이스 요청을 증가시켜 애플리케이션의 성능을 크게 저하시킨다.N+1 문제 발생 상황엔티티 간에 명시적인 연관관계가 없더라도, 데이터 조회 로직에서 잘못된 조인 방식이나 서브 쿼리 사용으로 인해 N+1 문제가 발생할 수 있다. 다음은 이러한 상황을 설명하는 예제이다.@Entitypublic class Product { @Id private Long id; private String name; .. 2024. 6. 20.
[이슈해결] Cannot add or update a child row: a foreign key constraint fails 프로젝트를 수행 하다가, Cannot add or update a child row: a foreign key constraint fails 이 에러가 났다.. 블로그와 GPT에 물어보니까 아래와 같은 다양한 에러가 발생에러 원인참조되는 부모 테이블의 행이 없는 경우: 자식 테이블에 데이터를 추가하거나 업데이트하려고 하지만, 참조하려는 부모 테이블에 해당 행이 없는 경우.데이터 타입 불일치: 외래 키로 참조되는 두 열의 데이터 타입이 일치하지 않는 경우.외래 키 제약 조건 설정 문제: 외래 키 제약 조건이 잘못 설정된 경우.  "Cannot add or update a child row: a foreign key constraint fails" 에러는 데이터베이스 무결성을 유지하기 위한 중요한 제약 조건.. 2024. 6. 19.
[이슈 해결] Annotation-specified bean name 'Controller' for bean class conflicts with existing, non-compatible bean definition of same name and class Annotation-specified bean name 'clubController' for bean class [cohttp://m.core.linkup.club.controller.ClubController] conflicts with existing, non-compatible bean definition of same name and class [cohttp://m.core.linkup.club.club.controller.ClubController]이 에러는 JPA에 있는 Bean 이름이 충돌난다는 것...  https://stackoverflow.com/questions/13801359/annotation-specified-bean-name-conflicts-with-existing-non-c.. 2024. 6. 18.
[톰캣 설치 에러] 주소 [localhost]와(과) 포트 [8005]에, 서버 셧다운 소켓을 생성하지 못했습니다. 방법을 찾기 위해서 구글링 열심히 해보기 1. 서버에서 소켓의 값이 달라서 일어나는 일이라고 해서 확인 해보니 같아요.. 문제가 없는걸료.ㅜㅜ 약간의 눙물을 머금고 다시 검색.. https://geonho96.tistory.com/112 [spring] 심각: 주소 [localhost]와(과) 포트 [8005]에, 서버 셧다운 소켓을 생성하지 못했습니다. (base 포 원인: tomcat의 'conf/server.xml' file 빨간색 값이 서로 달라서 생기는 문제. 해결방법: 빨간색으로 표시한 값을 서로 맞춰주기. 출처 : https://m.cafe.daum.net/bboybeatbox/2cL2/51?listURI=%2Fbboybeatbox%2F2cL2 Tomcat은 geonho96.tistory.c.. 2024. 1. 8.
[GitHub] Git/GitHub 입문 git - 소스코드 및 파일의 변경내역을 저장하는 분산 버전관리 시스템 - 원격 저장소에서 코드를 가져올 수 있다. (코드, 변경내역을 모두 가져올 수 있음 , 버전관리도구라고도 불림) git init - 깃에 저장소 생성하는 명령어 git add / commit - add : 파일을 스테이지에 올리는 명령어 - commit : 버전을 생성 git status - 파일 상태 확인 git diff - 변경사항 확인 git log -히스토리 조회 깃허브에 레파지토리 생성 -> 파일 올리기 (GUI, CLI) git clone - 원격저장소의 코드를 컴퓨터로 받아옴 mkdir filename cd filename git clone 깃주소 . git pull - 원격 저장소의 업데이트 된 데이터 가져오기 및 병합 2023. 11. 17.