inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

프로토타입 빈과 스프링 컨테이너

해결됨

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 프로토타입 빈 관련 궁금한 게 있습니다! 프로토타입 빈 같은 경우 스프링 컨테이너가 프로토타입 빈 요청을 받으면 생성하고 반환만 하지 관리를 하는 게 아니기 때문에 @PostConstruct 애노테이션이 붙은 초기화 메서드는 동작을 하지만 @PreDestroy 가 붙은 소멸 메서드는 동작을 안 하는 걸로 알고 있습니다. 하지만 싱글톤 빈에 의존관계가 주입되어 있는 프로토타입 빈은 스프링 컨테이너가 싱글톤 빈을 관리하는 것처럼 주입된 프로토타입 빈 또한 관리를 하고 관련 요청에 대해서 인스턴스를 반환하니까 싱글톤 빈에서 사용하는 프로토타입 빈 관련 동작도 가능하다고 생각하는데 왜 컨테이너를 종료해도 프로토타입 빈의 소멸 메서드는 동작을 안 할까요?

  • spring
  • 객체지향
  • 빈스코프
  • 프로토타입빈
  • 스프링컨테이너
bae jewoo 댓글 2 좋아요 0 조회수 306

스프링 빈 자동 등록 방식에서의 @Configuration

미해결

스프링 핵심 원리 - 기본편

(@Bean을 통해 스프링 빈을 수동 등록하는 방식이 아닌) 컴포넌트 스캔을 통해 자동 등록하는 방식을 사용할 때도 @Configuration이 붙은 클래스에 CGLIB가 적용되나요? 컴포넌트 스캔 방식을 사용하는 AutoAppConfig 클래스 내부에는 아무런 코드도 존재하지 않고, 그렇다면 AutoAppConfig@CGLIB에서 오버라이딩할 메서드가 존재하지 않습니다. 기존에는 오버라이딩된 메서드 내에 싱글톤을 보장하는 코드가 담겨 있었는데, 이 방식은 메서드가 아닌 클래스 단위로 스프링 빈을 등록하므로 CGLIB를 적용할 필요가 없어 보입니다.

  • spring
  • 객체지향
도토리 댓글 2 좋아요 1 조회수 282

채점 프로그램 작동 안함

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

채점 프로그램을 돌리면 이렇게 뜨는데 해결 방법이 있을까요? 처리되지 않은 예외: System.AggregateException: 하나 이상의 오류가 발생했습니다. ---> System.IO.IOException: 파이프가 끝 났습니다. 위치: System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 위치: System.IO.__Error.WinIOError() 위치: System.IO.FileStream.FlushOSBuffer() 위치: System.IO.FileStream.<>c.<FlushAsync>b__117_0(Object state) 위치: System.Threading.Tasks.Task.InnerInvoke() 위치: System.Threading.Tasks.Task.Execute() --- 예외가 throw된 이전 위치의 스택 추적 끝 --- 위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 위치: System.IO.StreamWriter.<FlushAsyncInternal>d__68.MoveNext() --- 예외가 throw된 이전 위치의 스택 추적 끝 --- 위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 위치: System.IO.StreamWriter.<WriteAsyncInternal>d__55.MoveNext() --- 내부 예외 스택 추적의 끝 --- 위치: System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) 위치: System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout) 위치: Judge.Program.Main(String[] args)

  • python
  • 코딩-테스트
코딩공부왕 댓글 1 좋아요 0 조회수 355

로그인시 No authorization header

해결됨

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요 로그인시에는 인증이 필요하지가 않는데 자꾸 인증 해주는 AuthorizationHeaderFilter 클래스에서 apply 메소드에서 header 값이 없다고 걸립니다. 그래서 아래와 같이 401 오류로 로그인이 안됩니다. application.yml 파일은 문제없는거 같은데 뭘 더 확인해봐야 할까요,,,? 아래는 Users application.yml 파일입니다.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
dmsgp6598 댓글 1 좋아요 0 조회수 413

jwt와 실제데이터의 관계

해결됨

스프링부트 시큐리티 & JWT 강의

안녕하세요 강의 잘 보고 있습니다. jwt로 인증을 받은 후에 클라이언트가 필요한 데이터를 서버에서 클라이언트로 전송을 할때 그 데이터들이 해커에게 노출이 되면 안될거 같은데 그 데이터들은 따로 암호화가 돼서 전송이 되는건가요?

  • spring
  • spring-security
  • jwt
