묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA로 마주하는 성능 최적화에 대해
안녕하세요. 성능 최적화 방법에 있어 원초적인 질문을 하나 드리고자 인트로 강의에 질문을 작성하게 되었습니다. 인트로 강의 중에 성능 최적화로 고생하시는 분들 보면 5분 만에 최적화가 끝난 경우도 있다고 말씀주시면서, JPA는 많은 성능 최적화 옵션을 제공하는데 사람들이 이를 모른다고 말씀해주셨습니다. 이 부분을 제가 처음 들었을 때엔, 코드를 (구현한 알고리즘을) 최적화 하는 것보다 JPA의 기능을 더 많이 아는 것이 성능 최적화에 중요하다는 포인트로 느껴졌습니다. 이 부분에 대해 개발 경험이 정말 많으신 선배 팀장님으로서의 의견을 듣고 싶습니다. 만약에 맞다면, 개발 설계를 잘 하는 것도 중요하지만 이 부분은 유지보수 쪽에 가깝고, 결국 최적화는 기능 하나 더 아는 지에 따라 나뉘는 느낌이 들어서요.! 너무 원초적인 질문 같지만, 제가 경험이 없어, 경험이 많으신 개발 팀장 분의 의견을 듣고 싶어 질문을 남깁니다. 이렇게 개발 경험이 많으신 분께 여쭤볼 수 있다는 것이 굉장히 영광스럽습니다. 항상 감사드립니다.
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
unexpected EOF.
이런 오류가 발생 합니다 ㅠ 잘못 쓴게 있나 유심히 봐도 보이지가 않습니다 { "rules": { "chatRooms" : { ".read" : "auth != null", "&chatRoomId" : { ".write" : "auth != null", ".validate" : "newData.hasChildren(['id','name', 'createdBy', 'description'])", "id": { ".validate" : "newData.val() === $chatRoomId" }, "name" : { ".validate" : "newData.val().length > 0" }, "description" :{ ".validate" : "newData.val().length > 0" } } }, "messages" : { ".read" : "auth !== null", ".write" : "auth !== null", "content": { ".validate" : "newData.val().length >0" }, "image" : { ".validate" : "newData.val().length >0" }, "user" : { ".validate" : "newData.hasChildren(['id','image','name'])" } }, "presence" : { ".read": "auth != null", ".write" : "auth != null" }, "typing" : { ".read": "auth != null", ".write": "auth != null" }, "users" :{ ".read" : "auth != null", "$uid" : { ".write" : "auth != null && auth.uid === $uid", ".validate" : "newData.hasChildren(['name','image'])", "name" : { ".validate" :"newData.val().length > 0" }, "image": { ".validate" : "newData.val().length > 0" } } } }
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 2 - 불량사과를 찾아라!
FruitcustomYolo 학습 시 에러 발생
학습 테스트 하고 있는데 100번 째에서 아래와 같은 에러 발생합니다. 몇번을 봐도 모르겠네요 어떤 에러 인지 강사님의 한 수 지도 부탁합니다. (참고로 그림파일 및 라벨 파일 명이 기존 과 다릅니다 나머지는 동일) 감사합니다 ........ 98: 337.319824, 612.730652 avg loss, 0.000000 rate, 1.923443 seconds, 3136 images Loaded: 0.000045 seconds 99: 325.613281, 584.018921 avg loss, 0.000000 rate, 1.919312 seconds, 3168 images Loaded: 0.000041 seconds 100: 317.502167, 557.367249 avg loss, 0.000000 rate, 1.918930 seconds, 3200 images Saving weights to backup/custom-train-yolo_last.weights Couldn't open file: backup/custom-train-yolo_last.weights
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
안녕하세요.
수업 잘 듣고 있습니다. 이제 시작하는데, 자바스크립트가 약하다보니까,이해가 잘 안가는 부분들이 있습니다. function getPercent(){ var scrollHeight = $('.sec01').height(); var scrollRealHeight = (scrollHeight - $(window).height()); var winScrollTop = $(window).scrollTop(); var scrollPercent = (winScrollTop / scrollRealHeight) * 100; var textPercent = Math.floor(scrollPercent); 여기까지는 잘 이해 했는데요, 그 뒤부터가 잘 이해가 안갑니다. 1) 우선 코드를 위에서 아래로 순차적으로 읽는게 기본으로 알고 있는데, 왜 getPercent() {}안에 아래의 render()를 넣고나서,아래의 render 함수를 적어주는지 이해가 안갑니다. //render 함수 선언을 할때 적어주는 변수들은 지역변수라서, 가져오지 못할텐데, 사용할 수 있는 이유가 getPercent함수안에 실행할 걸 적어둬서 연결이 되는건가요? render(textPercent,scrollPercent); }; function render(textPercent,scrollPercent){ text.text(textPercent + '%'); //텍스트 값을 업데이트 합니다 progressBar.css({ //게이지 값을 업데이트합니다 width : scrollPercent + '%' }); }; function init(){ getPercent(); }; $(window).scroll(function(){//스크롤 이벤트를 추가합니다. getPercent(); }); init(); //초기화 }); 그리고 init() 함수가 프로그램의 시작을 알리는 함수라고 하는게 이해가 잘 안가네요. 뭘 어떻게 시작을 한다는건지 제가 듣기로는 뭔가 설명이 간략화 된것 같아요. 조금 더 자세히 풀어 설명해 주면 좋겠습니다. 화면과 비교해 가면서요. 다른분 질문해주신걸 보면 init 함수를 적은건 겟퍼센트함수가 스크롤이라는 이벤트가 일어나야 실행이 되는데,스크롤이 안일어나도 실행하게 하려고 넣었다 하셨는데, 좀더 설명이 필요합니다.스크롤이라는 이벤트가 안일어나면 굳이 실행이 안되도 되는것 같은데 실행되어야 할 이유가 있을까요?그리고 init() function init(){ getPercent(); }; $(window).scroll(function(){ getPercent(); }); init(); //초기화 이부분도 이해가 안가요. 제이쿼리 구문이 init(); 여기 와 init함수 선언한거 사이에 오는 순서적 이유가 있나요? 저는 무조건 외우는것보다 왜 그렇게 쓰였는지 이해를 해야 온전한 저의 것이 된다고 생각하는데, 영상 속 설명은 뭔가 이미 듣는 사람이 자바스크립트를 어느정도 안다 가정하고 가르치는 것 같아서..좀 만 더 설명이 들어가면 좋겠다 생각합니다. 물론 따로 매일 자바스크립트를 공부는 하고 있습니다만,선생님의 말씀을 다 이해하기는 어렵네요.좀만 더 보충설명 부탁드려요. ㅜㅜ 제가 공부하다 답답해서 질문이 좀 길었지만, 자세히 적어야, 선생님께서도 자세히 답변 해 주실거라 믿고 좀 길게 적었습니다.답변 기다리겠습니다!
-
미해결Vue.js 시작하기 - Age of Vue.js
Vue CLI 4.x버전에서의 옵션 선택
안녕하세요! Vue CLI 버전 4.5.10 대로 설치를 하고있는 와중에 선택화면이 2개 떴는데요. 이 때에 어떤걸 선택해야 좋은걸까요? 1. 2. 검색해 보니 첫번째는npm저장소 대체(?)문구인것 같고, 두번째는 Yarn/NPM 둘 중 하나를 선택하는 것 같은데요. 1. NPM저장소를 대체(?)했을 때의 장점은 무엇인지 궁금하고 2. 현재 강의에서는 NPM을 선택하는것이 맞는거겠죠? Yarn은 뭐죠?ㅠㅠ? 유익한 강의 늘 감사합니다!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
학습과정에 대한 의문점이 생겼습니다.
학습을 시킬때 이미지를 직접 넣지 않고 csv파일로 bounding box및 기타 정보만을 주고 generator를 이용해 학습을 수행하는데, 이미지를 직접 넣지않고 어떻게 학습이 되는건지 궁금합니다. 원래는 이미지의 픽셀값들을 넣어 계산한 후 정답인 bounding box값이 구해지도록 regression을 통해 weights를 조정한다고 생각했거든요 csv만으로 어떻게 학습이 진행되는건가요?
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
안녕하세요. 저는 함수형으로 코드를 짜고 있는데 질문있습니다.
밑 그림과 같이 componentDidMount() 라이프사이클을 대신하여, useEffect() 를 사용하려고하는데 감이 잘 잡히지 않네요... 빈 배열에 chatRooms state값을 넣어서 바뀔때마다 실행되게 해야하나 했더니 chatRoomsRef.on 속성때문에 계속 on 되어서 그런지 계속 무한 루프가 걸려서 과부하가 걸리더라고요..; 그렇게해서 저렇게 빈 속성을 넣게되면은 또 하나의 채팅방만 보이게됩니다 ㅠㅠ , 함수형으로 구현했을때 useEffect에 대해서 어떻게 사용해야 할지 감이 안오네요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 목록 검색 시, 랜더링 과정에서 LAZY 로딩 발생에 대한 질문
안녕하세요. 김영한 강사님! 기본편부터 이번 챕터까지 덕분에 잘 배우고 있습니다! 제가 배웠던 내용을 되짚어 보면 프록시 객체가 초기화 되는 시점이 영속성 컨텍스트가 관리하는 중에 해당 프록시의 id를 제외한 다른 속성들을 호출하면 되는 것으로 이해하고 있는데요. 아니면 초기화 메소드를 사용하던가. 여기서 의문이 orderService를 통해 조회해서 받아온 List<Order> orders는 프록시 객체를 담은채로 반환이 되는 걸로 추측이 되는데. model.addAttribute()로 orders를 담은 후 "orders/orderList" 페이지를 렌더링 하는 과정 중에 <table class="table table-striped"> <thead> <tr> <th>#</th> <th>회원명</th> <th>대표상품 이름</th> <th>대표상품 주문가격</th> <th>대표상품 주문수량</th> <th>상태</th> <th>일시</th> <th></th> </tr> </thead> <tbody> <tr th:each="item : ${orders}"> <td th:text="${item.id}"></td> <td th:text="${item.member.username}"></td> <td th:text="${item.orderItems[0].item.name}"></td> <td th:text="${item.orderItems[0].orderPrice}"></td> <td th:text="${item.orderItems[0].count}"></td> <td th:text="${item.status}"></td> <td th:text="${item.orderDate}"></td> <td><a th:if="${item.status.name() == 'ORDER'}" href="#" th:href="'javascript:cancel('+${item.id}+')'" class="btn btn-danger">CANCEL</a></td> </tr> </tbody> </table> item.member.username에서 member를 lazy 로딩하고 item.orderItems[0].item.name에서 orderItem과 item을 lazy 로딩을 하는 것을 확인할 수 있었습니다. 저는 이번 과정을 통해서 @Transactional 어노테이션이 붙은 Service 로직 내에서만 영속성 컨텍스트가 엔티티를 관리해준다고 나름대로 이해를 했었는데, Service 영역을 벗어난 곳에서도 영속성 컨텍스트가 지연 로딩을 하는 것을 보니 조금 당혹스럽더라구요! 그래서 핵심 질문은 프록시 객체들이 @Transactional이 붙은 Service 로직 내를 벗어났는데 왜 lazy 로딩이 신기하게도 잘 발생하는지?가 궁금합니다 ㅎㅎ! 추가) 같은 member, 같은 item을 가진 order를 2개 조회해봤는데요! 1차 캐시에 의해 lazy 로딩이 첫번째 table 목록을 구성하는데만 발생하고 두번째 목록을 구성할 때는 member와 item 엔티티를 받는데에 select 쿼리를 새로 DB에 안 날리고 영속성 컨텍스트의 1차 캐시에 등록된 엔티티를 반환 받는 것도 확인이 되네요.
-
미해결스프링 핵심 원리 - 기본편
request스코프 질문
질문 1. @Scope (value = "request") 이렇게하면 HTTP요청이 올때마다 하나씩 생성해준다는 말인가요? 질문2. 컨트롤러에서 그러면 로그같은걸 남기면 유지보수하기좋기때문에 requestURL이런거 받아서 로그남기는 코드를 컨트롤러에 코드를 추가하면되나요??
-
미해결홍정모의 따라하며 배우는 C언어
scanf에 문자를 입력했을 때 아스키코드로 받지는 않는 건가요?
안녕하십니까 교수님, 강의 3:30 부근에서 status = scanf("%d", &num); 에서 문자를 입력받았을 때는 정수로 입력을 받을 수 없어 입력받은 변수의 갯수가 0이 된다고 하셨습니다. 제가 생각했을 때는 문자로 입력을 받아도 각각의 문자들에 대응하는 아스키코드로 변환되어서 정수로 입력을 받을 수 있지 않을까? 라는 생각이 드는데요, 어디가 틀린 건지 헷갈립니다. 아스키 코드에 상관없이 자료형이 다르므로 반환값이 0인 것인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
System.ArrayTypeMismatchException:
Map.cs -> ApplyMove 및 ApplyLeave 함수 부분에서 오류가 간헐적으로 발생합니다. public bool ApplyMove(GameObject gameObject, Vector2Int dest) { ApplyLeave(gameObject); PositionInfo posInfo = gameObject.PosInfo; if (CanGo(dest, true) == false) return false; { int x = dest.x - MinX; int y = MaxY - dest.y; _objects[y, x] = gameObject; // 이 부분에서 오류 발생 함 } // 실제 좌표 이동 posInfo.PosX = dest.x; posInfo.PosY = dest.y; return true; } System.ArrayTypeMismatchException: 'Attempted to access an element as a type incompatible with the array.' 이라는 오류가 발생합니다.... 첨부파일에 있는 프로젝트 실행해도 마찬가지입니다 .NET Core 3.1 Protobuf( 3.12.3) Newtonsoft.Json (12.0.) 입니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080을 누르면
apache tomcat화면만 뜨는데 어떻게 해야 하나요?? 답변 부탁드립니다.
-
해결됨3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
선생님이 강의에서 사용하시는 Unit Setup 설정이 궁금해요
안녕하세요 목마하임님 어제 막 맥스 공부를 시작하게 된 초보 수강생입니다. 선생님이 강의에서 사용하시는 Unit Setup (단위설정) 이 궁금한데요 혹시 알려주실 수 있으신가요?
-
미해결iOS/Android 앱 개발을 위한 실전 React Native - Basic
똑같이 했는데 picker 오류나면
Unable to resolve module `@react-native-community/picker` from `src/picker.js`: @react-native-community/picker could not be found within the project. 시뮬레이터 및 콘솔 종료 npm i @react-native-community/picker@1.6.6 cd ios npx pod-install cd .. npm start npm run ios 이유는 pod를 설치하고 나서 시뮬레이터를 껏다 켜야하는 것 같습니다. 이거때매 1시간 날렸네요
-
미해결깔끔한 협업, 슬기로운 슬랙생활 시작하기
Make private는 권한마다 다른가요??
안녕하세요. make private 채널을 만드려고 하는데 회사 슬랙에선 해당 기능이 없네요. 이게 권한이 없어서 그런걸까요?? 혹시 채널 개설한 이후에 비밀채널로 변경할 수 있는 것도 있을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
event.preventDefalut();
LoginPage에서 로그인할때 preventDefalut()에서 에러가 나서 구글 확장프로그램에 loginSuccess가 나오질 않습니다. 어떻게 해야하나요? 혹시나해서 주석처리하고 로그인하면 에러는 뜨지 않지만 확장프로그램에는 loginSuccess가 나오질 않습니다. ㅠ typeerror event.preventdefault is not a function
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
강사님 질문있습니다
예시에서 정답이 6인데 저는 5가 나오고 점수도 100점이뜨는데 뭐가 잘못된걸까요? 새해부터 강의듣고 문제풀기 시작했는데 기본과 팁들을 꼼꼼히 전수해주셔서 감사합니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
이 에러는 왜나는걸까요?ㅠㅠ
그동안 강의보면서 에러나도 어찌저찌 잘 넘겼는데 ㅠㅠ 이번 에러는 조금 감이 안오네요 ㅠㅠ writer가 유효하지 않게 넘어가는 건지 ㅠㅠ 이유가 있을까요?
-
미해결유니티 2D 로그라이크 게임 만들기 [한글자막]
Loader에서 정적변수(static)를 읽지를 못하네요.
오류 CS1061 'GameObject'에는 'instance'에 대한 정의가 포함되어 있지 않고, 'GameObject' 형식의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 'instance'이(가) 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요. 분명 GameManager에서 instance 변수를 public static으로 선언했는데 말이죠... 무엇이 문제인지 모르겠습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
제로초님 깃허브
제로초님 깃허브에 _document.js가 업데이트 된 것을 보았는데 <script src="https://polyfill.io/v3/polyfill.min.js?features=es6,es7,es8,es9,NodeList.prototype.forEach&flags=gated" /> 가 빠졌더라구요! 혹시 이부분 생략해도 되는건가요 ?