묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
MyLogger 싱글톤 추가 질문
이전 질문에 대한 궁금증이 생겨 추가 질문드립니다.https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55392&tab=community&category=questionDetail&q=541279 LogDemoController 단에서의 myLogger와 2. LogDemoService 단에서의 myLoger는 같은 객체인가요? 라는 질문에서스프링 컨테이너 생성 시점에 myLogger는 생성되기 전이라 의존성 주입이 안 되는 것 아닌가요? 이 때 생성되지 않은 myLogger 객체를 비교하는 테스트는 어떻게 해야 하는지 질문드립니다. 그 다음 강의에서 Provider의 getObject() 메서드를 이용하는 방법을 학습했습니다.컨트롤러에서 getObject() 메서드로 읽어온 후 println으로 toString을 찍어봤습니다.@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; @RequestMapping("log-demo") @ResponseBody // String 반환값인 문자열을 그대로 보낼 수 있음 public String logDemo(HttpServletRequest request){ // HttpServletRequest는 고객 요청 정보를 얻을 수 있음 String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); System.out.println("Controller.myLogger.toString() = " + myLogger.toString()); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK!"; } }서비스에서 getObject() 메서드로 읽어온 후 println으로 toString을 찍어봤습니다.@Service @RequiredArgsConstructor public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerProvider; public void logic(String id){ MyLogger myLogger = myLoggerProvider.getObject(); System.out.println("Service.myLogger.toString() = " + myLogger.toString()); myLogger.log("service id = " + id); } }생성된 myLogger나 컨트롤러, 서비스 모두 같은 객체라는 것을 확인했습니다.[64d203f8-a2d5-4923-ad77-fcad3bd19d21] request scope bean create : hello.core.common.MyLogger@6cc43735 Controller.myLogger.toString() = hello.core.common.MyLogger@6cc43735 [64d203f8-a2d5-4923-ad77-fcad3bd19d21][http://localhost:8080/log-demo] controller test Service.myLogger.toString() = hello.core.common.MyLogger@6cc43735 [64d203f8-a2d5-4923-ad77-fcad3bd19d21][http://localhost:8080/log-demo] service id = testId [64d203f8-a2d5-4923-ad77-fcad3bd19d21] request scope bean close : hello.core.common.MyLogger@6cc43735 그렇다면 컨트롤러와 서비스가 싱글톤 스코프라서 같은 객체를 불러오는 것이 아니라(myLogger를 주입한 것이 아니라서), ObjectProvider가 스프링 컨테이너에 등록된 myLogger 빈을 lookup하기만 해서 찾아온 것으로 이해하면 될까요??질문 읽어주셔서 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
TestBean 클래스에서 required = false 호출 가능하게 하는 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.강의를 듣다가 TestBean 클래스의@Autowired(required = false) 도 호출이 되게 하고 싶어서 테스트하고 있습니다.그래서 위 사진 39 ~ 45 라인과 같이 생성자를 만들어 주었습니다.Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.example.core.member.Member' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}그런데 위와 같은 에러가 발생하는데 어떻게 해야 required = false 도 호출 가능하게 할 수 있을까요??
-
해결됨그림으로 쉽게 배우는 네트워크
NAT과 PAT 파트 질문드립니다.
영상을 보고 이해되지 않는 부분이 있어 문의드립니다.영상 12:02 쯤 목적지 IP주소 211.0.5.20 포트 80은 Public IP 인건가요?만약 Private IP를 사용하는 어느 컴퓨터에게 예를들어 짱구PC가 친구1 PC에게 접속하려할때는 목적지 라우터에서 친구1 PC 의 IP주소 또는 MAC 주소를 어떻게 찾을 수 있나요?
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
perspective에 대해서
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 여기 부분하고여기 부분에 모두 perspective가 있는데혹시 css에도 해줘야하는 이유가 있을까요?? 그리고 혹시 영상에서 보였던 끊김현상이 저도 가끔씩 나타나는데 원인이 뭔가요?? 3d를사용해서 그런건가요? 아님 그저 컴퓨터렉인가요??혹시 해결방법도 알려주시면 감사드리겠습니다..ㅠㅠ
-
미해결리눅스 커널 해킹. A부터 Z까지
안녕하세요 수강중 궁금한 것이 있습니다.
해당 수업을 들으면서, 선생님이 미리 짜놓은 코드로만 진행이 되어서 그저 기계처럼 따라만 하고 있어서 전혀 이해가 가지 않습니다..혹시 해당 코드가 어떻게 제작되었는지부터 이해하려고 하는데, 어떤것을 보면서 수업을 들으면 도움이 될까요?
-
미해결실전! Querydsl
QueryDsl 의 Qclass 에 대해
Q클래스와 같이 엔티티가 하나씩 더 생기는 데 왜일까요? 괜찮은건가요?? 예 : Hello QHello 이렇게 사진 처럼 생기네요 .
-
해결됨Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
다이나믹 패널 action 문의
Dynamic Panel 질문입니다.A라는 트리거에 Dynamic panel 1의 Set Panel State interaction을 걸어 state2가 나오게 했는데Dynamic panel 1의 state2가 Dynamic panel 2의 트리거가 되게 하고 싶습니다.dynamic panel은 트리거가 될 수 없는건가요? 정리해서 이야기 드리면A트리거 발동 -> dynamic panel 1, state 2변경 ->dynamic panel 2 interaction 발동 감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
4계층 프로토콜 패킷 조각화
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]패킷이 순서대로 안오면 서버 쪽에서 패킷을 다시 보내라고 요청한다고 하셨는데tcp헤더에 적혀있는 패킷 순서로 서버 쪽 tcp/ip에서 조립하지 않나요??
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
CSS에서 궁금했던 부분 -실전 페럴렉스 강의 부분
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 부분이 없어도 잘 되는 것같긴한데혹시 overflow-y : hidden 있는 이유를 알 수 있을까요?이미지들이 height 크기를 넘어도 화면에서 이미지를 자르고 스크롤을 없앤다는 의미 맞을까요?? 또하나 질문이 있습니다.여기서 상위요소에 margin 0 auto를 주고하위요소에 margin auto를 줬는데위에 margin 0 auto를 지워도 하위요소는 가운데 정렬이 잘 되고상위 요소에 margin 0 auto가 아닌 margin auto를 줘도 똑같이 나오는데이게 둘이서 무슨 상호작용이 되는지 알 수 있을까요?? 개발자 도구로 지우면서 확인해봤는데 바뀌는게 안보여가지구요..ㅠㅠ
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
nextTick과 promise 우선순위에 대한 "type": "module"의 영향
package.json에서 "type": "module" 설정 유무에 따라 우선 순위가 다르게 나오는 이유가 궁금합니다.setImmediate(() => { console.log("immediate"); }); process.nextTick(() => { console.log("nextTick"); }); setTimeout(() => { console.log("timeout"); }, 0); Promise.resolve().then(() => console.log("promise"));위의 코드로 설정없이 실행 시 강의 처럼 동일한 결과가 출력되는데설정을 추가 하면 아래처럼 promise가 더 먼저 출력됩니다.이러한 결과에 대한 원인이 궁금합니다!!
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
vue3 composition Api 사용시 setup 내부에서도 /src/boot에 설정한 constatns.js 값을 가져올수 있나요?
vue3 composition Api 사용시 setup 내부에서도 /src/boot에 설정한 constatns.js 값을 가져올수 있나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print(f"t center : {t:-^10}") 관련 질문입니다
t = 22 print(f"t center : {t:-^10}") print(f"t center : {t:^-10}") print(f"t center : {t:^010}") print(f"t center : {t:0^10}")출력 결과 :t center : ----22----t center : 22 t center : 0000220000t center : 0000220000로 나옵니다지난 강의에서print('%06.2f' % 3.141592653589793)를 보고 10 앞에 0을 붙여 봤습니다. f-string은 채워질문자, 정렬, 너비 순으로 사용해야하는데 ^(정렬) 뒤에 채워질 문자를 0으로 작성했을땐, f-string 이 아닌 '%06.2f'와 같이 너비 앞에 0이 붙었을땐 0으로 채워지는 규칙이 적용된걸까요?그렇다면 0만 허용인걸까요? {t:^-10}는 22 로 나오고 있으니까요 t2 = 'hi' print(f"t center : {t2:-^10}") print(f"t center : {t2:^-10}") print(f"t center : {t2:^010}") print(f"t center : {t2:0^10}")이렇게 하면 print(f"t center : {t2:^-10}") 이부분에서 에러가 나는데 왜 문자열 타입에선 빈공간으로 출력되지 않고 에러가 날까요?t2 = 'hi' print(f"t center : {t2:-^10}") # print(f"t center : {t2:^-10}") print(f"t center : {t2:^010}") print(f"t center : {t2:0^10}")출력 결과t center : ----hi----t center : 0000hi0000t center : 0000hi0000
-
해결됨스프링 핵심 원리 - 기본편
인텔리제이 단축키
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]혹시 인텔리제이 한 줄 선택 하는 단축키가 뭔가요??..검색해서 나온거 해봐도 안되요ㅠ
-
미해결업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
에러가 너무 납니다.
맥북을 사용하는 유저인데,pyautogui.click(i) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyautogui/__init__.py", line 594, in wrapper returnVal = wrappedFunction(*args, **kwargs) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyautogui/__init__.py", line 985, in click x, y = _normalizeXYArgs(x, y) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyautogui/__init__.py", line 663, in _normalizeXYArgs location = locateOnScreen(firstArg) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyautogui/__init__.py", line 172, in wrapper return wrappedFunction(*args, **kwargs) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyautogui/__init__.py", line 210, in locateOnScreen return pyscreeze.locateOnScreen(*args, **kwargs) File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyscreeze/__init__.py", line 375, in locateOnScreen screenshotIm = screenshot( File "/Users/kimkitae/opt/anaconda3/lib/python3.9/site-packages/pyscreeze/__init__.py", line 527, in screenshotosx if tuple(PIL__version__) < (6, 2, 1):TypeError: '<' not supported between instances of 'str' and 'int' 아래와 같은 에러가 지속적으로 발생하는데 무엇이 문제일까요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
MVC07 파일 업로드 부분 수강중인데 갑자기 mysql 쿼리가 느려졌습니다..
평소에는 바로 insert , delete 됐는데등록 버튼을 눌러도 한참 기다리다가 갑자기 timeout에러가 뜨네요ㅜ그래서 테이블 자체를 drop하려고 해도 sql의 status창에 started 라고 뜨고 succeed나 failed도 안뜨구요..ㅠ어떻게하면 좋을까요..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한요청합니다
인프런 아이디 : @tkfkdgoll인프런 이메일 : ttkfkdgolll@naver.com깃헙 아이디 : ttkfkdgolll@naver.com깃헙 Username : ryuwonhui
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃허브 권한요청합니다
인프런 아이디 : @tkfkdgoll인프런 이메일 : ttkfkdgolll@naver.com깃헙 아이디 : ttkfkdgolll@naver.com깃헙 Username : ryuwonhui
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
다음 강의 또 언제 나오나요
ㅠㅠ 6월 5일인데 언제나오나요
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
강의 내용 중 clear()과 fill()에 대해 질문 있습니다.
안녕하세요, 강의 내용 중 설명해주신 함수의 시간복잡도를 정리해가며 듣는 중입니다! clear()과 fill()의 시간복잡도는 각각 O(1), O(n)으로 생각하면 되는 것인지 궁금합니다.
-
미해결빅데이터분석기사 실기대비 (R 활용)
맨 마지막 p3에서 2,482명이 나와야 되는거 아닌가요???
맨 마지막 p3 <- (p1+p2) / 2 에서 str(p3)해보면 2,482행이 나와야 하는거아닌가요?871 obs of 2 variables라고 나와서요...