[질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요! 강의 잘 보고 있습니다. 자바 메모리 강의에서 인스턴스의 메소드는 힙 영역이 아닌 메소드 영역에서 공통으로 관리된다고 학습하였습니다. 이후 상속, 다형성 강의에서 상속관계의 인스턴스 메모리 구조가 그림으로 많이 설명되는데 해당 영역은 실제로 메소드 영역인지, 힙 영역인지 궁금합니다. 1) 메소드 영역이라면 클래스당 전역으로 1개가 생성되어 관리되는 구조이기 때문에 자식 인스턴스 생성시 해당 메모리에 부모 인스턴스가 함께 생성되어 메소드를 참조하는 구조가 잘 이해가 되지 않습니다. 2) 그렇다면 힙 영역에서 각자 생성된다는 것인데, 앞서 말씀드렸듯이 인스턴스의 메소드는 메소드 영역에서 전역으로 관리된다고 하여 혼란이 있습니다. 답변 부탁드립니다.!
28분 13초 왼쪽 하단 코드 #include <stdio.h> int main() { for (int i = 0; ; i++) { if (i >= 5) { break; } printf("i의 값 : %d\n", i); } } 주신 자료에 보면 출력값으로 i의 값 : 0 i의 값 : 1 i의 값 : 2 i의 값 : 3 i의 값 : 4 이렇게 나와있습니다. 그런데 i의 값 : 5 까지 나와야 하는 것 아닌지 여쭙고 싶습니다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int k = sc.nextInt(); sc.nextLine(); int[] array = new int[N]; for (int i = 0; i < array.length; i++) { array[i] = sc.nextInt(); } sc.nextLine(); Main main = new Main(); int result = main.solution(array, k); System.out.println(result); } private int solution(int[] array, int k) { int lt = 0; int answer = 0; int count = 0; for (int rt = 0; rt < array.length; rt++) { if (array[rt] == 0) count++; while (count > k) { if (array[lt] == 0) { count--; } lt++; } answer = Math.max(answer, rt - lt + 1); } return answer; } }
전반적으로 해설이 혼자 푸는데 이야기하시는 느낌이닌다 다른 글도 그렇던데... 유투브로 쉽다쉽다 샘플영상 올리셔서 돈 냈는데 설명이 두서가 없어요 친절하지도 않고 띄엄띄엄 느낌이고 인쇄물은 성의없고... 죄송합니다 돈낸 사람으로서 느낀점 말씀드립니다. 마지막 포인터 문제 전반적인 해설 간략히 요청드립니다.
안녕하세요 프로젝트 초기 설정을 토비님 강의 진행대로 따라하고 있는 중입니다. 제가 docker 는 잘 몰라서 강의 자료에 있는 Rancher Desktop 을 그냥 설치했구요 서버 구동하기 전에 먼저 켜고 토비님 강의 순서 대로 진행했습니다 compose.yaml 의 내용을 수정하기 전에는 오류없이 잘 되는데 토비님이 작성하신 대로 수정을 해서 서버를 구동하면 계속 오류가 발생하고 있습니다 제 디비에 문제가 있나 싶어서 mysql를 완전 삭제하고 재설치 까지 해서 다시 해봐도 이전과 계속 같은 오류가 발생하는데 ai 를 통해서 해결 해보려고 해도 해결을 못하고 있습니다 혹시 확인해보시고 알려주셨으면 합니다
fetch join을 하는것이 즉시로딩을 하는 개념과 비슷하다고 이해했습니다. 근데 강의에서 지연로딩이든 즉시로딩이든 N+1 문제를 피하기 위해 페치조인을 사용한다고 하셨는데 지연로딩일때는 추가적인 쿼리가 발생하게되어 N+1문제가 생기지만 즉시로딩일때는 모든 데이터를 하나의 쿼리로 가져오기때문에 추가적인 쿼리 없이 N+1문제가 생기지 않는다고 생각했습니다. em.find()등으로 즉시로딩을 할때 N+1문제가 생기지 않는것이고 jpql로 즉시로딩을 하면 N+1문제가 생기는것인가요? 이에따른 이유도 함께 궁금합니다ㅜㅜ
선생님과 똑같이 따라했는데요, 마우스와 같은 위치에서 채워지는게 아니라 마우스가 한참 위에 있어야 뒤늦게 올라오는데 이게 맞는건가요..? 강의에서 선생님 완성본도 비슷하게 뒤늦게? 올라오던데 마우스 위치와 같이 채워지게는 못하는 걸까요? 높이와 넓이 문제인 것도 같아서 여러 수정을 해봤는데 안 되네요ㅜㅜ
26:31 에서 static int b=0이 정적변수라고 말씀하셨는데요.... 그러면 나중에 출력하는 곳에서 네번째 st.a 출력값은 20인데, 두번째 st.b 출력값은 11이 된다고 하셨는데 class Static란에서 정적변수로 b=0을 선언했으니까 0이 아닐까 하고 헷갈리거든요. 답변 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 실무에서 강의를 수강하기 이전에 자바에서 제공하는 executor service를 사용하여 병렬로 프로그램을 짠 경험이 있는데요. 저는 spring boot를 사용하여 service 내부에 executors의 고정스레드풀을 사용하여 특정 서비스를 호출할때마다 생성하도록 했습니다. 예를 들면, List<?> methodA(req) { ExecutorService es = Executors.newFixedThreadPool(10); List<CompletableFutures> tasks ... // 비즈니스로직 finally{ // shutdown 로직 } } 공통으로 executor 서비스를 관리하는 클래스를 만들어서 사용해야할까요? 우선 제가 개발한 환경에서는 executor service를 저만 사용했습니다. 만약 위에 제가 작성한대로 methodA를 호출할 때마다 쓰레드 풀이 생성되는거 같은데 맞을까요? 이런 방식보다 더 효율적으로 쓰레드를 관리하고 정리할 수 있는지 궁금합니다.
자식 클래스가 재정의하지 않은 것인지 판단하는 것은 부모 클래스에 show(int x)로 정의된 메서드가 없어서 부모클래스에서 정의되지 않았기에 자식클래스가 재정의되지 않았다고 판단되고 그렇기에 업캐스팅 원칙에 의해 부모 클래스에 없는 것은 호출하지 않기때문에 출력값이 부모클래스에서 나온것일까요?
수업을 계속 듣다보니 복습도 하며 각각 개념을 정리할 때는 이해가 되는데 이렇게 유형 2번과 같은 문제를 풀다보니 상속과 업캐스팅이 헷갈려서 문의드립니다. 유형 2번처럼 Parent obj = new Child(); Parent와 Child 클래스명이 다르기에 업캐스팅이니까 위에서 자식클래스에서 Child: 20만 출력하는 것일까요? 만약 유형 2번 문제가 상속문제였다면 부모클래스에서 Parent: 10과 Child: 20을 모두 출력하는 건가요? 이처럼 업캐스팅은 자식클래스만 출력하는 것이고 상속은 부모클래스 먼저 그리고 자식클래스를 출력하는 것인가요?
현재 [그랩마켓] React로 웹 개발하기 -2 듣고 있는데요 , 1. 그랩 선생님 소스 코드와 동일 하게 아래 작성한 index.js 소스 첨부 하는데요, 실행 하면 , 1초 동안 잠깐 판매되는 상품들 이미지 없이 전체 페이지 뜨다 바로 아래 첨부한 그림과 같이 에러가 발생 합니다. 이 에러는 어떻게 해결 할 수 있을까요? -------- 2. index.js 소스 아래에 작성 첨부 합니다. import './index.css'; import axios from "axios"; import React from 'react'; function MainPage(){ const [products, setProducts]=React.useState([]); React.useEffect( function(){ axios.get("이곳에는 제 목 mock 서버 주소를 넣었습니다/products") .then(function(result){ const products=result.data.products; setProducts(products); }).catch(function(error){ console.error("에러 발생:",error); }); },[]); return ( <div> <div id="header"> <div id="header-area"> <img src="../images/icons/logo.png" /> </div> </div> <div id="body"> <div id="banner"> <img src="../images/banners/banner1.png" /> </div> <h1>판매되는 상품들</h1> <div id="product-list"> { products.map(function(product, index){ return ( <div className="product-card"> <div> <img className="product-img" src={product.imageUrl} /> </div> <div className="product-contents"> <span className="product-name">{product.name} </span> <span className="product-price">{product.price}원 </span> <span className="product-seller"> <img className="product-avatar" src="../images/icons/avatar.png" /> <span>{product.seller}</span> </span> </div> </div> ); }) } </div> </div> <div id="footer"></div> </div> ); } export default MainPage; 그리고, 추가적으로 아래 그랩님 답변 본 뒤 다시 시도해 본 후 질문이 있어 추가적으로 글을 적습니다. 현재 postman을 실행하고요, 제 해당 목 mock 서버 주소를 입력 후 끝에 /products까지 하면요, 아래와 첨부한 사진과 같이 잘 데이터를 받아오는 것 같은데요, 위에 에러 화면이 그대로 표시되어 어떻게 해결해야 하는지 방법을 모르겠습니다. 조금 구체적으로 어떻게 해결해야 하는지 단계별로 친절한 설명 부탁 드립니다.