오현택 댓글 1 좋아요 1 조회수 262

[강의 신청완료] 무료쿠폰 요청드립니다.

미해결

3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크] 신청했습니다. 무료쿠폰 요청드립니다.

jhpark2030 댓글 0 좋아요 0 조회수 100

jwt 와 세션ID의 관계

해결됨

스프링부트 시큐리티 & JWT 강의

안녕하세요 강의 잘 듣고있습니다. 웹페이지가 서버에 처음으로 요청을 보낼때 서버에서 세션ID가 만들어지는 것으로 알고있습니다. JWT토큰은 로그인 요청시에 서버에서 만들어 지는 것이구요 그러면 무조건 처음에는 www.naver.com 으로 요청을 보내게 되는데 JWT토큰을 사용한다고 해도 세션ID는 만들어 지는 것이겠네요?

  • spring
  • spring-security
  • jwt
오현택 댓글 1 좋아요 1 조회수 332

Member 테이블 외 DB 생성이 되지 않음

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 코드를 어제 새벽부터 계속 확인해보았는데 DB 생성이 되지 않습니다. 강사님과 스프링, DB 버전이 달라서 생기는 오류인가요? 해결 방법을 모르겠습니다.. JPA와 DB 설정, 동작 확인에서 Member 테이블은 생성이 되었습니다. 그러나 도메인 분석 설계 섹션 강의에서 진행한 Orders, category, delivery, item과 같은 테이블이 생성이 되지 않습니다. spring-boot는 3.2.4 버전을, H2의 경우 2.2.224 버전을 사용했으며, JUnit4는 현재 사용중인 springboot와 호환이 되지 않아 JUnit5를 사용하였습니다. 아래 드라이브 링크는 코드 전체 압축파일 입니다! https://drive.google.com/file/d/1_Xithr3ZMw4MzcHRz1E2TDypWM0c-_Ry/view?usp=sharing

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
민기단 댓글 1 좋아요 0 조회수 323

빈 등록과 의존관계 주입 순서

미해결

스프링 핵심 원리 - 기본편

스프링 빈과 의존관계 주입의 순서에 대해 질문드리고자 합니다. @ComponentScan에 의해 스프링 빈을 등록하고, @Autowired를 통해 의존관계 자동 주입이 이뤄진다고 하셨습니다. 그런데, MemberServiceImpl 객체가 생성되기 위해서는 우선 의존관계 주입이 이뤄져야 합니다(생성자 호출). 순서를 따지자면 @Autowired에 의해 의존관계 자동 주입 -> 객체 생성 -> 스프링 빈으로 등록이라고 생각하는데요. (1) 스프링 빈 등록 (2) 의존관계 주입이라는 두 과정은 순서가 없이 섞여서 진행되는 것인지, MemoryMemberRepository와 RateDiscountPolicy와 같이 의존관계 주입이 필요없는 모든 빈을 등록하고 이후에 의존관계 주입이 필요한 클래스에 대해 의존관계 주입과 스프링 빈 등록이 섞여서 진행되는 것인지, 스프링 빈 등록과 의존관계 주입의 순서를 따지는게 큰 의미가 없는 것인지에 대해 여쭤보고자 합니다. 이전 강의에서 두 과정이 순서대로 일어난다? 섞여서 일어난다? 라는 강의를 들었던 것 같은데 이 부분이 헷갈려서 질문드립니다.

  • spring
  • 객체지향
도토리 댓글 2 좋아요 0 조회수 294

메서드 뿐만 아니라 클래스 자체를 스프링 빈으로 등록 가능한가요?

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 섹션 5의 "컴포넌트 스캔과 의존관계 자동 주입 시작하기" 강의 듣다가 궁금증이 생겨서 글 남깁니다. 이전 강의들에서 @Configuration 이 붙은 클래스를 구성 정보로 등록하고, 해당 클래스 내부의 @Bean 이라는 애너테이션이 붙은 메서드들을 스프링 빈에 등록한다고 이해했습니다. 근데, 구성 정보로서 등록할 클래스 앞에 @ComponentScan 애너테이션을 붙이고, 스프링 빈으로 등록할 클래스 앞에 @Component 애너테이션을 붙이는 부분이 잘 이해가 되지 않습니다. 스프링 컨테이너에 빈으로 등록할 수 있는 건 메서드(@Bean 처럼) 뿐만 아니라, 클래스 자체(@Component) 를 통째로 빈으로 등록할 수 있는건가요? 만약 클래스 자체를 통째로 빈으로 등록할 수 있다는 말씀이시라면, @Component 애너테이션이 붙은 클래스 내부에 있는 모든 메서드들과 변수들을 자동으로 빈으로 등록한다는 것이고, 이것들을 .getBean() 메서드를 통해 조회할 수 있다는 것인가요?

  • spring
  • 객체지향
