묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 빌드 실행에 오류가 뜨는데 왜인지 모르겠네요
노트북 바꾸면서 자바버전이랑 스프링부트버전 맞췄는데실행이 안되는데 이유를 모르겠어요
-
미해결스프링 핵심 원리 - 고급편
추상클래스 autowired 및 빈 등록 관하여 질문이 있습니다.
강의해주신 소스코드에서, 추상클래스에 @Component와 멤버변수에 @Autowired를 붙이지 않는 모습을 보여주셨습니다. 이와 관련해서 여러 실험을 해보다보니 궁금한 점이 생겼습니다. 궁금한 점은,추상 클래스에 @Component를 붙여도 왜 정상작동하는 지 모르겠습니다. -> 추상 클래스는 객체 생성이 불가능한 것으로 알고 있는데, 어떻게 빈에 등록되는 건가요?(제네릭이라 빈컨테이너에서 가져오는 것도 쉽지 않네요..)위의 코드에서 @Autowired를 붙이고, 생성자를 지웠습니다.이미 빈에 등록된 LogTrace를 꺼내서 사용하고자 하는데 왜 null이 반환되어 널포인터예외가 발생합니다. 이는 왜 불가능한 것인가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSON응답에서 406메세지 에러때문에 잠오지않습니다
안녕하십니까 혼자 실습하는 중에 궁금한 점이 생겨 질문드립니다.강의에서 @ResponseBody는 객체를 받아서 HTTP 메시지 컨버터를 통해 JSON 응답을 하는 것으로 배웠습니다.postman 에서 api test 을 한 스샷입니다 그리고 디스패쳐 url-mapping을 *.h로 했습니다그리고 spring 소스와 설정내용이 아래와같습니다추가적으로 디스패쳐 url-pattern을 /* 으로 변경해서 api test을 하면url 확장자를 다르게 써서 하면 json 응답데이타를 받습니다 확장자 .h 뿐만아니라 .hh로 끝나는 url도 위와같이 406에러가납니다 왜 그런지 도무지 감이 안옵니다답변 부탁드립니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
beans or enabling overriding 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Description:The bean 'memberService', defined in class path resource [hello/hellospring/SpringConfig.class], could not be registered. A bean with that name has already been defined in file [/Users/ibyeonghyeon/Desktop/hello-spring/out/production/classes/hello/hellospring/service/MemberService.class] and overriding is disabled.Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=trueProcess finished with exit code 1 라는 오류가 떠서 질문합니다. https://drive.google.com/file/d/1yP63K-1RJCMACh77TsbKa53Q1BHYov1P/view?usp=sharing
-
해결됨스프링 부트 - 핵심 원리와 활용
오타 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.강의자료 9. 마이크로미터, 프로메테우스, 그라파나.pdf마이크로미터라(Micrometer)는 -> 마이크로미터(Micrometer)라는
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
런이 안 끝나고 멈추면 에러 표시가 나요
뭐가 문제인가요?Execution failed for task ':HelloSpringApplication.main()'.> Build cancelled while executing task ':HelloSpringApplication.main()'
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
FieldError에 관해서 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 v1에서는 "itemPrice" 라고 key값을 입력했었는데 잘 작동이 되었습니다하지만 v2에서 FieldError의 field값에 itemPrice라고 적고 나중에 꺼내서 쓸려고 하니 "Cannot resolve 'itemprice'" 라는 오류 메시지를 확인했습니다. FieldError는 무조건 검증하고자 하는 객체의 필드의 이름과 같은 값이 들어가야 하는 건가요??
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
Facade 클래스에대 설명이 부족해요 ㅠㅠ
안녕하세요섹션 3. Database 이용해보기 - Optimistic Lock 활용해보기 강좌에 질문이 있습니다.Facade 클래스에서 버전이 달라 업데이트 실패한 경우에 재시도를 한다는건 이해했습니다.그런데 왜 재시도를 퍼사드 클래스를 따로 만들어서 수행하는지 궁금합니다
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Access Denied for user ‘root’@’localhost’ (using password: YES)
몇시간동안 삽질해보고 여기 질문글도 뒤져봤는데 답이 없어서 결국 질문 드립니다 😂현재 진행 상황:✔️ 환경 세팅 완료✔️ 재고 감소 테스트 코드 작성전체 애플리케이션을 실행 시키는데, Access Denied for user ‘root’@’localhost’ (using password: YES) 이런 에러가 뜨길래, MySQL 쪽을 계쏙 건드려보았습니다. 그래도 똑같더라고요 ,,제가 시도한 방법들 입니다:https://legend-danger-266.notion.site/Access-Denied-for-user-root-localhost-using-password-YES-e0f3cdec520843ed9767d7fec583b9b1혹시 원하시면 소스 압축해서 보내 드리겠습니다 ,, 🥲 도커 쪽 문제인지 어디인지 모르겠네요 도커 실행시키던 끄던 똑같은 에러가 발생하더라고요
-
해결됨스프링 핵심 원리 - 기본편
프로세스흐름도를 그릴때 보통 어떤프로그램을 많이 사용하나요? 대ㅐ중화된 프로그램이 있을까요? 아니면 그냥 PPT 를 활용해서 캡쳐해서 사용하는식인가요? 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) Y2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 모름3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) Y[질문 내용]안녕하세요. 강의를 듣고 있는 학 직장인입니다. 20초에 나오는 설계 그림중 프로세스 흐름도를 그리신 자료가 있는데요. 개발자들이 보통 구조도나 프로세스흐름도를 그릴때 사용하는 프로그램이 어떤 프로그램을 많이 사용하는지 궁금합니다. (대중적인게있는지요.)질문자체가 좀 뜬구름 잡는 질문일 수 있지만 순수하게 궁금하여 물어보는 점 양해부탁드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. th:errors= "*{itemName}"에서 itemName은 obeject의 item.itemName이랑 전혀 상관없는 그냥 bindingresult에 있는 필드 itemName의 값인건가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
서비스 계층의 테스트 범위에 대해서
//CommunityCommandService.java public void updateCommunity(Long communityId, String description, List<String> newTags) { Community community = communityRepository.findCommunityById(communityId); community.updateCommunity(description, newTags); }만약, 이런 코드가 있다고 하면Service는 데이터를 받고 Community 클래스에게 실제 데이터 변경을 위임합니다. //Community.java public void updateCommunity(String description, List<String> tags) { this.description = new Description(description); this.hashtags.updateTags(tags, this); } Service 클래스를 테스트할 때상태검증으로 테스트한다면,//CommunityCommandService.java @Test void 상태검증_테스트() { community = new Community("dummy Intro", List.of("dummy tag")); given(communityRepository.findById(any)).willReturn(community); communityCommandService.updateCommunity("new intro", List.of("new tag")); assertThat(community.getIntroduce).isEqualTo("new intro"); assertThat(community.getTags).containsExactly("new tag"); }이렇게 테스트하게 됩니다.사실 데이터의 변경 자체는 CommunityTest에서 테스트 하였습니다.//CommunityTest.java @Test void updateCommunity() { final Community community = TestCommunity.builder().build(); community.updateCommunity("커뮤니티 소개란 입니다.", List.of("태그1", "태그2")); assertThat(community.getHashtags()).extracting("tag").containsExactly("태그1", "태그2"); assertThat(community.getDescription()).isEqualTo("커뮤니티 소개란 입니다."); } 이렇게 되면 CommunityCommandService에서 내부 Community.updateCommunity를 중복적으로 검증하는게 아닌지 생각이 듭니다.객체지향 관점에서, Service는 Community에게 위임하여 상태를 변경시킵니다.실제 내부에 어떠한 변화가 발생했는지에 집중하는게 아니라, 객체에게 위임했는지 여부에 좀 더 초점을 맞춰야하는 걸까요? (verify를 통해서) 질문저는 사실 상태검증을 더 좋아합니다. 상태검증을 사용한다면 위와 같은 중복검증이 발생하게 되는걸까요? 객체지향의 관점에서 보면 사실 verify를 통해서 호출여부를 판단하는게 더 좋아보입니다. 다만, 상태검증을 위해서라면 위와 같이 중복적으로 검증하는 것을 피할 수 없는건가요?강사님의 경우, 상태검증을 할 때 위와같이 Community 로직을 다른 곳에서 테스트하였다고 해도, Service에서 다시 테스트하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
webconfig의 구조에 대한 질문이 있습니다.
현재 WebConfig는 필터나 인터셉트를 등록하기 위한 webconfig를 만드셨는데만약 repository나 service 구현체들이 나뉠때 구현체들을 bean등록(?)할때 쓰던 WebConfig가 필요하다면필터나 인터셉트를 등록하는 webconfig와repository나 service 구현체를 bean등록(?)하는 webconfig를 구분하는게 좋을까요? 그냥 하나로 합치는게 좋을까요??역할이 다르니 구분하는게 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
단일책임 원칙에 대해 질문이 있습니다.
요청과 응답에 대한 DTO클래스를 생성할때 이너클래스를 사용해도 될까요?@Getter @Setter @NoArgsConstructor public class Member { @Getter public static class Request { private String name; } @Getter public static class Response { private Long id; private String name; } }이런식으로 하나의 클래스안에 두개의 책임을 가지게 되면 SRP에 위배되는 거니까 요청과 응답에 대한 DTO를 모두 만들어 두는게 더 좋은걸까요? 그렇게 하면 DTO클래스들이 너무 늘어날까봐 좋지 않을것 같고..질문을 요약하자면 DTO를 많이 생성하더라고 SRP를 지키는게 좋은 선택일까요?
-
해결됨Practical Testing: 실용적인 테스트 가이드
Persistence 계층 단위테스트를 어디까지 하는게 맞을까요?
@DisplayName("상품 번호 리스트로 상품목록을 조회하기") @Test void findAllByProductNumberIn(){ //given Product product1 = createProduct("001", 1000); Product product2 = createProduct("002", 3000); Product product3 = createProduct("003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); //when List<Product> findProducts = productRepository.findAllByProductNumberIn(List.of("001", "003")); //then assertThat(findProducts).hasSize(2) .extracting("productNumber","price") .containsExactlyInAnyOrder( tuple("001",1000), tuple("003",5000) ); }1.데이터 계층은 유효한 상품 번호 리스트만 넘어왔다는 전제로만 테스트를 해도 충분한가요?유효하지 않은 상품번호는 검증 로직에서 걸러졌다고 생각하고 테스트를 한다고 생각하면 될까요? @DisplayName("미등록된 상품 번호 리스트로 상품목록을 조회하기") @Test void findAllByProductNumberIn(){ //given Product product1 = createProduct("001", 1000); Product product2 = createProduct("002", 3000); Product product3 = createProduct("003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); //when List<Product> findProducts = productRepository.findAllByProductNumberIn(List.of("004", "005")); //then assertThat(findProducts).hasSize(0); } 2.JpaRepository가 제공하는 기본 save,findAll 등도개발자가 원하는 데이터가 올바르게 저장 되었는지, 조회가 되었는지 테스트도실무에서는 작성하시나요 ?아니면 이미 만들어진 코드이기 때문에 불필요한 테스트 코드라 생각해서넘어가는지 궁금합니다. @DisplayName("주문 생성시 상품 리스트에서 주문의 총 금액을 계산한다.") @Test void calculrateTotalPrice(){ //given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, LocalDateTime.now()); //then assertThat(order.getTotalPrice()).isEqualTo(3000); } private Product createProduct(String productNumber, int price) { return Product.builder() .type(HANDMADE) .productNumber(productNumber) .price(price) .sellingStatus(SELLING) .name("메뉴 이름") .build(); } @DisplayName("주문 생성시 주문 상태는 INIT 이다.") @Test void init(){ //given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, LocalDateTime.now()); //then assertThat(order.getOrderStatus()).isEqualByComparingTo(OrderStatus.INIT); } @DisplayName("주문 생성시 등록시간을 기록한다.") @Test void registeredDataTime(){ //given LocalDateTime registeredDateTime = LocalDateTime.now(); List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, registeredDateTime); //then assertThat(order.getRegisteredDateTime()).isEqualTo(registeredDateTime); }Order.create 테스트 코드를 작성할때엔각각 필드 초기화를 단위테스트를 진행했는데, @DisplayName("주문번호 리스트를 받아 주문을 생성한다.") @Test void createOrder(){ LocalDateTime registeredDateTime = LocalDateTime.now(); Product product1 = createProduct(HANDMADE, "001", 1000); Product product2 = createProduct(HANDMADE, "002", 3000); Product product3 = createProduct(HANDMADE, "003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); OrderCreateRequest request = OrderCreateRequest.builder() .productNumbers(List.of("001", "002")) .build(); OrderResponse orderResponse = orderService.createOrder(request, registeredDateTime); assertThat(orderResponse.getId()).isNotNull(); assertThat(orderResponse) .extracting("registeredDateTime","totalPrice") .contains(registeredDateTime,4000); assertThat(orderResponse.getProducts()).hasSize(2) .extracting("productNumber","price") .containsExactlyInAnyOrder( tuple("001",1000), tuple("002",3000) ); }createOrder 테스트 코드는 같이 검사를 했습니다.3.각 초기화를 해주는 정적 매서드를 테스트 코드로 작성을 했는데Order.create 테스트 코드는 필드마다 분리를 해서 테스트 코드를 작성하고,createOrder 테스트 코드는 같이 검사를 했습니다.또 강의에는 없지만 ProductResponse.of 정적 메서드로도 초기화를 했는데따로 분리해서 테스트 코드를 작성하지 않고OrderServiceTest의 createOrder()에서 같이 테스트 코드에 포함되었습니다.테스트 코드를 분리하는 경우와 같이 검사하는 경우를 나누는 기준이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키는 유저당 하나만 생성이 되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]서버에 세션스토어안에 여러 세션이있고 특정 세션을 구분할 수 있는 키를 UUID로 가지고 있으며 그것을 쿠키도 value값으로 가지고 있다. 라고 이해했습니다.그러면 유저가 여러 세션을 가지고 있으면 쿠키 하나로 그 세션 들을 전부 불러 올 수 있는건가요?그렇다면 쿠키의 value값을 여러개 가질 수 있는건가요? 쿠키의 이름이 JESSSION 하나 뿐인 것으로 보여서요.
-
미해결스프링 핵심 원리 - 기본편
프록시 객체 조회하기
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]request 스콥인 객체를 DI 할 때, 프록시를 만들어 가짜 객체를 주입하는것으로 이해했습니다.예제에서 LogDemoController에서 위 방법을 사용했으므로, LogDemoController 빈을 컨테이너에 저장할 때 DI 가 진행되어 필드값인 myLogger 에 myLogger의 프록시 객체가 저장되었다 생각했습니다.이후 @PostConstruct 를 통해 해당 필드값을 조회하면(롬복을 적용해 toString 을 사용했습니다) 오류가 발생합니다. 오류메세지에서 myLogger 가 request 스콥이고 아직 request가 없다고 했는데, myLogger에는 프록시 객체가 이미 저장되어있어서 조회가 될 거라 생각했는데 왜 조회가 안될까요?@Controller @RequiredArgsConstructor @ToString public class LogDemoController { private final LogDemoService logDemoService; private final MyLogger myLogger; @PostConstruct public void init() { System.out.println(this.toString()); } }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @ModelAttribute Member mebmer2 이렇게 있으면 객체 이름으로되서 member2로 저장되지않나요? 그렇게 알고있는데 한번은 클래스이름 Member에서 앞글자 하나만 소문자로 바꾼 member로 모델에 등록된다고 말씀하신거같아서
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
강의에서, con 객체가 언제 null이 될 수 있는지 문의드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용](질문 요약)질문을 요약하자면, dataSource.getConnection()이 언제 null값을 반환하는지 문의드립니다. (질문을 하게 된 배경)질문을 나름대로 해결하기 위해, 아래 사진에서(=강의 코드 캡쳐), 파란색 부분, 녹색 부분을 살펴보았습니다.여기서, 파란색 박스가 필요한 이유를 알아보고자 아래의 과정을 실험해보았습니다.=> con 객체에 강제로 null을 할당=> 녹색 박스를 거쳐서 파란색 박스로 도착하는 과정을 발견 이제, 맨 첫 번째 녹색박스에서, con객체에 언제 null이 할당되는지 파악해보려고 했는데요=> 그런데 dataSource.getConnection() 은 아래 2가지 경우만 있는 것으로 생각됩니다. (제가 실험했을 때는! 혹시 이 부분 틀렸으면 지적 부탁드립니다!!)연결 정보 등을 아예 잘못 입력하여, 연결이 안 되어서 예외를 발생Connection이 정상적으로 되어서, Connection 객체가 반환 null이 발생되는 경우는, con 객체에 강제로 null을 할당하는 것 말고는 딱히 떠오르지가 않아서..... "질문 요약" 과 같이 문의드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cannot resolve symbol 'name'
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]cannot resolve symbol 'name'이라는 오류가 계속 떠요ㅜㅜ 뭐가 잘못된 건가요??