안녕하세요~ 좋은 강의 너무 잘 듣고 있습니다. 다 이해하진 못한 상태라 기본적인 질문이어도 이해해주시길 바랍니다. 처음 과정 중에 hive로 데이터를 불러와서 local에 저장 후 이를 다시 hdfs 에 넣는 hive->local->hdfs 부분에 대해 궁금합니다. hive -> hdfs로 넣으면 문제가 있나요?? local에 만든 후 다시 hdfs로 넣는 과정이 어째서 필요한지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 선생님, 수업 재밌게 듣고 있습니다. MemberController를 보면 클래스 내부 메서드의 이름을 짓는 규칙이 따로 없는 것 같아서, 다음과 같이 두 개의 질문을 드립니다: 1/ MemberController의 경우 메서드 이름이 createForm, create 등으로 돼 있는데, 이 메서드명은 개발자가 마음대로 정해도 상관이 없는 것이 맞나요? 2/ 스프링 프로젝트 내에서 다른 클래스나 프로젝트 파일이 이 메서드들을 활용하는 경우가 나중에 발생하나요? 감사합니다.
선생님 아래 코드에서 modelmapper 를 활용해주셨는데 혹시 html에서 name ? 속성으로 넘어오는 값들에 대해서 dto의 필드 이름과 매치하면 자동으로 account 에 매칭되고 그냥 mapper 를 쓸 필요없이 아래문장만 있으면 될거같은데 굳이 mapper 를 통해서 account 객체를 빼준 이유가 있을까요? account.setPassword( passwordEncoder .encode(account.getPassword())) ;
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님. 좋은 강의 정말 잘 들었습니다. 저는 개인 프로젝트를 하기 위해 이 강의를 수강했는데요. 강사님이 강의에서 쇼핑몰을 예시로 들어 언급하신 것 처럼, 구글이나 카카오 로그인에서 제공해주는 정보 이외에도 휴대폰번호나 주소와 같은 옵션도 회원가입 시 받아오고 싶은데요. 이러한 경우에는 어떻게 해야하나 싶어 질문 남겨봅니다! api 를 따로 사용해야 할까요?
안녕하세요. 학습내용을 복습하던중 질문이 있습니다. <p>DelegatingFilterProxy</p> 와 <p>FilterChainProxy</p> 의 요청 처리 흐름을 <p>DispatcherServlet</p>을 포함하여 설명하는 그림에서 질문이 있습니다. <p>FilterChainProxy</p>가 직접 <p>DispatcherServlet</p>에 요청을 하는 것이 맞나요? 제 생각에는 첨부한 그림과 같은 실행 순서가 되야 할 것 같습니다. <p>FilterChainProxy</p>가 인증 인가 처리를 마친 후 직접 <p>DispatcherServlet</p>에 요청을 날리게 되면 <p>Servlet Container</p>의 필터 Filter 체인 실행에 문제가 있을 것 같습니다.
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요. - 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요! - 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요. - 논리적이고 구체적인 질문은 학습 효과를 올립니다 :) 제가 app.js 파일을 만들고 console.log("hello world"); 라고 입력한뒤 터미널에 node app.js라고 입력하여 hello world출력을 확인하였습니다. 그후에 nodemon app.js를 실행하여 실시간으로 바뀌는걸 확인하려고 했더니 아무리 바꿔도 변함을 표현하지 않습니다 또한 코드를 수정한뒤에 다시 node app.js를 실행하여도 바뀌기전 결과만 계속 나올뿐 바뀐 결과를 출력하지 않습니다.
언젠가부터 대부분 기업들이 리액트, 뷰 같은 프론트엔드 프레임워크를 이용하면서 백엔드는 대부분 rest api 기반의 json을 던져주는 코드를 주로 만드는걸로 알고있는데요! 현재 강의에서 보여주는 템플릿 엔진을 이용한 타임리프 같은 서버사이드에서 html을 처리하는 것들을 아직도 많이 사용하는지 궁금합니다.
강의를 수강 중 '모듈'이라는 단어가 나와서 정의를 좀 찾아봤는데요. 정의가 와닿지 않아서 어떻게 해석해야 할지 궁금합니다. 일반적인 애플리케이션에서 하나의 클래스도 모듈이 될 수 있는 건가요? 모듈을 정하는 기준이 궁금합니다. https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)#cite_note-1
안녕하세요.! 원래 강의대로라면 memberRepository 인스턴스는 모두 같은 인스턴스가 공유되어 사용되기때문에 아래 테스트 코드가 오류가 나지 않아야하는데, 아래와 같이 인스턴스가 스프링빈에 의해서 공유되지 않고, 하나하나 각각 따로 인스턴스가 설정된 것으로 보입니다. 왜이러는걸까요,,?? -> 오류내용 ConfigurationSingleTonTest.java코드 package hello.core.singleton; import hello.core.AppConfig; import hello.core.member.MemberRepository; import hello.core.member.MemberServiceImpl; import hello.core.order.OrderServiceImpl; import org.junit.jupiter.api. Test ; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.assertj.core.api.Assertions.*; public class ConfigurationSingletonTest { @Test void configurationTest() { ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig. class ); MemberServiceImpl memberService = ac.getBean( "memberService" , MemberServiceImpl. class ); OrderServiceImpl orderService = ac.getBean( "orderService" , OrderServiceImpl. class ); MemberRepository memberRepository = ac.getBean( "memberRepository" , MemberRepository. class ); // 모두 같은 인스턴스를 참고하고 있다 . System. out .println( "memberService -> memberRepository = " + memberService.getMemberRepository()); System. out .println( "orderService -> memberRepository = " + orderService.getMemberRepository()); System. out .println( "memberRepository = " + memberRepository); // 모두 같은 인스턴스를 참고하고 있다 . assertThat (memberService.getMemberRepository()).isSameAs(memberRepository); assertThat (orderService.getMemberRepository()).isSameAs(memberRepository); } } OrderServiceImple내용 package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; 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 // 주문을 만드는 class public Order createOrder(Long memberId, String itemName, int itemPrice) { // 맴버를 찾고 Member member = memberRepository .findById(memberId); // 맴버를 넘기고 (discount 얼마나 해야하는지 ) // 단일 체계 원칙을 잘 지킨것이다 . // 할인쪽은 order 에서 관여하지 않고 , 걍 discount class 를 이용하여 할인값을 반환만 받음 // 할인쪽에 문제가 생기면 할인쪽만 고치며 돼서 유지보수 쉽다 . ( 주문까지 고칠 필요는 없다 ) int discountPrice = discountPolicy .discount(member,itemPrice); // public Order(Long memberId, String itemName, int itemPrice, int discountPrice) return new Order(memberId, itemName, itemPrice, discountPrice); } // 테스트용도 public MemberRepository getMemberRepository() { return memberRepository ; } } MemberServiceImpl내용 package hello.core.member; //memberService 의 구현체이다 . public class MemberServiceImpl implements MemberService{ // 추상화에만 의존한다 private final MemberRepository memberRepository ; // 생성자를 통해서 , Repository 객체 주입 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 ; } } App.config내용 package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation. Bean ; public class AppConfig { // 단축키 : ctrl + alt + m : 중복제거 @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl( memberRepository(), discountPolicy()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { // 여기만 바꾸면 객체들 가다 갈아끼울 수 있다 . // 단축키 ctrl + R : 이전에 실행했던거 실행해준다 . return new RateDiscountPolicy(); } } 이해가 가지않습니다..ㅠㅠ
Circular Queue도 마찬가지로 크기가 꽉 차면 리사이즈가 일어난다고 하셨는데 더블링 리사이즈가 일어났을 때 배열이 두배로 커지고 다시 앞부분이 1부터 들어가게 되는 건가요? 아니면 8분19초 상황에서 11 12 13 4 5 6 7 8 9 10 14 15 16 이렇게 들어가는 건가요?
비전공자로서 데이터 분석 공부하는데 가장 많은 도움을 받고있는 강의입니다 항상 감사드립니다 :) 요즘 통계분석에 관심이 많이가서 공부하고 있는데 문득 선생님께서 통계분석을 파이썬 코드로 구현하는 강의면 재밌을거 같다는 생각이 들었습니다..! 혹시 추후에 이런 계획이 있으신지해서 글올립니다..!
npm run dev 했는데 [webpack-cli] Failed to load 'C:\Users\사용자명\Downloads\NFTest\프로젝트명\webpack.config.js' config [webpack-cli] Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema. - options[0] has an unknown property 'to'. These properties are valid: object { patterns, options? } 이렇게 나오는데 어떤게 잘못 됐는지 알 수 있을까요? 구글링해서 봤는데 다 안돼서요... 버전은 다른 분들이랑 비슷하게 했는데 안되네요...