묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
pk 현대적인 설계관련해서 궁금한게있습니다~
안녕하세요. 영한님 현대적인 설계는 대리키를 PK 로 두라고 하셨습니다.그 이유는 성능적인 측면으로 봤을때 자연키를 PK 로 두면 중간삽입이 자주 발생하여 페이지 단편화가 발생한다고 하셨습니다. 그리고 대리키로 AUTO-INCREMENT 를 주로 사용하시던데 일자-순번을 대리키로 사용해도 되나요? 등록된 일자와 그 일자의 순서에 따른 순번으로 PK 를 따는것도 괜찮은 방법인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
order_date 조건에 비교 연산자 대신에 와일드카드 사용
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조인 종합 실습 파트에서 주어진 문제를 해결할 때,where u.address LIKE '서울%' AND o.order_date LIKE '2025-06%';으로 작성했을 때 똑같이 동작하는 것 같아서 질문합니다. 이렇게 사용했을 때는 또다른 문제가 있을까요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
UNDO LOG와 롤백에 관해 질문드립니다.
1. 현재 학습 진도4-5 수강중 트랜잭션 내 isolation level에 따른 데이터 consistency 보장을 위해, WAL(Write-Ahead Logging)시 내부적으로 사용하는 UNDO LOG와 REDO LOG를 활용한다. 2. 어려움을 겪는 부분그러면 트랜잭션 내에서 rollback을 수행하면, UNDO LOG를 기반으로 디스크 내용을 트랜잭션 수행 이전 상태로 되돌린다고 이해했습니다. 맞게 이해한걸까요?만약 이게 맞다면, WAL로 인해 트랜잭션 내 작업들은 커밋되기 전에 디스크에 반영되지 않으므로, rollback된다면 UNDO LOG를 활용하지 않더라도 디스크 내 데이터가 이전 내용임이 보장되지 않나요?롤백 시 UNDO LOG가 어떤 부분에서 활용되어야 하는지 이해하지 못했습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
마이그레이션 오류입니다.
강의에서 강사님께서 11에서 17로 바꾸라는 모든 설정 확실하게 수정 완료했고 gradle 코드 수정하여 실행하니 A problem occurred configuring root project 'library-app'.> java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file C:\Users\seong\.gradle\caches\jars-9\3baa90cc2341a9ffd1656b87b2a3526e\spring-core-6.2.11.jar.아래와 같은 jar 파일 오류가 떴습니다. 구글링과 GPT를 써보니 캐시 파일 버전 충돌 오류라고 하여 캐시 파일을 삭제 하려고 해도 디렉터리가 비어있지 않다는 오류가 뜨며 삭제되지 않고, 또 .\gradlew wrapper 버전이 현재 7.5인데 스프링 부트 3.5.6은 최소 8.x를 사용한다고 하여 이것 또한 업그레이드 하려고 하였으나 PS C:\Project\Study-SpringBoot\library-app> .\gradlew wrapper --gradle-version 8.3 --distribution-type allStarting a Gradle Daemon, 5 stopped Daemons could not be reused, use --status for detailsFAILURE: Build failed with an exception.* What went wrong:A problem occurred configuring root project 'library-app'.> java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file C:\Users\seong\.gradle\caches\jars-9\3baa90cc2341a9ffd1656b87b2a3526e\spring-core-6.2.11.jar.동일한 이런 jar 파일 오류가 떴습니다.이 오류를 어떻게 해결해야 할까요 .... 도와주세요 ㅜㅜ
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
이력서 첨삭
안녕하세요 딩코님 제가 완강을 하여 이력서를 작성해봤는데보완·추가 할만한 부분을 알려주실수 있을까요https://earthy-chalk-721.notion.site/Lee-Jeongwon-1aa176858bf380cca9cce9625a5ad1e4?pvs=73강의중 살짝 봤는데 포공 졸업하셨나요,,, 역시 너무 잘배웠습니다
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
다대다 엔티티 질문
수업 시간중에 속성이 있을때랑 속성이 없을때에 다대다 연결 방식이 다르다고 하셨는데, 그러면 다대다 연결이고 속성이 없으면 철저히 "연관 엔티티" 라고 말하면 안되는 건가요? 약간 말장난처럼 느껴져셔 헷갈려요ㅠㅠ ++ 질문모든 테이블은 반드시 하나의 primary key 만을 가져야하나요? 감사합니다.
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
오타 발견 제보
3주차 수업 자료(notion) category 안에 Training 이 없습니다. 글 내용 흐름에 따라 Training 대신 Fiction 으로 수정하면 될 것 같습니다 🙂 아래 GROUP BY 를 통해서도 없다는 것을 다시 한 번 확인할 수 있습니다. GROUP BY 조회 결과
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
데모사이트 접속이 안됩니다.
데모사이트 접속이 안됩니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
실무에서 MySQLWorbench 사용 여부
데이터베이스 접속 및 쿼리 실행도구로 DBeaver 를 주로 사용해왔고, 개인 학습 시에 Datagrip을 사용하곤 하는데요. 실무에서 MySQL사용 시에 MySQLWorbench 도 많이 사용하시나요? 사용한다면 어떤 장점이 있는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Whitelabel Error Page 오류가 났습니다.
h2-console 웹에 접속하려고 하니 Whitelabel Error Page 오류가 뜹니다. 그래서 구글링하니 Spring Security에서 h2 console을 허용하라는데 어떻게 하는지 잘 모르겠습니다 ㅜㅜ.. 도와주세요 ㅜㅜ
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
조회수 정보를 어디서 저장할지 고민입니다.
안녕하세요. 강의 너무 잘 듣고 제 프로젝트에 필요한 부분들로 리팩토링 하면서 MSA를 처음 공부하려 했습니다!먼저 제 프로젝트는 거의 똑같은 구조로 게시글이 있습니다. 2가지의 질문이 있습니다. (1) 정보를 취합하기 위해 동기로 API호출을 한다는 것은 장애 전파가 된다고 이해하고 있습니다. 그렇다면 저희 예시에서도 Article-read에서 조회수는 api호출을 통해 받기로 했습니다. 그렇다면 어느정도의 장애 전파는 허용한다고 받아들여집니다. 실제 서비스에서도 여러 정보를 취합해서 줘야하는 경우가 많을텐데 API를 통해 정보를 가져오는것이 절대 안되나요? 아니면 종종 허용하기도 하나요? (2) CQRS의 Query(질의)부분은 데이터 수정이 없어야 한다 이해했습니다. 그런데 데이터를 수정해도 되나요?예를 들어 제가 게시글 상세 조회를 게시글 모듈에서 분리하려고 합니다. 그런데 게시글 상세 조회를 하게되면 조회수가 올라갑니다. 따라서 게시글 상세조회 발생 -> 조회수 증가 이벤트 발생 ->조회수 증가 이런 식으로 구상을 했습니다. 이러한 질의 부분 모듈에서 데이터를 수정하게 만드는 이벤트가 발생해도 괜찮을지 여쭤봅니다!!
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
primary key는 테이블 당 하나만 존재할 수 있다?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용][데이터베이스 시작] - [제약 조건] 강의에서 primary key는 테이블 당 단 하나만 존재할 수 있다는 게 무슨 말일까요? a열과 b열를 한 쌍으로 함께 primary key로 지정할 수 있지 않나요? 이해가 잘 안 가요
-
미해결김영한의 실전 데이터베이스 - 기본편
외부조인 실습 1번 img오타
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 강사님~!외부 조인 강의를 듣다가, 오타를 발견해 글을 남깁니다. 오타 위치: 3. 조인2 - 외부 조인과 기타 조인.pdf오타 페이지: 11페이지/64오타 부분: users LEFT JOIN orders의 결과 설명 이미지에서 빨간 점선 네모칸 아래 orders 영역 과 users 영역의 위치가 바뀌었습니다. 왼쪽이 users 영역이고, 오른쪽이 orders 영역인 것으로 보입니다. [마무리]좋은 강의 감사드립니다....!!!!!! 넘 재밌어용
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
hot key 문제를 방지하기 위해 적용한 DCL의 재시도 횟수와 랜덤 지터에 대한 질문입니다
1. 현재 학습 진도6챕터를 모두 끝낸 후 해당 내용을 직접 프로젝트에 적용하고 있습니다. hot key 문제를 해결하기 위해 DCL을 적용하여 중복 DB 접근을 방지할 수 있습니다. 2. 어려움을 겪는 부분현재 프로젝트는 외부 API인 LLM을 통해 경제 요약 리포트를 만들어주는 서비스입니다.이때 리포트 생성 시 60s~120s가 소요되어 만들어진 리포트들을 캐싱해놓고 사용하려 합니다.레디스 리모트 캐시를 적용하려 하는데, hot key 문제를 방지하기 위해 락을 획득한 후에도 반드시 캐시를 한 번 더 확인하는 방식을 적용 즉 DCL 을 적용하려 하는데, 이때 락을 획득하지 못한 애들은 일정 시간후에 다시 락 획득을 시도해야 합니다. 그런데 지금 디비에 접근하고 LLM을 통해 리포트를 생성하는 task가 넉넉하게 1-2분정도 걸리는데, 이 때문에 락 획득 재시도 간격을 너무 길게 잡아버리면 ux가 저하되고 그렇다고 너무 짧게 잡으면 요청 실패가 빈번하게 발생하게 됩니다. 그렇다고 또 시도횟수를 늘리면 또 서비스에 부하가 발생할 수 있을 것 같고 또 시도횟수를 짧게 하면 데이터를 받아오지 못하는 상황이 빈번하게 발생하여 고민중입니다. 3. 시도해보신 내용현재는 재시도 횟수 1000번에 랜덤 지터 200~300ms로 잡았는데 혹시 이런 경우에는 어떻게 해결하면 좋을지 인사이트 부탁드립니다.https://github.com/Dockerel/DataStreams-BE/pull/2/files#diff-8865d84ecad53d37da0cb105068fad66b3f780ff3a9d11b61df86287646e51c3작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
live server가 안 떠요..
저 이 화면에서 open with live server 를 눌렀는데이 화면이 떠요.. 저 그러고 혹시 강의 마지막 부분만 보고도 앱을 만들 수 있나요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Intellij Profiler 실행 시에 Redis 연결 문제
Intellij Profiler로 서버 실행 시 Redis 연결 문제로 서버 실행이 안되서 이 부분을 localhost로 바꾸고 실행시키니 잘 실행되었습니다.
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
gitbub action로 push후 수업진행이 멈췄습니다
깃액션으로 배포자동화 작업후 퍼블릭ip:8080/api/chapter2/boards에 접속해도 똑같이 여전히 거부가 되고있고 이전까지 진행과정에서 빌드실패라던지 연결실패같은 오류메시지도 뜬적이없어 어느부분이 잘못된건지 찾기가 쉽지않습니다 ec2와 rds도 잘만들어졌고 dbeaver에 aws rds주소로 연결도 잘된상태에 use portfolio까지는 실행이 되는데 테이블이 생성되있질 않아 mock데이터 삽입도 진행되질않습니다
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
main.tf EC2 인스턴스.타입 수정 필요
terraform apply 명령어로 실행 중 오류가 발생했는데 t2.micro 로는 인스턴스 생성이 안되어서 찾아보니 t3.micro 가 가능해서 변경하여 생성하였습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카운팅 조회 시 질문
안녕하세요 질문있습니다.만약 게시글 전체 조회할 때 게시글 마다 좋아요 수도 함께 기재하려고 하면 게시글 조회 할 때 마다 articleId에 맞는 좋아요 수 정보도 함께 필요하잖아요?현재 게시글 서버와 좋아요 서버가 다른 환경을 고려할 때 그러면 게시글 조회할 때 마다 좋아요 서버로의 api요청이 불가피할 거 같은데 이 경우 조회 성능이 당연히 안좋게 나올 수 밖에 없다고 생각합니다. 비정규화로 좋아요수를 게시글 테이블에 붙여서 단일 서버로의 요청을 만들어줄려고 해도 말씀하신 한계 때문에 안될 거 같구요.만약 게시글 전체 조회 시에 게시글과 게시글의 좋아요수가 반드시 제공되어야 한다면 제가 생각한 성능 저하 포인트가 타당한가요? 만약 타당하다면 어떻게 개선할 수 있을까요? 인기게시글만 따로 추려서 레디스로 메모리를 활용해야할까요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
다 정상적으로 동작하는데 이름 수정 로직이 제대로 동작하지 않고 서버 내부 오류라는 메시지가 자꾸 출력됩니다.제가 혼자 해결해보려고 해보았는데 Hibernate가 id로 조회한 결과가 없어서 Optional이 비어서 orElseThrow가 예외를 던진거라고 하는데요... Postman 이용해서 제 실제 DB에 있는 데이터 값으로 전송해도 sql은 실행이 되는데 뭐가 문제인지 잘 모르겠습니다 ㅜㅜ도와주세요 ㅜㅜㅜㅜ