강사님 오늘도 안녕하세요! 실습중에 질문이 있어 글을 남깁니다. 우선 강사님께서 하시는 것을 따라해보기 위하여, 위에서와 같이 코드를 구성하였습니다. 그런데 링크를 클릭 했을때 주소는 변경이 되었지만 화면이 변경되지 않았습니다. 그래서 새로고침을 눌러보니 그때서야 화면이 변경이 되었는데 어떤 이유 때문이 이렇게 되는것인지를 잘 모르겠습니다.
*************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/choewonjun/IdeaProjects/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] Action: Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed 위와 같이 에러가 발생합니다. 아마도 싱글톤이 하나가 아니라 두개가 정의되어있다는것 같은데 아무리 찾아도 왜 두개가 등록 되어 있는지 모르겠어요 ㅠㅠ MemberServiceImpl package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService{ // private final MemberReposiroty memberReposiroty = new MemoryMemberRepository(); 이것은 마치 배우가 직접 담당 배역을 설정 private final MemberReposiroty memberReposiroty; @Autowired public MemberServiceImpl(MemberReposiroty memberReposiroty) { System.out.println("memberReposiroty = " + memberReposiroty); System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); this.memberReposiroty = memberReposiroty; } @Override public void join(Member member) { memberReposiroty.save(member); } @Override public Member findMember(Long memberId) { return memberReposiroty.findbyID(memberId); } // 테스트 용도 public MemberReposiroty getMemberReposiroty(){ return memberReposiroty; } } MemoryMemberRespository package hello.core.member; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Component public class MemoryMemberRepository implements MemberReposiroty { private static Map<Long, Member> store = new HashMap<>(); @Override public void save(Member member) { store.put(member.getId(), member); } @Override public Member findbyID(Long memberID) { return store.get(memberID); } } AutoAppConfig package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan( // 스캔해서 빈에 자동 등록 // basePackages = "hello.core.member", excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { } AppConfig package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FIxDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.*; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberReposiroty memberRepository() { System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository() , discountPolicy()); } @Bean public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } }
drawer 첫번째 파트에서 실행하면 reanimated관련 오류가 나와서 설치해주고 해결하면 다음 아래와 같은 문제가 나옵니다. 어떻게 해결해야할까요ㅜ error: src\home_drawer.js: [BABEL] C:\Users\wjsgu\Drawer\src\home_drawer.js: Unknown option: .pre. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig. class, DiscountService. class ) ; AnnotationConfigApplicationContext안에 넣는 class에 대해 궁금합니다. 예를들어 appConfig.class 같은경우 @Configuration 등의 어노테이션이 들어가는데 임의로 만든 DiscountService.class는 @Configuration 어노테이션이 없어도 빈 객체로서 동작할 수 있는건가요? 결론적으로는 당연히 동작하는 것인데 그 이유는 무엇인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 매번 좋은 강의 감사드립니다. 강의를 듣다가 안전 속성에 대한 의문점이 생겨서 질문 남깁니다. 메소드가 안전한지 아닌지 자체가 무엇을 위해 제시된 속성인지 잘 모르겠습니다. 멱등과 캐시가능한 속성은 그 특성과 필요성을 잘 알겠습니다. 그러나 안전이라는 속성은 조금 이해가 가지않는것이 있는데, 강의에서는 안전하면 좋은것이다 아니다를 따지는 것이 아닌것같아서요! 안전하지 않다고해서 POST 를 안쓸수도 없고.. 개발 과정에서 메소드의 안전성을 고려해야하는 사례가 있나요?? 그냥 리소스를 건드리지않는 GET은 안전, 나머지는 리소스를 건드리기때문에 안전하지 못하다 로 "굳이" 나눈 목적이 궁금합니다. 제가 검색한바로는 안전한 메서드의 목적은 서버에 어떤 영향을 줄 수 있는 안전 하지 않은 메서드가 사용될 때 사용자들에게 그 사실을 알려줄 수 있도록 하는 것 이라고 하더라구요 이 설명 중에서도 "사용자들에게 그 사실을 알려줄 수 있도록 한다"는 것도 어떤 알림을 주는지 잘 와닿지가 않아서 아예 여기다가 질문을 남기게 되었습니다. 늘 좋은 강의 감사합니다!
1분 54초 쯤에 프론트 서버(3060)와 노드 서버(3065)의 도메인이 달라 쿠키가 전달이 안된다고 설명하시고 계시는데 서버에서 서버로는 쿠키 문제 없이 전달된다고 하시지 않았나 싶어서 여쭤봐요! 지금 문제는 이후에 설명하시는 '프론트 서버는 브라우저처럼 쿠키를 자동으로 담아서 보내지 않기 때문에 발생하는 문제' 아닌가요?
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
제가 지금 회사에서 유니티로 제작한 VR프로젝트 소스를 분석해야하는데요 기존에 C++조금이랑 언리얼블루프린트를 학습한 상태입니다. 지금 유니티에디터와 C#의 기초적인 문법은 학습한 상태인데요 다른 분이 작업한 C#스크립트가 복잡해서 에디터 상에서 메커니즘이 어떻게 흐르는지 감이 안잡힙니다. 어떤 수업을 들어야할까요?? 답변 어려우실까요??
엔티티 클래스 개발2 수업까지 코드를 작성하고 7:00에 h2데이터베이스를 만드는과정에서 에러가 발생하였는데 구글링을 해도 해결이 안되어서 도움을 구하고자 글남깁니다 에러: Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: java.util.List, at table: orders, for columns: [org.hibernate.mapping.Column(order_items)] Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, at table: orders, for columns: [org.hibernate.mapping.Column(order_items)] Execution failed for task ':TownApplication.main()'. > Process 'command 'C:/Program Files/Java/jdk-17.0.2/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. order 코드: import lombok. Getter ; import lombok. Setter ; import javax.persistence.* ; import java.time.LocalDateTime ; import java.util.ArrayList ; import java.util.List ; @Entity @Table (name= "orders" ) @Getter @Setter public class Order { @Id @GeneratedValue @Column (name= "order_id" ) private Long id ; @ManyToOne @JoinColumn (name= "member_id" ) private Member member ; private List<OrderItem> orderItems = new ArrayList<>() ; @OneToOne @JoinColumn (name= "delivery_id" ) private Delivery delivery ; private LocalDateTime orderDate ; // 주문시간 @Enumerated (EnumType. STRING ) private OrderStatus status ; // 주문상태
안녕하세요 제로초님의 react 관련 강의들을 수강 중에 강의 내용과 조금 무관하지만 궁금한 점이 있어 질문 드립니다! client 단과 server단의 코드들을 각각 실행시키는 것에 대해 궁금점이 있는데요, 예를들어 client를 react cra로 환경을 구성하고, server를 node js express 로 구성한다고 가정할 경우 제로초님 강의도 그렇고 보통 client와 server 각각 다른 포트로 서버를 실행시켜 진행을 하시던데요, 이 방법은 개발 단계(배포 이전)에서 편의를 위해 사용하시는 건가요? 만약 배포 과정이라면 client 코드를 빌드시켜 server 측에서 해당 index.html 파일을 참조하는 방식으로 로드를 하는건가요? 제가 강의의 배포 과정들을 다 면밀히 보진 않아서... 실제 현업에서 개발을 진행할 경우 보통 실행을 어떤 식으로 하시는지 궁금해서 질문 드려봅니다!
Express로 코딩을 하다 Nest를 써보고 싶어서 해당 강의를 수강중입니다. Express를 사용할 때는 JWT를 Cookie에 저장하여 매 요청때마다 인증하는 방식을 사용했었는데요. 본 예제에서는 JWT를 HTTP Header의 Authorization에 표함시켜 요청을 보내는 것 같은데, 그럼 JWT를 어디에 저장했는지 궁금합니다.
안녕하세요. 제로초님. 기 구축된 MySQL DBMS 스키마로부터 Sequelize model, 즉 js 소스 형태의 table model들을 생성하는 방법이 있습니까? 아니면, 기능 호환성을 100% 맞추기 어렵기 때문에, 사실상 수동으로 한땀 한땀 model 코딩을 해야 할까요? 이것은 아마도 legacy 시스템에서 db는 그대로 두고 프로그램 부분을 ORM 활용하는 것으로 재작업하는 프로젝트에서 요구되는 사항일 것 같습니다. 감사합니다.