메모리 가시성에 대한 그림 예시에는 코어가 2개인 멀티 코어로 되어있어서 싱글코어인 상황도 궁금해졌습니다. 코어당 캐시 메모리가 있으니까 여러 스레드들이 같은 캐시 메모리에 접근하므로 메모리 가시성 문제가 발생하지 않을 것 같은데 , 싱글 코어에서도 가시성 문제가 발생하는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강사님! 캐시 메모리에서 값이 변경이 되어도 메인 메모리에 언제 값이 적용될지 모르는건데 synchronized를 사용하면 메인 메모리는 무조건 값이 메인 메모리에 반영이 되는 걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Object의 clone 메서드를 찾아보니 protected 로 접근 제어자가 설정되어 있는데 모든 클래스는 Object 클래스의 하위 클래스이니 clone 메서드를 사용 가능한것으로 이해했습니다. 그런데 실제로 clone 메서드를 실행하면 clone() has protected access in java.lang.Object 에러가 발생하는데 어떤 차이가 있어서 접근 불가능한 지 궁금합니다!
@Component class DiscountAdapter { private val discountCache = CacheUtil<Int, Double>() fun getDiscountRate(): (Int) -> Double = { amount -> discountCache.getOrLoad(amount) { when (amount) { in 100..1000 -> 0.1 in 1001..10000 -> 0.2 else -> 0.0 }} } } 처럼 서비스는 굳이 고치지 않고 DiscountAdapter 클래스 내에서 캐시처리 하는 방법은 혹시 함수형 프로그래밍 방식에 어긋나는 부분이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 의존관계 - 실행하지 않아도 해당 클래스에서 다른 클래스를 사용하는 것을 알 수 있는 것을 의존 관계 MemberReposiorty, DiscountPolicy를 직접 생성하지 않았지만 OrderSerivceImpl 클래스에서 사용하고 있으니 의존 관계 의존관계 주입 - 해당 클래스에서 직접 생성하지 않고 다른 생성자, 메서드 같은 외부에서 들어온 객체를 의존관계 주입이라고 할 수 있는 것 제가 정의 한 내용이 맞을까요? 어떨때 쓰이는지는 알겠지만 정의가 잘 되지 않아 질문 드립니다 :)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] package hello.core.beanfind; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name=" + beanDefinitionName + " object=" + bean); } } } ApplicationContext가 refresh되지 않았다 라고 뜨는데 아무리 봐도. 작성 코드랑 다른게 없어서 왜 이렇게 되는지 알 수 있을까요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 질문자 OS: mac 영상 기준 위치: 11분 30초 ~ 강의록 기준 위치: 7. 네트워크 - 프로그램1.pdf p.29 ~ 질문 상황: 클라이언트 프로그램을 인텔리제이의 Stop 버튼으로 종료할 때 의 흐름 안녕하세요. 위 상황에 대해서 제가 정리한 흐름이 맞는지 궁금해서 확인차 질문글 남깁니다. 1 ~ 4번의 전체적인 흐름 이 맞는지와 2번의 자동적으로(반사적으로) , 3번의 주체적으로 라는 표현이 적절한지 궁급합니다. 제가 생각한 자동적으로 는 : FIN을 받으면 내부적으로 곧바로 TCP 수신 버퍼가 닫힌다. 제가 생각한 주체적으로 는: if (FIN) then close TCP 수신 버퍼 와 같이 FIN을 조건문처럼 감지하고 수신 버퍼를 닫는다. 입니다. 제가 생각한 흐름 TCP 연결이 끊길 때 클라이언트 OS가 서버 OS에 FIN 패킷을 보내고, 본인의 출력 스트림을 닫는다. 서버 OS는 FIN 패킷을 받으면 자동적으로(반사적으로) TCP 수신 버퍼가 닫힌다. 서버 OS가 TCP 수신 버퍼가 닫힌 것을 주체적으로 인식해서 " readUTF() 에게 이 사실을 알려줘야지!" 라고 하면서 readUTF() 의 블로킹을 깨우는 동시에, EOF 신호도 보낸다. readUTF() 는 서버 OS에 의해 깨어나는 동시에 EOF 신호를 감지하게 되고 즉시 EOFException 을 던진다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 김영한 샘 강의 중에 나오는 노션자료가 있는데, 해당 강의 노션(Notion)링크 좀 알려주실 수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 필드 주입에서 제가 이해한 바로는 스프링 컨테이너가 만들어지지 않는 경우는 의존성 주입이 되지 않아서 변수에 값이 할당되지 않기 때문에 순수한 자바 코드로는 테스트가 어렵다라고 이해하였는데 혹시 틀린 부분이 있을까요?
package hello.core; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class CoreApplication { public static void main(String[] args) { SpringApplication.run(CoreApplication.class, args); } } Build.gradle에 web 라이브러리를 추가했습니다. Gradle로 빌드했습니다 왜 이런 오류가 날까요? Execution failed for task ':CoreApplication.main()'. > Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org . Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.12.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 18s 3 actionable tasks: 1 executed, 2 up-to-date 2. 빌드를 IntelliJ로 바꾸자니 tomcat 8080이 안뜹니다ㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] public class method1 { public static void main(String[] args) { woon("학생1",15,90); woon("학생2",16,80); } public static void woon(String a, int b, int c) { Student student= new Student(); student.name = a; student.age= b; student.grade= c; System.out.println("이름: "+ student.name +", 나이: "+student.age+", 성적: "+student.grade); } } 이렇게 하면 코드가 더 간결해지는거 아닌가요? 이렇게 하면 어떤걸 활용 하지 않게 되는것이고, 안되는것인지 궁금합니다.
질문 리터럴 자체가 특정한 타입을 가지고 있나요? 형변환 때 작은범위에서 큰 범위로 대입할 수 있다라고 말씀하셨는데, long a = 10;로 예를 들자면 10이라는 정수 리터럴도 타입이 있는걸로 받아들여져서요 자바에서의 상수 는 final 키워드가 붙은 변수 로 변수안에 저장된 데이터 값이 변하지 않는걸 뜻하는데, 리터럴 도 리터럴상수 라고 표현한다고 알고 있습니다. 리터럴 상수에서 상수 는 변하지 않는 값 으로 값자체가 고정되어있다고 생각하면 될까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 섹션 2 9강에서 자바에서 대입은 항상 변수에 들어 있는 값을 복사한다라고 하셨는데요 왜 자바에서 대입은 항상 변수에 들어있는 값을 복사해서 전달하나요?
안녕하세요. 강의를 들으며 따라 코딩작성을 해보다가 실행에 문제가 생겨 질문 드립니다. [클래스 변수와 클래스 메소드] 파트 붕어빵 문제입니다. 질문1> 16번째줄에 for문 안에 i<FishBread.count의 조건이 적혀있는데요. 제 생각엔 i<breads.length로 적어야 맞지 않나 싶은 생각이 드는데, 왜 i<FishBread.count인지 설명 부탁드립니다. 질문2> 22번째 줄에, fishBread.count 부분을 그냥 count로 적는것은 불가능한지? 설명 부탁드립니다. 질문3> 35번째줄, 생성자 앞에 Public을 적으니 10~13번째 줄들이 전부 빨간 밑줄이 쳐집니다. (생성자 앞의 public을 지우면, 10~13번째줄 빨간밑줄이 사라집니다) 빨간 밑줄이 쳐지는것으로 보아, 문제가 있는 것으로 생각되는데, public을 함께 적는 이유가 무엇인지 궁금합니다. 질문4> 40번째줄, FishBread.count++;을 단순히 count++;로 적으면 안되는 것인가요? 질문5> 45번재줄, 프린트문 내부의 contents는 왜 FishBread.countents가 아닌것인가요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 다른 클래스들에서는 @Autowired가 에러 없이 잘 작동했는데, AutowiredTest의 @Autoried에만 빨간 줄이 그어지고 에러가 발생합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) [질문 내용] 안녕하세요, 영한님. 해당 강의 후반부에서 데이터베이스를 깊게 학습하는 것이 좋다고 하셨는데 혹시 이를 위한 책을 추천해주실 수 있을까 해서 글을 남겨봅니다. 제 지식 수준 기본적으로 학부에서 오라클을 기반으로 한 데이터베이스 수업을 들어서 설계, SQL 프로그래밍, 인덱스 설계(이론만), locking(이론만) 등에 대해서는 알고 있는 상태입니다. 찾아봤던 책 목록 (원서) Elmasri Navathe 저자의 Fundametals of DATABASE SYSTEMS (국내도서) Real MySQL 제가 조금 찾아보면서 정리한 리스트는 위 두 개의 책입니다. 위의 책 중 마음에 드는 책 아무거나 잡아서 학습할지, 또는 영한님이 따로 추천해주실 만한 책이나 학습처가 있는지 의견을 얻을 수 있을까 싶어 글 남깁니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 현재 컴공 3학년입니다, 백엔드 개발자 취업이 목표입니다. 대학에서 프로그래밍 언어 C,C++,파이썬,CSS,HTML,JavaScript 강의를 수강했고, 현재는 컴퓨터과학 강의를 듣고 있습니다. 앞으로 김영한님의 로드맵을 따라갈 계획인데, 진로 방향에 대해 조언을 부탁드립니다. 스프링 강의를 듣기 전에 데이터베이스,SQL 를 학습해야되는 것인지 대학교 동아리에서 이번학기(3월~6월) 동안 스프링,스프링부트,JPA 기초를 스터디하면서 동시에 데이터베이스, SQL를 학습할 수 있는지(선수지식이다보니 한번에 공부하려는 ,, 너무 오바하는거 아닌지) 답변 부탁드리겠습니다.