63강 강의 12분 쯤 L/R Value 에 대해 예시에서 설명해주셨습니다. 그 중 (a+b)는 임시 값이므로 R Value 라고 설명해주셨는데, 여전히 괄호 안의 a와 b 각각은 L value 라고 이해되는데 맞나요? 추가 질문으로 c = TWO * (a+b) 에서 우측의 TWO * (a+b) 역시 임시로 값들이 계산이 되고 나중에 c 라는 변수에 대입이 될 것인데 그렇다면 TWO * (a+b) 이것 또한 R value 라고 봐야 할 까요?
안녕하세요. char* astrList[3] = { "Hello", "World", "String" }; 이라고 선언했을 때는 각 정적 메모리 영역에 들어가는 문자열 상수의 시작 주소가 배열에 저장된다는 것은 알겠습니다. 그런데, char astrList[] = "Hello"; 라는 식으로 선언했을 때는 해당 문자열 상수가 아니라 그 복사본이 저장된다고 하셨는데, 그 원리가 정확히 무엇인지 궁금합니다. 해당 강의에서 등장한, printf("%s\n", astrList[0] + 2); 혹은 printf("%c\n", astrList[0][3]) 등을 실무에서 주로 어떤 식으로 사용하게 되는지 간단하게라도 예시를 들어주시면 감사하겠습니다.
JPA를 사용하는 강의라고 하지만 QueryDSL에 대한 코드만 딱 보여주고 이게 어떤 dependency를 추가하고 build를 해서 사용해야한다는 등의 설명이 일절 없는것이 아쉽습니다. 강의 교재에도 해당 내용은 기재되어있지 않은데 왜 코드를 실제로 적용하는 부분에 대해서나 테스트 코드 작성에 대해서는 따로 언급이 없으신건가요?
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ dp나 다익스트라 같은 알고리즘은 이번 강의에서는 아예 다루지 않나요? 기존 올인원 강의(파이썬 버전) 같은 경우엔 포함되어있던데, 혹시 자바 버전도 추가 또는 별도 강의 개설할 예정인지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 좋은 강의로 공부하고 있는 대학생입니다. 이번 영상에서 ItemService 클래스의 updateItem 메서드에서 값을 변경하는 부분을 각 변수에 대해 set 으로 접근하는 방법 대신 item 클래스 내부에서 change() 메서드를 선언 후 사용하는 방법으로 직접 수정해보려고 합니다. 그런데 만약 클라이언트에서 isbn과 author 값을 수정하고 싶다면, item 도메인에서는 두 변수에 대한 선언이 안되어있는데 item 엔터티 구조를 변경하는 방향으로 수정 로직을 작성해야 할지 궁금해서 질문 남깁니다.
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ Queue에 값을 추가하는 메서드는 enque offer 두 가지가 있다고 강의에서 말씀 주셨습니다. 둘 다 똑같이 값을 추가하는걸까요? 만약 맞다면, 어떤 차이점이 있는지 궁금합니다. (어떤 상황에서 사용되는지도 궁금해요.) +추가적으로, queue.poll() 이 dequeue다 라고 말씀 주셨는데, 둘도 어떤 차이가 있는지. 어떤 상황에서 사용하는지도 궁금합니다!
강의 5분쯤 ; 세미콜론에 대해 간단하게 설명해 주셨습니다. 제가 이해한 내용으로는 "문장"을 마칠 때 세미콜론을 붙인다 라고 이해를 했습니다. 다만, 함수 문장(?) 뒤에는 세미콜론을 안 붙이는 것으로 받아들였는데 이게 맞을 지 검토 부탁드리며 조금 더 구체적으로 어떨 때 붙이고/안 붙이는지 궁금합니다. ㄴ 배경 : 뒤에 함수 만들기 강의에서 void say_hello(); 로 함수를 호출하는 경우에는 세미콜론을 붙이도록 되어있습니다. 즉, 함수를 호출하는 문장으로 본다는 의미인데.. 어떤 경우에는 문장이고 어떤경우에는 아닌지 궁금하네요.
Step over의 정확한 기능이 이해가 되지 않아 문의드립니다. 강의 내용 중, F10은 들여다보지는 않고 실행 만을 시킨다고 표현하셨는데 정확한 의미가 이해가 되지 않아 문의 드립니다. 말씀 주신 들여다 본다 라는 표현이 F11로 한줄 씩 실행하는 거라면, F10은 살펴보지 않고 실행만을 한다는 게 구체적으로 어떤 의미 일까요..?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 주문 서비스에서 주문, 주문 취소 메서드 비즈니스 로직이 엔티티에 있는데 이렇게 엔티티가 비즈니스 로직을 가지는 도메인 모델 패턴과 서비스에서 비즈니스 로직을 처리하는 트랜잭션 스크립트 패턴 중에 실무에서는 보통 어떤 것을 사용하나요? 각각의 장단점이 있는지도 궁금합니다
public class Subsets { List<List<Integer>> ans = new ArrayList<>(); List<List<Integer>> solution(int[] nums, int m) { dfs(nums, m, 0, new ArrayList<>()); return ans; } void dfs(int[] nums, int m, int start, List<Integer> curr) { //base case ans.add(new ArrayList<>(curr)); // 매순간 ans에 추가 //상태 전이 for(int i=start; i< nums.length; i++) { curr.add(nums[i]); dfs(nums, m, i+1, curr); curr.remove(curr.size()-1); } } } ans를 전역변수로 설정하고 for문으로 상태 전이할때마다 ans값을 수정하는 방식으로 구현할때 addAll(dfs(nums, m, i+1, curr));으로 하니 dfs가 void로 리턴돼서 에러가 나는데 위의 코드 블럭과 같이 dfs(nums, m, i+1, curr);로 실행하고 basecase에서만 ans에 curr을 추가하는 방식으로 하면 되는걸까요? 질문 봐주셔서 감사합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 김영한님은 이렇게 푸셨는데 저는 이렇게 풀었습니다. 이게 문제가 있는 건지 알고 싶습니다. package operator.ex; public class OperationEx3 { static void main(String[] args) { int score = 88; System.out.println(80 <= score && score <= 100); } }
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] synchronized 이전 강의에서 join 을 활용하여 순서를 쓰레드의 순서를 보장하여 실행하는 방법에 대해 배웠습니다. 만약 동시에 같은 값에 대해 접근하는 것이 문제 라고 가정 할 경우 join 을 활용하여 특정 쓰레의 종료 이전 까지 다음 쓰레드 를 시작하는 것을 막는 다면 해결할수 있는 문제가 아닌가 생각합니다. 예를들어 다음과 같이 t1.join() 을 사용하면 t1 의 쓰레드가 종료 이전 까지는 t2 는 대기 상태가 될 것이고 t1 에서 최종 결과가 나오기 전까지는 t2 는 실행하지 못할 것 입니다. public class BankMain { public static void main(String[] args) throws InterruptedException { //BankAccount account = new BankAccountV1(1000); BankAccount account = new BankAccountV1(1000); Thread t1 = new Thread(new WithdrawTask(account, 800), "t1"); Thread t2 = new Thread(new WithdrawTask(account, 800), "t2"); t1.start(); t1.join(); sleep(500); log("t1 state :"+t1.getState()); log("t2 state :"+t2.getState()); t2.start(); //t2.join(); log("최종 잔액 : "+account.getBalance()); } }
강사님 안녕하세요, 구매후 아직 강의를 듣고 있지는 않는데, 조만간 시작하려고 합니다. 강의 초반 준비사항에서 아무 ESP32나 상관 없다고 하셨지만, 최대한 병목을 줄이기 위해 전체 커리큘럼을 따라갈 때 문제되지 않도록, 준비 사항을 미리 알고 싶습니다. (보드, 디스플레이, 브레드 보드 등등) 구체적인 구매처 정보까지 있으면 좋을 것 같습니다. 감사합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 메모리 가시성 문제 가 발생하는 이유는 쓰레드가 공유 된 runFlag 값에 대해 반영이 않되어서 발생하는 문제라고 설명을 해주셨습니다. 예를들어 main 쓰레드에서는 false 를 true 로 변경하였으나 work 쓰레드에서는 해당 값이 변경되었는지 모르기 때문에 계속 동작하는 상태 입니다. 여기서 이해가 않가는 부분이 모든 프로그램은 보조기억 장치에서 실행을 하고 실행에 필요한 변수가 값 들은 모두 ram 과 같은 주 기억 장치에 저장되고 사용되는 걸로 알고 있습니다. 그렇다면 이 과정에서 쓰레드는 캐시메모리가 아닌 주기억 장치에서 값을 읽어서 사용해야 합니다. 지금 과정으로 설명된 것을 이해 하면 주기억 장치 또한 단순히 값을 저장하는 것 뿐이고 실제로는 캐시 메모리에서 한번더 데이터를 저장하고 cpu 는 캐시메모리에 접근하여 데이터를 연산한다고 이해 했습니다. 맞을까요?
printf 함수 사용 시, 따옴표도 함께 출력하려면 하기 규칙이 맞나요..? printf("\" 내용 \"" ) 이건 규칙이기에 그냥 받아들여야 하는 부분일까요? 거부 감이 드는 부분이 앞에 따옴표 " \ " 여기는 형태 상 printf(" 내용 ")의 따옴표가 먼저 나오고 특수하게 \ escape 기호가 들어간 후, 출력을 위한 " 가 들어간 것으로 받아 들여지는데 내용 뒤에 나오는 따옴표 형태에서 거부감이 드네요. \ "" <-- 형태상으로 "\" 내용 "\" 이렇게 되어야 \ escape 기호 내부에 따옴표 2개와 내용이 들어간 구조로 맞는 것 처럼 보이는데... 실제로는 "\" 내용 \ "" 이게 맞는 형태라고 하니 거부감이 듭니다. (제 생각이 맞다는 게 아니라, 단순히 눈에 익숙하지 않아 문의 드립니다.)