풍이 댓글 1 좋아요 0 조회수 215

함수의 정의/호출 관련 질문

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

3.1강 함수의 정의/호출 강의 20분 18초 관련 문의드립니다. 이렇게 설정했을 때, 왜 wow_f 의 결과 값은 출력이 안될까요?

  • python
  • 수업
특별한 도마뱀 댓글 1 좋아요 0 조회수 240

slack 초대 부탁드립니다

해결됨

코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)

ejsong25@gmail.com 입니다 갑사합니다:)

  • git
  • github
  • 버전관리시스템
ejsong25 댓글 2 좋아요 1 조회수 308

Class 클래스 강의 질문

해결됨

김영한의 실전 자바 - 중급 1편

class 클래스 강의에서 나온 클래스 생성 할때 쓰는 .getDeclared constructer().newInstance() 와 new 키워드로 객체인스턴스 생성하는게 어떤 차이점이 있나요 ?

  • java
  • 객체지향
최강현 댓글 1 좋아요 0 조회수 329

쓰레드로컬이 제공하는 별도의 저장소와 싱글톤의 관계

미해결

스프링 핵심 원리 - 고급편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 쓰레드 로컬이 가지는 별도의 보관소 개념이 정확하게 이해가 되지 않아 질문을 남깁니다. 1. 쓰레드 로컬이 만드는 별도의 전용 보관소라는 것은 하나의 객체를 생성하여 그곳에 정보값을 저장해 두었다가 해당 쓰레드가 싱글톤으로된 객체의 정보값을 호출할 때마다 참고하게 되는 것인지, 아니면 다른 방식으로 설계된 것인지 궁금합니다. 2. 결국 특정 쓰레드마다 별도의 저장소를 통해 정보값을 보관하게 한다면, 그리고 그 보관하는 것이 객체를 생성하는 방식이라면, 동시성 문제를 발생시키는 싱글톤 대신 프로토타입을 사용하면 되는 것이 아닌가 생각이 드는데 프로토타입이 아닌 쓰레드 로컬로 해결해야하는 이유가 무엇인지 궁금합니다.

  • spring
  • 디자인-패턴
노동준 댓글 2 좋아요 0 조회수 374

깃허브 권한요청

해결됨

[취업폭격기] 공공기관 전산직 취업 치트키 : NCS·전공·PT면접까지 한 번에 뚫는 정규과정

방금 구글폼 작성하였습니다. 권한 승인해주시면 감사하겠습니다. 안녕하세요 취업폭격기 제로미니 입니다. 정규과정을 신청하신분은 Zeromini-lab 권한, Zeromini Git Hub 취업자료 권한 신청 관련하여 디스코드 (제로미니 IT취업 공부방) [ 초대장 ] 을 통해 '취업폭격기 제로미니'에게 다이렉트 메시지를 남겨주시면 내용을 안내해드리도록하겠습니다!

  • 면접
  • 이력서
  • 기술면접
세형 댓글 1 좋아요 1 조회수 361

docker ex -it mariadb /bin/bash

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

docker ex -it mariadb /bin/bash 이후에 mysql 명령어를 치면 mysql: Command not found 에러가 나옵니다,.

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
김윤제 댓글 1 좋아요 0 조회수 339

5분대부터 말씀하신 테스트에 대한 질문

해결됨

스프링 핵심 원리 - 기본편

