안녕하세요. 제가 알기론 자동주입은 스프링 빈 클래스에서만 되는걸로 알고 있습니다. 근데 아래 소스를 보시면 ExtendsController 클래스에는 @Component 어노테이션이 붙지않아서 스프링 빈으로 관리되지않습니다. 근데 HomeController 에서 이를 상속받으면 ExtendsController 클래스에 CommonLoginc 이 자동주입이 됩니다. 그리고 home api 의 this.say 메서드가 NullpointException 오류가 나지않고 정상 호출됩니다. 이건 무슨 원리로 되는건지 알 수 있을까요? package com.info.springboot.controller; import com.info.springboot.model.ExtendsController; import com.info.springboot.model.Sample; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HomeController extends ExtendsController { @GetMapping("/home") public String home(){ this.say(); return "home"; } } package com.info.springboot.component; import org.springframework.stereotype.Component; @Component public class CommonLogic { public void logging(){ System.out.println("logging 입니다."); } } package com.info.springboot.model; import com.info.springboot.component.CommonLogic; import org.springframework.beans.factory.annotation.Autowired; public class ExtendsController { @Autowired private CommonLogic common; public void say(){ common.logging(); System.out.println("ExtendsController 입니다."); } }
Dockerfile에서 베이스 이미지를 작성할 때 openjdk 이미지를 바탕으로 컨테이너를 실행하면 어느 환경으로 구성되어 있나요 ? 베이스 이미지를 ubuntu 이미지로 지정하면 컨테이너 생성 시 우분투 환경으로 설정이 되어 있는것 같은데 혹시 생각한 것이 맞는지도 궁금합니다 !!
이해가 명확하게 된게 맞는지 @ElementCollection은 임베디드 타입에 관해 쓰이거나 그냥 일반 좋아하는 음식 기본형을 저장할 때 쓰이고, @CollectionTable 은 이러한 것에 과한 테이블을 만들고@ joinColumn 은 어떤 것과 매핑이 되는지 @Column(name="FOOD_NAME")은 그것에 관해 연결되어야 할 것을 정해주는 게 맞는건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. LockSupprot의 unpark()메서드는 park()와 parkNanos()로 WAITING상태이거나 TIME_WAITING상태에 빠진 스레드를 RUNNABLE상태로 깨우는 데 사용되는거면 sleep(ms)로 TIME_WAITING상태에 빠진 스레드를 unpark()로 깨울 수 없는건가요? 내용을 좀 더 찾아보니, LockSupport에서 스레드의 상태를 확인하기 위해 자체적으로 permit이라는 플래그값을 사용한다고 하는데, 그럼 결국 unpark는 LockSupport내의 메서드를 사용해서 대기 상태로 만든 스레드에 대해서만 작용하는 것인지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 관련 질문 찾아보고 코드를 변경해봐도 똑같이 에러가 떠서 진행을 못하고 있습니다.. 회원 가입을 누르고 이름을 등록하면 아래와 같은 에러가 발생합니다. 버전도 확인을 했는데 뭐가 문제일까요.. 코드 첨부하겠습니다.. 도와주세요 https://drive.google.com/file/d/1EJGRw6FzdUtj0AZh5mVd7DNqwo_HFhx_/view?usp=drive_link
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 7.6 createReviewAction 서버 액션 컴포넌트에 state 값을 넘기는 것에 관한 질문입니다. 강의 8분 35초 쯤에, state를 넘긴다고 하셨는데, 함수 내에서 사용하지 않는데 굳이 왜 넘기는 것인가요? 감사합니다.
안녕하세요! 우선 제 k8s cluster는 클라우드 서비스를 이용하여 master노드와 worker노드 2개를 각각 다른 vm에 설치해서 총3대로 구성한 상태이구요, section7의 service 실습 강의를 듣던 도중, master노드에서 DNS record를 조회해 보았는데 조회가 안되더라구요. 정상적인 결과인 것일까요? ps. 노드1에서 노드2로의 접근은 확인이 된 상태입니다. (pod-a가 node1, request-pod가 node2에 위치)
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
test 코드 실행시 12월 30, 2024 10:47:24 오후 org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7 INFO: 0 containers and 3 tests were Method or class mismatch라는 경고 메시지가 뜹니다. test 코드가 돌아가는 데 큰 무리는 없지만 개인적으로 궁금해서 질문드립니다.
안녕하세요 토비님. 올해 토비님의 인프콘 발표내용중 마지막 부분에, 무조건 인터페이스를 사용하라 라고 하신 것에 대해 왜 무조건 인터페이스를 사용해야 하는지 궁금합니다. 평소 저의 생각은 구현체가 한개라면 굳이 인터페이스로 분리할 필요는 없다고 생각했습니다. 구현체가 두개 이상이 되었을때 인터페이스로 분리해도 충분하다고 생각했었는데요. 토비님께서 아주 단호하게 말씀하셔서, 어떤 관점에서 인터페이스를 꼭 사용해야 하는지 궁금하여 질문을 남기게 되었습니다. 언제나 좋은 강의 만들어 주셔서 감사합니다.!
안녕하세요 영한님! 오타 제보합니다! 강의자료 pdf 13. 스레드 풀과 Executor 프레임워크2.pdf 39페이지 AS-IS 거절된 작업을 버리지만, 대신에 경로 로그를 남겨서 개발자가 문제를 인지할 수 있도록 해보자. TO-BE 거절된 작업을 버리지만, 대신에 경고 로그를 남겨서 개발자가 문제를 인지할 수 있도록 해보자. 감사합니다!
[질문 하기] 강의를 보다 livenessProbe가 killing하고 restart하는 기준이 이해가 안가서 질문 게시판을 봤는데, 저와 비슷한 의문을 가지신 분이 계신 것 같아서 질문드립니다. 일단 periodSeconds가 10초, 30초 모두 livenessProbe에서 실패를 하는데, 10초 설정은 killing을 하고 30초는 killing을 안 하길래 찾아보니 failureThreshold 라는 값이 또 있더라고요. 이 필드는 몇 번의 실패를 수신해야 실패로 간주하는지 설정하는 옵션입니다 (기본값: 3) . 이걸 보니 10초와 30초 옵션의 차이를 이해하게 되었습니다. 10초는 빠른 시간 내에 반복 체크해서 3번 실패하여 바로 실패로 간주하고 재시작하였고, 30초 옵션은 반복 2회차 이후에 pod가 정상적으로 떠서 3회차에 성공하여 pod를 재시작하지 않은 것 같습니다. 이외에도 다른 여러 옵션이 있지만 모든 옵션을 다루기에는 시간상 어려울 거라는 점은 이해합니다. 다만, 실습 환경에서 단순히 시간 차이로 테스트하는데 이러한 부분이 언급되지 않으면 이해하기 어려울 것 같습니다. 위 내용을 언급하지 않으신 특별한 이유가 있으신가요? 없다면 보충해주시는 게 좋지 않을까 조심스럽게 의견 드립니다.
안녕하세요 영한님! 오타 제보합니다! 강의자료 pdf 13. 스레드 풀과 Executor 프레임워크2.pdf 23페이지 AS-IS 자바는 Executors 클래스를 통해 3가지 기본 전력 을 제공한다. newSingleThreadPool(): 단일 스레드 풀 전략 newFixedThreadPool(nThreads): 고정 스레드 풀 전략 newCachedThreadPool(): 캐시 스레드 풀 전략 TO-BE 자바는 Executors 클래스를 통해 3가지 기본 전략 을 제공한다. newSingleThreadPool(): 단일 스레드 풀 전략 newFixedThreadPool(nThreads): 고정 스레드 풀 전략 newCachedThreadPool(): 캐시 스레드 풀 전략 새해 복 많이받으세요!
@Service public class PersonService { public void processPerson(Person person) { System.out.println("Processing person: " + person); } } @Component public class Common{ public void logging(Log log){ System.out.println("Processing person: " + person); } } 위 두 클래스는 스프링 빈으로 등록되고 싱글톤입니다. 싱글톤은 객체가 1개만 생성되는걸로 알고있습니다. 그럼 controller 단이나 외부에서 PersonService, Common 의 processPerson, logging 메서드들을 동시에 호출하면 2개의 스레드가 각 싱글톤 객체의 메서드 매개변수를 동시에 변경하니깐 스레드 세이프하지않은거 아닌가요? 스프링 mvc 구현할때 다 이렇게 하던데 이게 스레드 세이프한지 궁금합니다~!
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 7.3) 리뷰 조회 기능 구현하기 any type관련 질문입니다. 강의 4분 2초에, any type으로 추론해버리면 추후에 타입 오류가 발생할 가능성이 커진다고 하셨는데 혹시 왜 그런 것인지 구체적으로 알 수 있을까요? 감사합니다.