묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
getReference()하면 영속성 컨텍스트에 속하게 되나요?
강의 36분 10초 경부터 관련해서 질문드립니다.해당 시점에서 refMember는 getReference()하였으므로 프록시입니다.그리고 바로 다음에 em.detach(refMember) 하여 영속성 컨텍스트에서 끄집어 낸다고 하시는데요.그렇다면 getReference()하여 생성되는 프록시도 영속성 컨텍스트에 속하게 된다는 말씀인건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
35강에서 returnBook 에서 userLoanHistory 값 중복에 관하여
@Transactional public void returnBook(BookReturnRequest request) { User user = userRepository.findByName(request.getUserName()) .orElseThrow(IllegalArgumentException::new); user.returnBook(request.getBookName()); }위 코드의 BookService 에서 책을 반납할때 userLoanHistory 중 user명과 책 이름이 같은것을 가져와서 userLoanHistory 에서 리턴하는데 문제는 한 사람이 이미 같은 책을 빌렸고 반납한 기록이 있다면 중복으로 잡힙니다.public void returnBook(String bookName) { UserLoanHistory targetHistory = this.userLoanHistories.stream() .filter(history -> history.getBookName().equals(bookName)) .findFirst() .orElseThrow(IllegalArgumentException::new); targetHistory.doReturn(); }위의 User 엔티티에서 혹시 userLoanHistory 값이 여러개 나올때 혹시 .findFirst() 를 통해 그 중 가장 위즉, 여기선 가장 최근에 대출한 책의 기록인 userLoanHistory 를 가져와서 doReturn()을 진행하는 형태가 맞습니까?
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
Password?
SSH로 서버에 접속을 할때 PWD는CONTABO로그인 할때 PWD이지 않나요?PWD에서 계속 거절 되고 있는데 달리 확인 하는 방법이 있을까요? 확인좀 부탁 드립니다.
-
미해결개발자라면 알아야 할 redis 기본
Redis Pub/Sub, Stream과 Kafka 비교 질문입니다.
안녕하세요.Redis에 관련하여 좋은 강의 감사합니다. Redis Pub/Sub과 Stream 기능의 큰 역할은 메시지를 발행하면 구독하고 있던 서버에 실시간으로 전달해주는 것으로 이해했습니다. 위 역할만 하는 것이면 아래 이유로 Redis에 비해 Kafka를 선택하는 것이 일반적이지 않을까 생각이 듭니다.속도적인 부분은 Redis가 메모리 위에서 동작하여 Kafka 보다 빠르지만 유저 입장에서는 거의 차이가 없을 것 같다.Kafka가 더 많은 자원을 요구하지만 확장성과 영속성, 안전성을 고려했을 때 이점이 있다. 위 생각에 대하여 피드백 부탁드립니다.
-
해결됨5천억건이 넘는 금융 데이터를 처리하는 토스 개발자에게 배우는 MySQL [ By. 비전공자 & Toss 개발자 ]
9강 인덱스 설계 관련 문의
인덱스가 아래와 같을때idx_orders_user_status(user_id, status, created_at)아래 쿼리문이 왜 문제인지 궁금합니다.select * from orders where 1=1 and status = 'pending' and user_id = 123강의 내용(11분 30초)에서는 인덱스의 컬럼 순서와 조건문(where)의 컬럼 순서가 틀려 효율적이지 못하다고 설명해 주시는 거 같습니다.하지만 이는 옵티마이저에 의해 where절의 컬럼 순서를 재계획 하는 걸로 알 고 있습니다.강의의 의도는 left prefix index rule 때문에 인덱스 순서를 조심해야 한다는 내용인 거 같은데... 혹시 꼭 순서를 지켜야 하는 이유가 있을까요??(첫 번째 인덱스 미사용, 중간 컬럼 미사용, 커버링 인덱스 등의 특정 상황 제외)
-
미해결2. 유니티가 어려운 입문자를 위한 입문용 게임 제작
에셋 드래그 넣을때 안되는데요.
이미지 드래그해서 넣을때 안되는데요마우스 저모양되고 안되는데 어떻게하나요?.
-
해결됨개발자라면 알아야 할 redis 기본
채팅 서비스 관련하여 질문드립니다.
좋은 강의 감사합니다.다름이 아니라, Redis Pub/Sub에서 채팅 서비스에 활용된다고 하여 제가 이해한 바와 질문을 드립니다. 제가 이해한 바는 다음과 같습니다.단일 서버가 아닌 다중 서버에서 채팅을 진행하기 위해서는 Source User와 Taget User 간의 정보(IP, MAC 등)이 필요하다.여기에 다중 서버에 공유하기 위해서는 Redis Pub/Sub 기능을 이용하여 User 정보를 동기화한다. 이해한 바를 바탕으로 아래 질문을 드립니다.Redis Pub/Sub 기능을 활용해 실시간 채팅을 하는 상황입니다.서버에서는 실시간으로 채팅 내역을 동기화하지만, 유저 단(ex. 브라우저 or 프로그램)에서는 실시간으로 반영을 할려면 Redis Pub/Sub 기능만으로 가능한지 궁금합니다.유저 단에서 실시간으로 채팅을 할려면 WebSocket이나 SSE 등의 로직이 추가적으로 필요한걸까요? 감사합니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
Fan-in 시 여러개 노드에서 하나로 병합되는 과정에서 질문 입니다.
Fan in 되면서 3개 노드에서 1개 노드로 병합되는 과정에서, 그 1개 노드는 3개 노드가 전부 연산을 끝낼때까지 기다린 후 실행 되는건가요??
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
윈도우 IOCP 가 DMA 랑 다른 개념인가요?
영상만 보면 네트워크 하드웨어에서 VMS 메모리 공간으로 바로 보내주는거로 보이는데 이게 DMA 랑 다른 개념인가 싶어서 질문 남깁니다.
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
소켓의 본질은 파일이다.
안녕하세요! 강의 잘 보고 있습니다.강의 내용중 - "File + a"가 있고 - "a"에 해당되는 내용이 네트워크(port번호, IP주소)가 되면 - "file + a" == 소켓이다.이렇게 말씀하셨는데 그러면 앞에서 쭉 강의 하셨던 내용을 토대로 생각해보면 제가 작성한 A,B가 맞는 내용인가요? 아니면 C가 맞는 내용인가요? 아래 그림도 첨부했습니다!A. "a"에 해당하는 네트워크 정보가 있기 때문에 서버와 클라이언트는 각 소켓을 통해 데이터를 주고 받고가 가능.B. 이때 클라이언트에서 hello!라는 mgs를 소켓을 통해 전송하면 : 로컬(서버)에 "file"이라는 1차원 선형 공간에는 data(그림의 경우 클라이언트가 전송한 String타입의 data)이 저장되고 해당 file을 콘솔에 출력하거나, txt로 저장하거나 할 수 있다.C. A,B 둘 다 아니고 소켓은 (장치파일 + a(네트워크 정보))이고 소켓에 send,recv 행위를 하는 것은 장치파일에 write,read 하는 것과 같은 행위이다. 그림에서 클라이언트의 msg를 서버에서 recv 하면 장치파일에 [hello]가 저장되고 그것을 콘솔에 출력하거나 별도의 파일로 저장할 수 있는 것 이라는 의미인가요...??
-
미해결JAVA 성능 튜닝과 트러블 슈팅
질문1. [2-7 최대 힙 메모리를 늘리면 좋은 점 ] GC가 적게 일어나면 무조건 좋다?
안녕하세요 강사님좋은 강의 잘 듣고 있습니다. [2-7 최대 힙 메모리를 늘리면 좋은 점 ] 최대 힙 메모리로 늘리면 좋은 점 - GC가 적게 일어나면 좋다?에 대해서 궁금증이 있어 질문을 드립니다. GC가 일어나게 되면 STOP-THE-WORLD로 객체 제거 할떄 어플리케이션이 멈춘다고 알고 있습니다. 그래서 GC가 자주 일어나지 않으면 stop-the-world 가 덜 일어나니 좋겠네? 라는 생각을 처음에 했습니다. 하지만 생각을 해보니 힙사이즈를 늘리면 gc가 일어나는 빈도가 적어지지만 한 번 gc가 일어날떄 객체 제거에 처리해야할 양이 늘어나 stop-the-world시 멈추는 시간이 늘어난다고 알고 있습니다... 그래서 과연 무조건적으로 힙사이즈를 늘리는게 옳은게 맞을까 라는 궁금증이 생겨 질문 드립니다. 감사합니다.
-
미해결쉽게 설명하는 AWS 기초 강의
S3 기타 기능 실습에서 압축파일 업로드 에러
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" S3 기타 기능 실습에서 demo-lambda-image-resizer.zip 파일을 업로드하면The editor could not be opened because the file was not found.메세지가 출력되면서 업로드가 안되는데 왜그럴까요?
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
[문의] 수강 기간 연장
수강 기간 연장 받고 싶어 문의드립니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
엔티티클래스에서 질문입니다
엔티티클래스 만들기 5분 20초경에 create table todo{ tno bigint ~~~~~ 이런식으로 떠야하는데}저는 jdbc url [Connecting through datasource 'HikariDataSource ~~~이런식으로 뜹니다~~~중간에 뭐가 잘못된거 같은데 어디를 수정해야하나요?
-
해결됨컴퓨터 비전 이상 탐지, 개발부터 배포까지 올인원 마스터
통합 프레임워크 강의 요청드립니다
안녕하십니까 강사님 마지막까지 좋은 강의로 마무리해주셔서 감사드립니다.혹시 시간이 괜찮으시다면 지금까지 배운 내용들을 토대로 end-to-end mlops framework를 만들어서 실제로 사용하는 모습에 대한 강의도 추가적으로 제작해주실 수 있으신가요? mlops의 각 파트에 대한 내용은 너무 자세히 다뤄주셨지만 각 파트당 연결되는 부분이랑 결국 최종적으로 이 배운것들을 어떻게 융합하는지에 대한 내용도 있으면 너무 좋을 것 같습니다. 감사합니다.
-
해결됨C# 프로그래밍 기초부터 실전 활용까지
asp.net blazor 강의는 현재 계획없으신가요
C#강의는 잘보고있습니다 asp.net라는 웹프레임워크도 관심이 생겻는데 강의찾기가 쉽지않네요
-
미해결실전 활용을 위한 git/github(feat.각종 충돌상황 해결하기)
궁금한 점
만약에 협업을 진행하는 과정에서 제가 develop브랜치에서 feat1브랜치를 따서 작업을 한후 push한다음 pr을 만들었지만, 아직 merge되지 않은 상태에서 feat1 브랜치보다 늦게 다른 팀원이 feat2브랜치를 따서 작업을 해서 push한 후 pr에서 develop브랜치에 merge까지 된 상태인 경우. feat1브랜치 사용자는 git pull origin develop 해서 최신사항을 내려받은 후 남은 작업을 수행해야하는 것인지 궁금합니다. 또한 git pull origin develop한다고 가정했을 때, 커밋이력이 1개만 추가되는 것인지 develop 브랜치의 최신 커밋이력들을 전부 가져오는 것인지 궁금합니다.
-
해결됨[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
B-4연습중인데 네비게이션의 a태그 두께가 이상하고 슬라이드 다운시 문제가 있습니다.
@charset "UTF-8"; body{ margin:0 ; background-color: #fff; color: #222328; } a{ color: #222328; text-decoration: none; } .header-inner{ width: 1200px; margin: auto; line-height: 120px; } header{ height: 100px; width: 1200px; margin: auto; z-index: 20; position: relative; } header>div{ height:100px;} .header-logo{ width: 200px; height: 100px; float: left; } .navi{ width: 800px; height: 100px; float: right; } .contents-inner{ width: 1200px; margin: auto; } .slide{ width: 1200px; height: 300px; position: relative; overflow: hidden; } .slide-items{ width: 3600px; height: 300px; font-size: 0; position: absolute; } .items{ width: 1200px; margin: auto; display: flex; } .items>div{ height: 200px; width: 400px; } .footer-inner{ border: #222328 1px solid; width: 1200px; margin: auto; } footer{ height: 100px; width: 1200px; display: flex; overflow: hidden; } .footer-items{ width: 1000px; } .footer-items div{ height: 50px; border: #222328 1px solid; } .fmily-site{ border: #222328 1px solid; width: 200px; } /* 갤러리,공지사항 */ .tab-inner{ padding-top: 10px; } .tab1{ border: #222328 1px solid; width: 93%; padding: 10px; margin: auto; } .tab1 a{ display: block; border-bottom: 1px #222328 solid; } .tab1 a:last-child{ border-bottom: none; } b{ float: right; font-weight: normal; } .tab-inner>span{ display: inline-block; border: #222328 1px solid; border-radius: 5px 5px 0 0; border-bottom: #fff 1px solid; margin-bottom: -1px; margin-left: 10px; width: 100px; text-align: center; } .tab2{ border: #222328 1px solid; width: 93%; padding: 10px; margin: auto; padding-top: 22px; text-align: center; height: 112px } .tab2 a img{ width: 100px; } .banner a img{ padding: 5px; width: 95%; } /* 메뉴 */ .menu{padding: 0;} .menu li{ float: left; width: 25%; list-style: none; text-align: center; display: block; } .menu li>a{ display: block; } .sub-menu{ background-color: #222328; border: 1px solid #222328 } .sub-menu a{ display: block; text-align: center; color: #fff; z-index: 8; display: none; } .menu li:hover>a{ color: #fff; background-color: #222328; } .sub-menu a:hover{ color: #222328; background-color: #fff; } .sub-back{ width: 1200px; height: 200px; background-color: #222328; position: absolute; left: 0; top:100%; z-index: -3; display: none; } .footer-items:nth-child(1){ text-align: center; }setInterval(function(){ $('.slide-items').animate({left:'-1200px'},function(){ $('.slide-items').css({left:0}) $('.slide-items a:first-child').appendTo('.slide-items') }) }, 3500); $('.menu li').mouseenter(function(){ $('.sub-menu,.sub-back').slideDown() }) $('.menu li').mouseleave(function(){ $('.sub-menu,.sub-back').slideUp() }) <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="header-inner"> <header> <div class="header-logo"> <a href="#none"><img src="images/header-logo.jpg" alt=""></a> </div> <div class="navi"> <ul class="menu"> <li> <a href="#none">대학소개</a> <div class="sub-menu"> <a href="#none">총장인사말</a> <a href="#none">학교소개</a> <a href="#none">홍보관</a> <a href="#none">캠퍼스안내</a> </div> </li> <li> <a href="#none">입학안내</a> <div class="sub-menu"> <a href="#none">수시모집</a> <a href="#none">정시모집</a> <a href="#none">편입학</a> <a href="#none">재외국민</a> </div> </li> <li> <a href="#none">정보서비스</a> <div class="sub-menu"> <a href="#none">대학정보알림</a> <a href="#none">정보공개</a> <a href="#none">정보서비스안내</a> </div> </li> <li> <a href="#none">커뮤니티</a> <div class="sub-menu"> <a href="#none">공지사항</a> <a href="#none">참여게시판</a> <a href="#none">자료실</a> </div> </li> <div class="sub-back"></div> </ul> </div> </header> </div> <div class="contents-inner"> <div class="slide"> <div class="slide-items"> <a href="#none"><img src="images/slide01.jpg" alt="슬라이드1"></a> <a href="#none"><img src="images/slide02.jpg" alt="슬라이드2"></a> <a href="#none"><img src="images/slide03.jpg" alt="슬라이드3"></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <span>공지사항</span> <div class="tab1"> <a href="#none">산업대학교 동문회장배 자선골프대회<b>2016-09-12</b></a> <a href="#none">개교 100주년 기념 야외 오페라 초청 <b>2016-09-10</b></a> <a href="#none">동문회장 및 운영위원장 후보자 추천<b>2016-09-09</b></a> <a href="#none">진행위원회(정회원) 선발 결과<b>2016-09-07</b></a> <a href="#none">산업대학교 동문회 개최일 변경<b>2016-08-30</b></a> </div> </div> </div> <div class="gallery"> <div class="tab-inner"> <span>갤러리</span> <div class="tab2"> <a href="#none"><img src="images/img1.jpg" alt="이미지"></a> <a href="#none"><img src="images/img2.jpg" alt="이미지"></a> <a href="#none"><img src="images/img3.jpg" alt="이미지"></a> </div> </div> </div> <div class="banner"> <a href="#none"><img src="images/banner.jpg" alt=""></a> </div> </div> </div> <div class="footer-inner"> <footer> <div class="footer-items"> <div><a href="#none">법적고지 개인정보취급방침 개인정보처리방침 <br>상호명 : 산업대학교 대표자 : 송성훈 개인정보관리책임자 : 김보미 대리 사업장주소 : 서울특별시 중구 개항로 49</a></div> <div><select> <option value="">패밀리사이트</option> <option value="">산업대학교</option> <option value="">정보통신부</option> <option value="">과학기술연구원 </option> </select></div> </div> <div class="family-site"> <select> <option value="https://www.naver.com">네이버 </option> </select> </div> </footer> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html>
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
기초 앱 4강 Type Any -> UIButton
뒤에 설명이 나오는지는 아직 모르겠는데 수강자 분들 참고하시라고 적어놓습니다... 강의에서 @IBAction 함수 선언할 때 sender Type 을 Any 에서 UIButton 으로 변경하는데 그 이유가 이건 sender 의 타입이 UIButton 이라는 걸 명확하게 하는 거라고 보면 되고 Any 로 놔두면 나중에 sender 를 써야할 때는 타입캐스팅을 해야 사용이 가능합니다. [UIButton] 인 경우 sender.backgroundColor = ... [Any] 인 경우if let myButton = sender as? UIButton {sender.backgroundColor }
-
미해결떠먹는 Three.js
수업을 들으면서...
아직 초반부지만 열심히 듣고 있는데요,섹션3에서 각각의 명령어를 설명하시면서 직접 마우스로 움직이면서 하시더라구요강사님 설명을 들으면서 입력해보고는 있는데 그렇게 움직이면서는 확인이 안되어서요....따로 코딩을 더 넣어야 하는건지 아님 제가 놓친 부분이 있는지 해서요