학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 12분에 미인증시 http://localhost:8080/items 하면 로그인부분으로 가야하는데 가지 않고 localhost 에서 리디렉션한 횟수가 너무 많습니다. 라고 나옵니다. 오타 있나 코드 다시 봐도 모르겠더라고요 ㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님, 질문이 있어 글 남깁니다. memset으로 초기화할 때는 0, -1 만 가능하다고 말씀해주셨습니다. 그러면 -2로 초기화하고 싶을 때 [초기화한 배열] * 2 를 하는 식으로는 안되는 건가요? 감사합니다.
강사님 현재 스프링과 JPA 기반 웹 애플리케이션을 듣는 중입니다. 여러 번 반복하면서 개발 흐름을 파악하는 중인데요. AccountControllerTest에서 회원 가입 테스트- 잘못된 입력값을 테스트하는 중인데, 실제로는 구동이 잘 되지만 테스트 중에는 매번 테스트 실패로 뜹니다. 코드는 다음과 같습니다. @Test @DisplayName("회원 가입 테스트 - 잘못된 입력값") public void signUpSubmitTest_wrong() throws Exception{ mockMvc.perform(post("/sign-up") .param("nickname", "yena") .param("email", "yenice") .param("password", "12354") .with(csrf())) .andDo(print()) .andExpect(status().isOk()) .andExpect(view().name("account/sign-up")); } 깃허브 주소: https://github.com/KrillM/studyclub 이 문제를 넘어가기에는 앞으로 수업을 들으면서, 이후 포트폴리오를 만들 때 발목을 잡을 것 같아 질문합니다.
타입스크립트가 적용이 안되는 것인지... this.todoItem 타입이 any 라고 나옵니다 this.todoItem. 하면 title이랑 done이 나와야 하는데 안나오구요.. interface exprot도 잘되어있는데 숫자를 넣어줘도 에러가 안나고 부모 컴포넌트에서도 똑같이 this.todoItem.이 안되고 있습니다. 혹시 tsconfig.json이나 설치해줘야 하는 vscode 익스텐션이 있는지 궁금합니다. *깃허브 링크알려주시면 감사하겠습니다 ㅠㅠ
int main() { int count = 0; while (1) { printf("Current count is %d. Continue?(y/n)\n", count); if (getchar() == 'n') break; else if (getchar() == 'y') count++; else printf("Please input y or n\n"); while (getchar() != '\n') continue; } return 0; } 강의에서 int c = getchat() 해서 c를 사용하니까 잘 되던데, if문이랑 else if문에 getchar()을 그대로 넣으면 왜 오류가 나는지 궁금합니다!
아무리 인터넷에 나와있는대로 pom.xml 파일에 <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> 아래 코드를 추가해보아도 뭘 해도 저 오류가 없어지지 않습니다. 무엇이 문제일까요.... 다른 해결방법이 또 있을까요? java17 버전 입니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] jdk 17로 사용하고 있는데 회원 리포지토리 테스트 케이스 작성 강의를 보면서 Hashmap과 Long 때문에 stackoverflow error가 발생하는데 어떻게 해결해야 하나요?
질문은 다음과 같습니다...! ==== Spring Container 제작시, 자기자신을 Bean으로 등록하는 이유 ==== 코드를 수정했습니다. Servlet Container, DispatcherServlet을 Bean으로 등록하는 코드를 config 패키지의 클래스로 따로 빼버렸습니다. [ :이유: ComponentScan은 자기자신을 탐색범위에 넣지 않는다 ->클래스 내부의 Configuration을 찾지 못한다 -> Configuration만 외부로 빼면 자기자신을 Bean으로 등록하지 않아도 된다 ] Spring Container를 만드는 과정에 Servlet Container를 만들지 않습니다. 분리시켰습니다. (순서대로 만들어진다는 느낌을 받기위해...) 다음은 제가 작성한 main 문의 코드입니다. @ComponentScan public class DemoApplication { public static void main(String[] args) { //Spring Container 구성정보 AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext(); // Bean 등록 applicationContext.register(DemoApplication.class); //Spring Container 실행(초기화) applicationContext.refresh(); // ========================================= //Servlet Container 구성정보 ServletWebServerFactory serverFactory = applicationContext.getBean(ServletWebServerFactory.class); //servlet 만들기 DispatcherServlet dispatcherServlet = applicationContext.getBean(DispatcherServlet.class); dispatcherServlet.setApplicationContext(applicationContext); //Servlet Container 인스턴스 WebServer webServer = serverFactory.getWebServer(servletContext -> { servletContext.addServlet("dispathcerServlet", dispatcherServlet).addMapping("/*"); }); //서버 실행 webServer.start(); } } 1번의 이유로, // Bean 등록 applicationContext.register(DemoApplication.class); 이걸 주석처리했습니다. 같은 클래스내에 ApplicationContext가 있고, 생성도 완료한 시점이기 때문에, 본인이 Bean에 직접 접근해서 꺼내 써도 된다고 생각했습니다. 실제로도 직접 Bean을 꺼내서 주입시켜버립니다. ServletWebServerFactory serverFactory = applicationContext.getBean(ServletWebServerFactory.class); DispatcherServlet dispatcherServlet = applicationContext.getBean(DispatcherServlet.class); 따라서 저는, Spring Container가 아래 2줄의 코드에서 Bean을 다 생성하고 DI까지 완료한줄 알았습니다. //Spring Container 구성정보 AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext(); // Bean 등록 //applicationContext.register(DemoApplication.class); //Spring Container 실행(초기화) applicationContext.refresh(); 어차피 서블릿 환경 설정도 저 어딘가에서 ComponentScan 해서 Bean으로 등록하기 때문에 자기자신을 Bean으로 등록하는건 필요 없는줄 알았습니다. 그리고 발생한 에러 입니다. No qualifying bean of type 'org.springframework.boot.web.servlet.server.ServletWebServerFactory' available ======= 주석만 풀면 잘 돌아갑니다. 왜이럴까요...?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] @RequestBody타입의 파라미터 컨트롤러가 호출되기전에 @RequestBody의 argument를 처리하는 Argument Resolver가 HTTP 메시지 컨버터를 사용해서 필요한 객체를 생성하고 생성한 파라미터를 컨트롤러로 넘겨주는 것이다. Argument Resolver안에 HTTP 메시지 컨버터가 있다고 생각을 해도 괜찮을까요? Argument Resolver도 매우 다양한게 존재하고, HTTP 메시지 컨버터도 매우 다양하게 존재한다고 하셨는데 Argument Resolver-HTTP 메시지 컨버터가 쌍을 이룬다고 생각해도 될까요? Argument Resolver가 처리할 수 있는 argument는 결국 HTTP 메시지 컨버터가 생성해주는 것으로 이해했습니다. 저는 이렇게 이해를 했는데 혹시 다르게 이해한 부분이 있을까요?
else: cur = self.head # cur 포인터는 head가 가리키는 곳을 가리킴(현재는 1의 값을 가진 노드를 가리킴) while cur.next: # cur.next값은 곧 head가 가리키는 new_node의 next값인 Node이므로 False라서 while문 탈출 cur = cur.next cur.next = new_node # None값을 가지는 노드를 새로 들어온 노드와 연결 링크드 리스트부터 갑자기 이중 포인터가 사용되서 이해하기가 어려웠는데요, 결국에는 cur가 가리키는 값이 head이고, head가 가리키는 것이 new_node인데, 현재 new_node의 next값은 None이므로, 이것을 새로 추가된 노드를 가리키게 하기 위해 cur.next = new_node 로 작성한 것인가요?