묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Driver org.mariadb.jdbc.Driver is not suitable for jdbc:mysql://localhost:3306/mydb
mariadb driver로 접속할 수 없다고 나오는데 이거 혹시 무슨 문제인지 알 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대다 단방향 연관관계 질문드립니다.
일대다 단방향 연관관계에서,@Entitypublic class Member {@Id @GeneratedValue@Column(name = "MEMBER_ID")private Long id;@Column(name = "USERNAME")private String name;... getter and setter}@Entitypublic class Team {@Id @GeneratedValue@Column(name = "TEAM_ID")private Long id;private String name;@OneToMany@JoinColumn(name = "TEAM_ID")private List<Member> members = new ArrayList<>(); ... getter and setter}Member member = new Member();member.setName("member1");em.persist(member);Team team = new Team();team.setName("teamA");team.getMembers().add(member);em.persist(team); 위와 같은 일대다 단방향 연관관계에서,1. 이렇게하면 Team엔티티의 members필드인 리스트에 값을 추가 및 변경(team.getMembers.add(member), team.setMembers())하고 Team엔티티를 저장하면, MEMBER 테이블에 대한 UPDATE쿼리가 추가적으로 생성되고, MEMBER 테이블의 외래키(TEAM_ID)를 추가 및 변경할 수 있다.이렇게 이해했는데요. @OneToMany @JoinColumn(name = "TEAM_ID") private List<Member> members = new ArrayList<>();를 통해 MEMBER테이블에 TEAM_ID컬럼이 생기는거 같은데, 다른 여러 테이블도 있다고 가정했을때 어떤 이유로 MEMBER테이블에 TEAM_ID컬럼이 생성되는것인가요? @JoinColumn(name = "TEAM_ID")만 보고 MEMBER테이블인지 어떻게 아는것인가요..? 2. db에 위와같이 Member와 Team을 저장한다음에,team.getMembers()을 해서 Member를 구한 다음에, Member를 통해 MEMBER테이블에 있는 Member의 TEAM_ID값을 알고싶으면 어떻게해야하나요?제가 알기로는 team.getMembers()로 가져온 Member 객체에는 TEAM_ID를 알 수 있는 필드가 없어서 알수없다고 생각하는데 이게 맞을까요?그럼 Member의 TEAM_ID값을 알고싶으면 양방향 연관관계로 만들어서 Member 엔티티에 @ManyToOne을 추가하고 Member 객체에서 member.getTeam().getId(); 를 통해 TEAM_ID를 직접 조회해야할까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Stack Overflow
안녕하세요 선생님! 학습하고있는 와중에 프로세스메모리가 20mb를 유지하다가 급격하게 상승하더니 5gb까지 상승하고 바로 프로그램이 뻗어버리는데 이부분은 어떻게 해결해야할까요?? 작업자 쓰레드는 대략 10개정도로 생성되었고 client Connect도 10이고 RecvBuffer 크기도 4096으로해봤는데 해결이 안되네요..ㅠㅠ
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
[section 14 / VGGNet ] receptive filed 질문
안녕하세요. 항상 강의 잘 듣고 있습니다. 감사합니다. 다름이 아니라 section14. vggnet 강의를 듣던 중 receptive field에 대해 의문이 생겨 질문하게 되었습니다. 교안 82페이지에 (3,3) conv layer 2개를 쌓으면 receptive field가 (5,5)가 아니라 왜 (7,7)이 되는 것인지 궁금합니다.(1,1) 픽셀이 직전 에 (3,3)에서 왔고, (3,3)은 직전 (5,5)에서 convolution 연산으로 오는 것이 아닌가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
로컬 스토리지에 데이터를 저장하는 시점에 대해 문의드립니다.
안녕하세요 강의 잘 듣고 있습니다! 수업 중 reducer의 마지막 부분에 localStorage.setItem()를 호출하여 로컬 스토리지에 데이터를 저장하셨는데요. 그 이유는 데이터의 생성, 수정, 삭제가 reducer 함수 호출 시 이루어지기 때문이라고 이해했습니다. 만약 reducer 내부가 아닌 아래 코드처럼 data를 deps로 가지는 useEffect안에서 데이터를 저장해도 동일하게 동작하는 것이 맞을까요?useEffect(() => { localStorage.setItem("diary", JSON.stringify(data)); }, [data]);
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 무한 depth 질문입니다.
안녕하세요 강사님 강의 잘 듣고 있습니다.댓글 무한 depth 강의를 듣고 있는 도중에, 전부터 궁금했던 내용인데 Repository에 extends JpaRepository를 하면 @Repository를 안 붙여도 되는 걸로 알고 있는데 붙이시는 이유가 따로 있으신지 궁금합니다.https://sudo-minz.tistory.com/147참고했던 블로그 글입니다!
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
혹시 DB를 RDS로 빼지 않고 EC2안에 설치하게 되면 메트릭을 어떻게 측정할까요?
안녕하세요. 좋은 강의 잘 듣고 있습니다.예제에서 처럼이 아니라 EC2안에 DB 서버를 설치하게 된다면, 또 Spring 서버 뿐만이 아니라 필요에 따라 그 옆에 express 서버도 한 EC2 안에서 같이 돌릴 일도 있을 거라 생각하는데, 그런 경우에는 각각의 메트릭을 어떤 식으로 측정이 가능할지 질문 드립니다.
-
미해결[스프링 배치 입문] 예제로 배우는 핵심 Spring Batch
소스 다운 받을 수 없는건가요?
소스 다운 받을 수 없는건가요?
-
미해결[스프링 배치 입문] 예제로 배우는 핵심 Spring Batch
학습에 사용하는 문서 자료 같은 건 없나요?
학습에 사용하는 문서 자료 같은 건 없나요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
CardStackView 오류 정상적으로 구현이 되지 않습니다.
import com.yuyakaido.android.cardstackview.CardStackLayoutManager해당 라이브러리들을 가지고 오지 못하는 것으로 보입니다.implementation "com.yuyakaido.android:card-stack-view:2.3.4"와jcenter() // Warning: this repository is going to shut down soon maven{url 'https://jitpack.io'}//추가구문을 추가하였지만 문제가 해소 되지 않아 문의드립니다.버전을 올리고 내리면서 새로운 프로젝트로 생성하여 진행하였으나 구현되지 않아,남겨주신 프로젝트를 다운받아서 실행보아도 문제 해소가 되지 않아 문의드립니다.[오류가 해소되지 않는 프로젝트] https://drive.google.com/file/d/1S5xBtcu6b3CJ8AP1V7Ji0_ANqICNWoxq/view?usp=drive_link
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
리텐션 과제
리텐션 과제 제출합니다 !쿼리를 짜는 것보다 유저를 어떤 기준으로 나눌 것인지, 리텐션을 어떻게 해석할 것인지 등의 부분이 항상 어려운 것 같습니다 . . ㅠㅠ최대한 배운 내용을 활용해서 인사이트를 도출해보고자 했습니다. 한번 봐주시면 감사하겠습니다 ㅎㅎ!https://bubble-supernova-783.notion.site/19defe88476380ef91abc06719a01ba9#1a4efe88476380e6bd84d4ac9602522d
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
다대일 패치 조인 고민
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]다대일의 관계 패치 조인에 관련한 질문이 있습니다.사이드 프로젝트에서 모임과 참여 모임 테이블이 있습니다.참여 모임 테이블은 (userId, eventId)를 가지고 있습니다. 모임에 참여한 인원과 모임에 대한 정보를 얻고자 합니다.참여 모임을 모임 id로 탐색 하여 참여 모임 List를 얻어 참여 모임의 인원수를 알 수 있습니다.또한 패치 조인을 통하여 List<참여모임> 에 대한 모임의 정보를 얻을 수 있습니다.고민은 여기서 ToOne으로 가지고 오는 모임은 모두 같은것 입니다.이런 경우에도 패치조인을 통해 한번의 쿼리로 가져오는 것이 나은가요? 그래프 탐색이 가능 하도록 참여모임에 해당하는 모임을 넣는 과정이 모두 중복이라 이게 효율적인가?에 대한 고민 입니다.
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
플러터 프로젝트를 시작할수 없어요
플러터 프로젝트가 안보여요플러터 정상적으로 설치후 선생님 강의 보며 따라 하면서 이미 New Project 하고 Flutter Project 선택 클릭하면서 플러터 프로젝트 만들었습니다. 당연히 flutter doctor 는 문제없이 잘 통과 했으니 플러터 프로젝트를 만들었겠죠. 그런데 어느날 부턴가 (아마 안드로이드 스튜디오 업데이트 이후) 갑자기 플러터프로젝트를 선택할수 있는 버튼이 사라졌어요 New Project 하면 Flutter Project 를 선택할수 있는 버튼이 보여야 하는데 안보이네요. 어떻게 하나요? 혹시 업데이트 이후 다른 사람도 그런가요?
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
E유형 slide 높이 질문
E유형 수강중 궁금한점이 생겨 질문드립니다.<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>index</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="header-logo"></div> <div class="nav"></div> <div class="spot-menu"></div> </header> </div> <div class="center"> <div class="shortcut"></div> <div class="news"></div> <div class="gallery"></div> <div class="banner"></div> </div> <div class="right"> <div class="slide-image"></div> </div> </div> <footer> <div class="footer-logo"></div> <div class="footer-content"> <div class="footer-link"></div> <div class="copyright"></div> </div> </footer> </div> </body> </html>@charset "utf-8"; body { margin: 0; background: #fff; color: #333; } a { text-decoration: none; color: inherit; } /* entire */ .container {} .main-content { display: flex; } .main-content > div { /* height: 800px; */ border: 1px solid #000; } .left { width: 200px; } .center { width: 400px; } .right { flex: 1; } /* header */ header {} header > div { border: 1px solid #000; } .header-logo { height: 100px; } .nav { height: 400px; } .spot-menu { height: 50px; } /* items */ .center > div { border: 1px solid #000; } .shortcut { height: 150px; } .news { height: 300px; } .gallery { height: 300px; } .banner { height: 150px; } /* slide */ .slide-image { border: 1px solid red; height: calc(100vh - 120px); width: inherit; } /* footer */ footer { display: flex; } footer > div { border: 1px solid #000; height: 120px; } .footer-logo { width: 200px; } .footer-content { flex: 1; } .footer-content > div { height: 50%; border: 1px solid #000; box-sizing: border-box; }사진과 같이 슬라이드 밑에 120px 여백이 생기는데 혹시 어떤 부분을 수정해야 정상적으로 나올까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-T를 풀면서 생긴 궁금증 질문입니다!!
안녕하세요, 5-T를 풀면서 call by reference에 대한 궁금증이 생겨서 질문드립니다.http://boj.kr/eb2dea066fa343d7b20333031804dfe9해당 문제를 이렇게 제출하여 정답처리 받았는데요,for(auto &k : sharkV){ pair<int,int> newP = k.move(); visited[newP.first][newP.second]++; }이때 k는 구조체 Shark구요, for 범위기반 loop에서 &k 로 받아서 k.move()에서 해당 구조체의 좌표를 변경시키는데요, 여기서 auto&k 대신 auto k를 사용했다면, sharkV의 주소를 참조받아 전달한게 아닌, 복사한 새로운 k라는게 생겨서(깊은 복사?), 이를 변경해도 원본에는 영향이 없는건가요?그리고 Call by value던 reference던, 인자로 넘겨진 변수 이외의 변수가 변경되는 동작이 실행된다면 ( ex) 범위기반 for loop에서 ret을 더하는 행위 ) 이는 참조로 받거나, 값으로 넘긴게 아닌 해당 변수가 직접 들어온것이니 변경된다고 보면 될까요?
-
미해결
자바 풀스택 개발자 요즘 취업 어떤가요
ㅈㄱㄴ
-
미해결2시간으로 끝내는 코루틴
선생님 강의를 듣고 크롤링에 코루틴을 적용해보고 있습니다. 그런데 코루틴이 하나만 나와서 동시처리가 안되는데 혹시 봐주실 수 있나요??
private fun scrapeBookData(browser: Browser, bookLinks: List<String>): List<BookDTO?> { val bestsellers = mutableListOf<BookDTO?>() runBlocking { bookLinks.mapIndexed { i, link -> printWithThread("${i} 시작") val page = browser.newPage() page.navigate(link) printWithThread("${link}에 접속 완료") launch { delay(3000) page.waitForLoadState(LoadState.DOMCONTENTLOADED) val data = page.evaluate( """ () => JSON.stringify({ title: document.querySelector('.prod_title')?.innerText?.trim() || '', author: document.querySelector('.author')?.innerText?.trim() || '', isbn: document.querySelector('#scrollSpyProdInfo .product_detail_area.basic_info table tbody tr:nth-child(1) td')?.innerText?.trim() || '', description: document.querySelector('.intro_bottom')?.innerText?.trim() || '', image: document.querySelector('.portrait_img_box img')?.getAttribute('src') || ''}) """ ).toString() val type = object : TypeToken<Map<String, String>>() {}.type val json: Map<String, String> = Gson().fromJson(data, type) page.close() printWithThread("${link}의 데이터 파싱 완료") var bestseller: BookDTO? = null if (!json.values.all { it.isBlank() }) { bestseller = BookDTO( id = 0L, title = json["title"] ?: "", author = json["author"] ?: "", description = json["description"] ?: "", image = json["image"] ?: "", isbn = json["isbn"] ?: "", ranking = i + 1, favoriteCount = 0 ) } bestsellers.add(bestseller) } } } return bestsellers }[http-nio-8080-exec-1 @coroutine#1] 0 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215819502에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 1 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215150862에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 2 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215150863에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 3 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215150882에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 4 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215150895에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 5 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000215150892에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 6 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000000610612에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 7 시작 [http-nio-8080-exec-1 @coroutine#1] https://product.kyobobook.co.kr/detail/S000001632467에 접속 완료 [http-nio-8080-exec-1 @coroutine#1] 8 시작DOM객체가 로드되는데까지 시간이 오래 걸려서 페이지들을 한번에 호출하고 DOM객체가 로드되는 시간을 공유하고 객체가 로드되는대로 데이터를 가져오려고 했습니다접속하는건 메인 코루틴이 하게하고 반복문만큼 launch로 코루틴을 만들어서 각 DOM객체가 만들어지면 데이터를 파싱하려고 했으나 delay(3000)때문에 3초마다 메인코루틴이 접속하는 것 같습니다. 하지만 delay(3000)을 없애도 같은 결과가 나옵니다 메인 코루틴이 거의 3초느낌으로 웹페이지에 접속을 합니다 launch를 하나 더 만들어서 페이지를 호출하는것도 코루틴 처리를 하면 launch 바깥부분은 page객체를 받지못해 컴파일 오류가 뜹니다이 상황을 어떻게 돌파해야하는지 감이 잘 안오는데 힌트 주실 수 있을까요? ㅠㅠ
-
미해결
설계하는데 너무 어려운 내용이 있어서 질문드립니다.
온라인 시험 앱을 만들고 있는데요.학생들이 수능 문제를 온라인에서 푸는거라 생각하면 됩니다. DB 설계를 하는데, 너무 특히 어려운게 하나가 있는데요. 현재 엔티티가 6개가 있는데요. exam (ex- 수학) question (ex- 수학문제)question_answer (ex- 수학 문제에 대한 답 (A, B, C, D)section (ex- 사칙연산)unit (ex- 곱셈)sub_unit (ex- 음수 끼리의 곱셈)이걸 관계를 어떻게 해야할지 모르겠습니다.주요 사항은 아래와 같습니다. (1) 사용자는 exam별 question을 조회할 수 있다.(2) 사용자는 exam별 특정 section에 속하는 question을 조회할 수 있다.(3) 사용자는 exam별 특정 unit에 속하는 question을 조회할 수 있다.(4) 사용자는 exam별 특정 sub-unit에 속하는 question을 조회할 수 있다.(5) question을 조회하면 question_answer가 함께 조회된다.(6) 총 과목은 6개이다. (국, 영, 수, 사, 과) 최초에는 ORM 기준으로exam (has many) sectionsection (has many) unitunit (has many) sub_unitsub_unit (has many) questionquestion (has many) question_answer이렇게 했었는데요.이게 영 아닌거 같아서요. 일단 restful 기준으로 보면exam/section/unit/sub_unit/question을 가야하고,답변을 가자면exam/section/unit/sub_unit/question/question_answer라고 가야하더라구요. 이럴땐 어떻게 해야하나요?
-
미해결자동차 SW - UDS 진단통신 정복하기
S3 Timer & P2 Timer 질문
안녕하세요, 강의 수강 중, s3 Timer & p2 Timer 관련해서 궁금점이 생겨서 질문 남기게 되었습니다. S3 Timer 관련해서 S3 Client에서도 Timeout이 있는 것으로 아는데, 만약 S3 Client Timeout이 존재한다면 그 개념(의미)이 궁금하고, S3 Client timeout 시간 설정이 어떻게 되는지 (몇초 인지) 궁금하네요. (Tester Present(0x3E) Service를 보낸 후, Server로 부터 S3 Client Timeout 시간 만큼 응답이 없다면 Timeout이 되는 시간을 의미하는 것인가요?) P2 Timer 관련해서 P2 Client, P2*Client 시간 만큼 기다렸는데도 Server로부터 응답이 없다면 P2/P2* Client 관련 Timeout Error로 처리한다고 이해했습니다. 그러나, 궁금한 점은 P2 Server, P2*Server 도 Timeout 시간이 있을 텐데(없는걸까요?), 그 시간 안에 Server가 대답하지 않으면 P2/P2* Client Timeout 발생하기 이전에 P2/P2* Server Timeout이 먼저 발생하지 않나요?항상 좋은 강의를 통해 많은 것을 배워가고 있습니다.감사합니다!
-
미해결Three.js 3D 인터랙티브 바로 시작하기
캔버스 크기를 지정했을 때 onDocumentMouseMove 이벤트 관련
애초에 캔버스 크기를let WIDTH = 400; let HEIGHT = 400;이렇게 설정하고 마우스이벤트를const onDocumentMouseMove = (event) => { if (0 < event.clientX && WIDTH > event.clientX) { mouseX = event.clientX - windowHalfX; } if (0 < event.clientY && HEIGHT > event.clientY) { mouseY = event.clientY - windowHalfY; } };이렇게 설정해서 작동은 됩니다만혹시 다른 간단한 방법이 있을까요? 캔버스 크기를 설정하면 WIDTH, HEIGHT를 넘어가도 이벤트가 실행이 되어서요