안녕하세요 영한님. 강의 너무 잘 듣고 있습니다. 다름이 아니라 강의 듣다가 테스트 코드의 중요성을 말씀해주셨는데, 궁금한 점이 있어서요 단위 테스트를 작성하는 것이 좋다 단위 테스트는 스프링이나 DB를 활용하는 것이 아니다 이렇다면, 단위 테스트할 때는 Fake 객체를 사용해서 단위테스트를 작성해야 하는 걸까요? 인터페이스로 역할과 구현이 분리된 상태에서 MemberRepository의 구현체를 프로덕션에서 사용하는 MemoryMemberRepository, 테스트 환경에서 사용할 FakeMemberRepository 로 분리해서 사용하는 걸까? 하는 궁금함이 있어 여쭈어봅니다 항상 좋은 강의 감사합니다!!

  • spring
  • 객체지향
19 댓글 1 좋아요 1 조회수 332

Next와 React-query의 prefetch에 대해

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 ! Next14 버전과 tanstack-qeury를 이용해 프로젝트를 진행하던 도중 궁금한 점이 생겨 질문드립니다. Next의 서버 컴포넌트에서 data를 prefetching 하여 사용하려면 다음과 같은 단계를 밟아야 하는 것으로 알고 있습니다. 1. 서버 컴포넌트에서 queryClient.prefetchQuery를 사용해 데이터를 불러오고 이를 dehydrate하여 HydrationBoundary 내에 state로 넘겨준다. 2. 데이터를 사용하는 컴포넌트에서 useQuery로 동일한 데이터를 불러오면 해당 데이터는 prefetch 된 상태로 넘어와 이를 사용한다. 현재 이를 토대로 아래 예시코드와 같이 작성하여 사용중입니다. 이 때 하위 컴포넌트에서 prefetch한 데이터를 사용하려면 useQuery를 써야하기에, 'use client' 를 사용해야하고, 그렇게 되면 그 하위 컴포넌트도 전부 Client Boundary에 들어오게 되는 것으로 알고있는데, 그럼 "Next를 사용하며 얻을 수 있는 장점이 줄어들지 않나 ?" 라는 의문이 생겼습니다. 제가 사용법을 잘못 알고있다거나 Next의 개념에 대해 부족한걸까요 ? 또, HydrationBoundary로 감싸지 않고 queryClient.getQueryData를 이용해 직접 데이터를 가져와 이를 props로 전달해도 기능은 정상적으로 작동하는데, 이 둘의 차이점이 정확히 무엇인가요 ? // 서버 컴포넌트 import { HydrationBoundary, dehydrate, QueryClient, } from "@tanstack/react-query"; import { QUERY_KEY } from "@/constants"; import { requestGetPushAlarmList } from "@/apis/notification"; import NotificationClient from "./Client"; export default async function Page() { const queryClient = new QueryClient(); await queryClient.prefetchQuery({ queryKey: [QUERY_KEY.PUSH_LIST], queryFn: () => requestGetPushAlarmList({}), }); // const { rows: pushList } = queryClient.getQueryData([ // QUERY_KEY.PUSH_LIST, // ]) as unknown as Rows<PushAlarm>; 예시 2. getQueryData로 데이터에 접근 return ( <HydrationBoundary state={dehydrate(queryClient)}> <NotificationClient /> </HydrationBoundary> // <NotificationList pushList={pushList} /> 예시2. props로 직접 데이터 전달 ); } // 하위 컴포넌트 "use client"; import { useQuery } from "@tanstack/react-query"; import { requestGetPushAlarmList } from "@/apis/notification"; import { QUERY_KEY } from "@/constants"; import NotificationList from "./_components/NotificationList"; import ScreenBox from "@/components/ui/ScreenBox"; import Empty from "@/components/ui/Empty"; export default function NotificationClient() { const { data } = useQuery({ queryKey: [QUERY_KEY.PUSH_LIST], queryFn: () => requestGetPushAlarmList({}), select: (data) => data.rows, }); return ( <> {!data?.length ? ( <ScreenBox.CenterBody> <Empty message="알림이 없습니다." /> </ScreenBox.CenterBody> ) : ( <NotificationList pushList={data} /> )} </> ); }

  • next.js
  • react-query
이자이 댓글 2 좋아요 0 조회수 1629

초중급수준 강의명

미해결

리눅스 입문 - 개념으로 탄탄히!!

입문완강후 강사님의 초중급수준의 강의를 추천해주세요

  • linux
changsm1 댓글 1 좋아요 0 조회수 324

인기 태그

인프런 TOP Writers

주간 인기글