월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 핵심 원리 - 기본편
Test 오류..!
안녕하세요. 테스트 오류가 나서 질문 드립니다 !어디 부분을 수정해야 할지 모르겠습니다 ㅠㅠ package hello.core.order;import hello.core.acnnotation.MainDiscountPolicy;import hello.core.discount.DiscountPolicy;import hello.core.member.Member;import hello.core.member.MemberRepository;import lombok.RequiredArgsConstructor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;@Componentpublic class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository ; private final DiscountPolicy discountPolicy ; @Autowired public OrderServiceImpl(MemberRepository memberRepository, @MainDiscountPolicy DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; }}
- 미해결스프링 핵심 원리 - 기본편
request스코프와 컴포넌트 스캔
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 복습 중 궁금한 점이 생겨서 질문드립니다. 컴포넌트 스캔을 하게 되면 @component annotation이 붙은 객체를 스프링빈으로 등록해주는 것으로 알고 있습니다. 그런데 이 객체가 request 스코프일 경우 request요청이 있어야 스프링 빈으로 등록이 가능하다면 처음 스프링 애플리케이션을 실행할 때 @Component가 붙은 객체를 탐색하면서 @Scope("request")가 붙어있다면 스프링 컨테이너가 이 객체는 스프링빈으로 등록하지 않고 넘어가는 것인지 궁금합니다!
- 미해결스프링 핵심 원리 - 기본편
spring initializr 에서 자바 버전11이 없는데 어찌해야 하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]spring initializr 에는 자바 버전이 21과 17만 있던데요 다른 질문들 댓글 살펴봤더니 스프링부트 3버전으로 하면 17로 해도 된다던 댓글을 봤습니다. 정말 괜찮은건지 아니면 마이그레이션을 해서 부트 2버전대로 해야 하나요?감사합니다.
- 미해결스프링 핵심 원리 - 기본편
옵션 처리
안녕하세요.테스트 진행 중 setNoBean1메서드를 required = false로 처리한 경우 호출되지 않아야 하는데저는 호출 된 상태에서 null값이 나오고 Bean2메서드가 호출되지 않았습니다 ㅠㅠ어떤 게 잘못 된걸까요 ㅜㅜ?
- 해결됨스프링 핵심 원리 - 기본편
중복오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.중복 오류가 떠서 제가 생각할 때는 AutoAppConfig에서도 빈에 올리고 AppConfig에서도 빈에 올리니까 이중으로 올려서 그런 것 같습니다.그래서 중복으로 올리는 @Bean을 지워봤는데 rateDiscount에서도 오류가 뜹니다 코드에 잘못된 부분이 있을까요..? 코드는 아래에 있습니다.https://drive.google.com/file/d/1bkiOBsAqY9TZ0dZnuh6LmQXizHIcJryx/view?usp=sharing
- 미해결스프링 핵심 원리 - 기본편
request 스코프 질문입니다.
1.클라이언트 A가 HTTP request를 Controller에 요청한다.Controller은 request scope에 요청하여 빈 인스턴스가 생성된다.클라이언트가 동일한 HTTP request를 Service에 보내면 기존에 이미 만들어진 A 전용 빈 인스턴스를 사용한다.클라이언트 B가 HTTP request를 요청하면 마찬가지로 B 전용 빈 인스턴스가 만들어지고 위와 동일한 과정을 거친다.로 이해하면 될까요? 2.여기서 message가 하는 기능은 무엇이고, init()과 close() 메소드 내에서 this를 왜 넣어줬는지 궁금합니다. 3.여기서 provider이 왜 해결방법인지 이해가 안갑니다... provider가 DL기능을 하는 거로 아는데, 어차피 이때도 사용자의 요청을 받은 상태가 아니기 때문에 오류가 발생하는거라고 생각했습니다.
- 해결됨스프링 핵심 원리 - 기본편
Annotationconfigapplicationcontext 클래스의 생성자 설명
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]위와 같이 AnnotationConfigApplicationContext 클래스 내부 API를 보면 많은 생성자들이 오버로딩 되어있는데 각각의 생성자 기능이 정확히 어떤 건지 궁금합니다 !특히 그냥 설정 정보 클래스를 하나 지정했을 때와 여러 개의 클래스를 지정했을 때 어떤 차이가 있는지 궁금합니다!
- 미해결스프링 핵심 원리 - 기본편
Provider 오류
스프링 부트 버전이 3.2.0 이라서 다음과 같이 라이브러리를 추가했는데도 Provider이 안뜹니다. 어디가 문제 일까요?
- 미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔에서 @Bean이 붙은 메서드에 관한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강의 보다가 궁금해서 질문드립니다.AutoAppConfigTest파일의 @Bean이 붙은 메서드에서 반환타입이 MemberRepository라면 첨부 파일과같이 (강의와같이) 에러가 발생하는데 반환타입을 MemoryMemberRepository로 하면 문제없이 잘 실행되는것을 확인헀습니다. Bean의 이름을 memoryMemberRepository로 해놓았으므로 반환타입에 관계없이 에러가 나올줄 알았는데 왜 정상실행되는지 알려주셨으면 감사하겠습니다.
- 해결됨스프링 핵심 원리 - 기본편
싱글톤과 프로토타입 빈 사용 시 질문입니다.
여기서 count가 1이 아닌 2가 되는 이유가,싱글톤이 생성되고 의존 관계가 주입되는데, 이때 프로토타입 빈을 요청한다. 이때 프로토타입 빈이 싱글톤에 전달되고 이 프로토타입 빈은 clientBean 안에 종료 시 까지 유지된다.사용자 A, 사용자 B가 받는 clientBean은 싱글톤이기 때문에 같다.clientBean이 다시 생성되면서 스프링 컨테이너에 프로토타입 빈을 받은게 아니라, 기존 의존관계 주입 시 받은 프로토타입 빈이 그대로 남아있기 때문에 count값이 유지된다. 만약 클라이언트 요청 시마다 clientBean을 재생성한다면 값이 1이 될 것이다.이렇게 이해해도 될까요?
- 미해결스프링 핵심 원리 - 기본편
학습 순서 및 방법에 대해 질문있습니다.
이해가 되지 않아도 일단 먼저 듣고 복습을 하는 방식으로 학습을 하고 있습니다. 1.강의 들으며 손코딩 및 필기(이해 안돼도 진도빼는 위주로)2.(강의 전체 한바퀴 돈 후)강의자료 보며 복습3.혼자 해보다가 막히면 강의자료 참고 이런 식으로 학습중인데영한님께서 올려주신 최신 로드맵 영상에서 '실전! 스프링 부트와 JPA 활용 1' 은 복습할 것을 권장해주셨는데문제는 그냥 순서대로 들으라고 하신 강의도1,2 단계까지 해도 이해가 안돼서 3까지 하고있는 중입니다.. 지금처럼 진도 나가는 것이 더디더라도 한 강의(각 챕터 말고 통째로 하나의 강의)를 제대로 이해하고 다음 강의로 넘어가는 식으로 해야할지아니면 이해가 되지 않아도 로드맵의 진도 나가는 것을 우선으로 하는 것이 좋을지 고민입니다
- 미해결스프링 핵심 원리 - 기본편
학습 방법에 관해서 질문드립니다.
영한님 커리큘럼을 타고 있는데 효율적인 학습 방법이 있을까요? 현재 공부하고 있는 방법은 강의를 듣고 난 후 자료를 보면서 복습하고, 모르는 것이 있으면 질문하고 있습니다.강의를 듣거나 복습하는 과정에서 이해는 되는데, 안보고 코드를 치면서 구현을 한다고 하면 못할거 같다는 생각이 들더라고요. 영한님이 설명해주시는 강의 흐름은 이해가 되는데, 회원, 서비스, 주문 도메인 구현 과정이나 그 안에 어떤 메소드를 만들어야 하는지, 또 어떤 자료형을 사용할지에 대한 실력이 많이 부족한거 같습니다. 이 부분들은 강의를 복습한다고 해서 실력이 늘거같지도 않고, 시간이 많이 소요될거 같아서요. 혼자 프로젝트를 진행하면서 많이 써보면 되지 않을까 싶긴한데 이제 기본강의를 듣는 입장이라.. 아직은 부족해보입니다. 어떤식으로 공부하는게 좋을지 조언을 주셨으면 좋겠습니다. 추가로, 혼자 프로젝트를 하기 위해서는 로드맵 어느 강의까지 봐야 할까요? 현재 가지고 있는 지식은 자바 기초문법+스프링 입문+ 스프링 기초강의1 입니다.
- 미해결스프링 핵심 원리 - 기본편
회원 도메인 설계에서 회원 도메인 협력 협력관계에서 클라이언트에 관해 질문있습니다.
MemberRepositoy가 회원저장소, MemberService가 회원서비스의 역할인 것은 알겠습니다. 그렇다면 클라이언트는 MemberApp OrderApp같은 Application인가요? 아니면 CoreApplication 인가요? 어떤것이 클라이언트를 의미하는지 잘 모르겠습니다.
- 미해결스프링 핵심 원리 - 기본편
회원 도메인 설계 질문
회원 도메인 설계 과정에서 질문 있습니다.회원 서비스 , 회원 저장소 객체로 나눈 이유가 궁금합니다. 각 기능별로 구분하기 위해 이렇게 구현한것인가요?클라이언트가 의미하는 것은 사용자가 보내는 요청이랑 같다고 생각해도 될까요?위 그림에서 회원서비스, 회원 저장소 인터페이스는 있는데 클라이언트 인터페이스가 없는 이유가 궁금합니다.
- 미해결스프링 핵심 원리 - 기본편
싱글톤 컨테이너 @Configuration과 싱글톤
안녕하세요.수업들으며 똑같이 실습 따라하다가 값이 똑같아야 하는데 저는 다르게 나와서요,,!분명 어딘가 문제가 있어서 그럴 것 같은데... 어느 부분이 잘못 됐을까요?ㅜㅜ?혹시 몰라서 아래에 OrderServiceImpl과 MemberServiceImpl 코드도 추가해 봅니다..스크린샷으로 하면 짤려서요..ㅜㅜ package hello.core.order;import hello.core.discount.DiscountPolicy;import hello.core.member.Member;import hello.core.member.MemberRepository;public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository ; private final DiscountPolicy discountPolicy ; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; }} package hello.core.member;public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; }}
- 미해결스프링 핵심 원리 - 기본편
Configuration질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]컴포넌스 스캔을 사용하면 클래스 내의 메소드에 빈을 하나하나 등록할 필요없이 컴포넌스만 붙이면 알아서 빈에 등록하는 것으로 이해했습니다. 그런데 강의 내용 중 컨피그레이션을 사용하는 경우 내부적으로 컴포넌트가 붙여져 있음을 알려주셨는데요. 그럼 컨피그레이션을 붙이면 빈을 일일히 등록해줄 필요가 없어지는 거 아닌가요?? 맞다면 이 경우 컴포넌트를 사용하는 것과 컴피그레이션을 사용하는 것의 유의미한 차이가 무엇인지 궁금합니다.
- 해결됨스프링 핵심 원리 - 기본편
웹 스코프에서 Provider 사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 Provider에 대해 이해한게 맞는지 궁굼해서 질문 드립니다. 강의는 9강 스코프와 Provider입니다!먼저 Error creating bean with name 'myLogger': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton;이 오류가 일어나는 이유가 스프링 컨테이너에서 request 스코프 빈에 대한 의존관계를 주입하려고 하는데, 아직 클라이언트가 요청을 하지 않아서 리퀘스트 스코프 빈이 생성되지 않아서 오류가난다라고 이해했습니다1번이 맞다면..Provider을 사용하는 이유가, Request 스코프 빈이 의존관계 주입 시점에 호출이 안되서 오류가 났었는데, 클라이언트가 요청한 시점에 getObject나 get 메서드를 이용해서 request 스코프 빈을 생성하고 반환하는 DL기능을 써서, 의존관계가 잘 주입되게 해준다라고 이해했습니다질문은 총 두 개 입니다.
- 해결됨스프링 핵심 원리 - 기본편
스코프와 Provider 강의에서 질문합니다.
안녕하세요. 선생님 영상을 보면서 라이브 코딩하면서 오류가 발생할때 저는 오류가 발생을 안하고오류가 발생하면 안되는 곳에서는 발생해서 질문남깁니다.package web; import hello.core.common.MyLogger; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } } package web; import hello.core.common.MyLogger; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerProvider; public void logic(String id) { MyLogger myLogger = myLoggerProvider.getObject(); myLogger.log("service id = " + id); } } 18:48:19.302 [main] INFO hello.core.CoreApplication -- Starting CoreApplication using Java 17.0.8.1 with PID 1715 (/Users/kssk3-/Desktop/study/core/build/classes/java/main started by kssk3- in /Users/kssk3-/Desktop/study/core) 18:48:19.303 [main] INFO hello.core.CoreApplication -- No active profile set, falling back to 1 default profile: "default" 18:48:19.661 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -- Tomcat initialized with port 8080 (http) 18:48:19.665 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Initializing ProtocolHandler ["http-nio-8080"] 18:48:19.665 [main] INFO o.a.catalina.core.StandardService -- Starting service [Tomcat] 18:48:19.665 [main] INFO o.a.catalina.core.StandardEngine -- Starting Servlet engine: [Apache Tomcat/10.1.16] 18:48:19.683 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] -- Initializing Spring embedded WebApplicationContext 18:48:19.684 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -- Root WebApplicationContext: initialization completed in 363 ms call AppConfig.memberRepository call AppConfig.memberService call AppConfig.orderService 18:48:19.817 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Starting ProtocolHandler ["http-nio-8080"] 18:48:19.825 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -- Tomcat started on port 8080 (http) with context path '' 18:48:19.829 [main] INFO hello.core.CoreApplication -- Started CoreApplication in 0.642 seconds (process running for 1.077)영상초반에 Provider 적용후 강의에서는 local 사이트 화면에서는 OK로 변경된 화면이 나오지만저의 사이트에서는 여전히 오류가 발생하고 있어서 문의드립니다.추가로 인텔리제이 종료후 재시작해서 CoreApplication를 작동해보았는데 추가적인 오류가 나왔습니다. 18:59:26.308 [main] INFO o.a.coyote.http11.Http11NioProtocol -- Starting ProtocolHandler ["http-nio-8080"] 18:59:26.310 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' 18:59:26.317 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger -- Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 18:59:26.325 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter -- *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. Process finished with exit code 1
- 해결됨스프링 핵심 원리 - 기본편
스프링 빈 조회 - 상속 관계 질문있습니다.
안녕하세요!강의에서 부모 타입으로 조회하면, 자식 타입도 함께 조회가 되기 때문에이럴 때, ac.getBean(DiscountPolicy.class) 로 조회하면, 위의 두 개가 조회된다고 설명해주셨는데요.그렇다면, 각각 RateDiscountPolicy와 FixDiscountPolicy 클래스는 DiscountPolicy에 자식 클래스로 보아도 되는 건가요?java에 완전히 익숙하진 않아서 일반적으로 상속한다는 것이 인터페이스의 구현에도 적용할 수 있는 개념인가 해서요..!인터페이스를 implements해서 구현하는 것도 상속하는 것이고, 그래서 부모 자식간의 관계가 성립하는 것으로 보면 될까요??또 질문은 현재 위의 config만 보면, bean으로 올라간 객체는 RateDiscountPolicy와 FixDiscountPolicy밖에 없는거죠?? DiscountPolicy 인터페이스 자체는 빈으로 등록되지 않는건가요..?원래 부모타입으로 조회하였을 때 자기 자신과 자식 타입들이 조회된다고 해서.. 3이라고 생각했는데,여기서는 빈으로 등록된 객체가 RateDiscountPolicy와 FixDiscountPolicy로 2개니까 해서요..그리고 이건 따로 궁금한 점인데, 인터페이스는 원래 빈으로 등록이 안되나요..??질문이 번잡스러워서 죄송합니다..ㅜㅜ
- 미해결스프링 핵심 원리 - 기본편
이런 설계에 대한 공부는 어떻게 해야 할까요...
강의에서 주문, 회원.... createrOdrer 하셔서 머리속에 있는 개발을 코드로 타타타탁 굉장히 쉽게 구현하시는것 같은데강의 보며 따라 치면 아 그렇구나 이해는 되지만막상 제가 뭘 개발하고자 하니 어떤 필드가 필요하고 어떤 매게변수가 필요하고... 감이 전혀 잡히질 않습니다. SI에서 개발자로 일을 하고 있는데 VO개발 방식이 아닌 Map으로 진행중이라 객체의 필드값이 아닌 ,화면에서 필요로 하는 값을 주고 받으니 점점 개발과 설계에 대해 자신감도 잃어가고 있습니다...