학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 강의 3회차를 복습하면서 궁금한 점이 생겨 질문드립니다. 인기글 섹션 마지막에, 모든 서버와 컨테이너를 실행 해둔 상태에서 테스트 코드로 직접 호출해 기능을 검증하셨는데요. 실무에서도 E2E 테스트나 시나리오 테스트 를 이러한 방식으로 진행하는지 궁금합니다. 개인적으로는 서버와 컨테이너를 매번 띄우고 테스트하는 과정에서 실수할 여지도 있고, 관리도 어려워 보인다는 생각이 들었습니다. 모듈 내부의 단위 테스트나 통합 테스트는 직접 작성해봤지만, 인기글처럼 여러 모듈 간의 상호작용을 테스트해 본 적은 없어 실제 현업에서는 어떤 식으로 검증하는지 궁금해 질문드립니다. 미리 답변 감사드립니다!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 저가 이해 한게 맞는지 알고 싶어서 올립니다. 사진을 보시면 response.sendRedirect("/basic/hello-form.html"); 라는 코드가 있는데 저가 이해한 바로는 여기 이 코드(로직) 안에 "302"이 고정 되어 있어서 302번 상태 코드를 호출 하고 폼으로 간다 라고 이해 해도 되냐요? 답변 부탁드립니다.
실습 중에 댓글 작성하려고 하는데 오류가 발생해서 오류 로그를 보다가 sqlMessage 로 "Unknown column 'commenter' in 'field list'", 라는 문구를 봤습니다. 따로 commenter 라는 필드를 만드신건 못본거같은데 제가 강의를 흘려 들은건지 잘 모르겠습니다. 근데 이상한건, 맨 처음에 실행하고 댓글을 작성할땐 댓글이 작성이 되고, MySQL 에 들어가서 comment 테이블을 확인해보면 댓글이 들어가긴 했습니다. 근데 두번째 댓글 작성시도부터 오류가 발생했습니다.
안녕하세요. 잘듣고 있습니다:) 강의에서 웬만하면 interface 대신 type 을 쓰라고 말씀하시더라고요! 저는 줄곧 type 만 쓰다가 최근에 props 같은 객체 타입은 interface를 사용하는 방향으로 바꿨는데, 이런 경우도 interface 보다 타입을 쓰는게 좋나요?(왜 그런지가 궁금합니다..!!) 그리고 interface 랑 type의 차이를 더 자세히 알고싶어요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 로그아웃시에 서버로 전달되는 쿠키는 브라우저가 자신에게 저장된 쿠키 값을 조회해서 HTTP 헤더에 넣은 다음 서버로 전달하는 걸까요?
강의와는 관련이 없는데, 개인적인 질문이 있습니다. 저는 자바 스프링 신입 개발자를 준비하고 있는 학생입니다. 지금까지는 MVC 패턴만 사용하고, 모놀리틱 아키텍처를 사용해서 배포를 진행하고 프로젝트를 해왔습니다. 제가 알기로는 학습적으로나 포트폴리오적으로나 필요성을 느껴서 하는 공부가 제일 좋다고 들었습니다. 근데, 최근에는 어떤 필요성을 느끼지 못하면서 대규모 시스템 강의,헥사고날 아키텍처가 중요하다고 하니 강의 등을 듣고 있습니다. 왜냐하면, 본격적인 취업은 내년이고 시간이 좀 남았습니다. 그래서 해당 강의들을 들어두면 언젠가 개인 프로젝트나 현업에서 사용할 수 있지 않을까하고 듣고있습니다만, 제가 사용했던 MVC 패턴의 장단점 등 기본적인 것들도 알지 못하는 상태에서 계속 진도 나가듯이 이런 저런 강의를 듣고 하는게 괜찮을까요? 즉, 아직 기본도 잘 모르면서 계속 새로운 걸 배우는 과정들이 괜찮을까하는 걱정이 드네요. 하지만, 한편으로는 CS지식이 너무 방대해서 기초를 다 잡아두고 다음 단계로 넘어간다는 것도 솔직히 엄두가 안납니다. 그래서 우선은 쭉 이것저것 배워두고 나중에 필요하면 다시 찾아보면서 공부하면 되지 않을까 싶은데, 토비님은 어떤 방향이 더 괜찮다고 생각하시나요??
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 . 굼긍즘이 생겨서 질문을 드립니다. hello.servlet.basic.response 에 있는 ResponseHeaderServlet 클래스 에서 response.setHeader() 에서 "Content-type" , "text/plain;charset=utf-8" 이렇게 입력하는 것을 보았습니다. 근데 여기 입력에서 첫 번째 입력 값 text/plain 에 대해서 잘 모르겠습니다. 그래서 검색해서 찾아보니(볼로그 글을 보니) text/plain: 일반 텍스트 데이터임을 의미 text/plain: 일반적인 평문의 글을 의미하며, html도 이에 해당 합니다. 이렇게 두 가지 글을 찾을 수가 있었으나 뭔 말 인지 이해가 안되는 상황입니다. 혹 text/plain 에 대해서 더 자세히 알켜 주실수 있나요? 답변 부탁 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 아직 끝까지 듣지 않았는데 궁금해서 질문 드립니다. volatile을 사용한 뒤에 메인에서 t1.start() 바로 뒤에 t1.join()이 오게 위치를 변경해주면 t1.start() 가 끝난뒤에 t2.start()가 시작이 되서 balance 값이 변경된 상태로 t2 스레드가 검증에서 false값이 걸리는줄 알았는데.. 이렇게 해도 문제가 발생하는데 그 이유가 궁금합니다.
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 보고 있습니다. 복습하던 중에 궁금한 부분이 있어 질문을 남깁니다. 현업에서 대규모 시스템을 만드는 경우에 헥사고날 아키텍처 + MSA를 사용한다는 것으로 알고 있는데, MVC 패턴이 아니라,헥사고날 아키텍처를 대규모 시스템에서 더 선호하고 사용하는 이유가 무엇인가요?? 추가적으로 이건 강의와는 관련이 없는데, 개인적인 질문이 있습니다. 저는 자바 스프링 신입 개발자를 준비하고 있는 학생입니다. 지금까지는 MVC 패턴만 사용하고, 모놀리틱 아키텍처를 사용해서 배포를 진행하고 프로젝트를 해왔습니다. 제가 알기로는 학습적으로나 포트폴리오적으로나 필요성을 느껴서 하는 공부가 제일 좋다고 들었습니다. 근데, 최근에는 어떤 필요성을 느끼지 못하면서 대규모 시스템 강의,헥사고날 아키텍처가 중요하다고 하니 강의 등을 듣고 있습니다. 왜냐하면, 본격적인 취업은 내년이고 시간이 좀 남았습니다. 그래서 해당 강의들을 들어두면 언젠가 개인 프로젝트나 현업에서 사용할 수 있지 않을까하고 듣고있습니다만, 제가 사용했던 MVC 패턴의 장단점 등 기본적인 것들도 알지 못하는 상태에서 계속 진도 나가듯이 이런 저런 강의를 듣고 하는게 괜찮을까요? 즉, 아직 기본도 잘 모르면서 계속 새로운 걸 배우는 과정들이 괜찮을까하는 걱정이 드네요. 하지만, 한편으로는 CS지식이 너무 방대해서 기초를 다 잡아두고 다음 단계로 넘어간다는 것도 솔직히 엄두가 안납니다. 그래서 우선은 쭉 이것저것 배워두고 나중에 필요하면 다시 찾아보면서 공부하면 되지 않을까 싶은데, 쿠케님은 어떤 방향이 더 괜찮다고 생각하시나요??
지금까지 ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 테스트 코드 만들때 수동으로 빈을 등록하도록 만든 설정(AppConfig)을, 컨테이너를 만들어 빈 들을 등록하고, 의존관계를 주입한 환경에서 테스트 진행. ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); 컴포턴트 스캔 애노테이션을 포함하고 필터로 범위를 제한한 설정으로 컨테이너를 만들어서 빈들을 등록하고 의존관계를 주입한 환경에서 테스트 진행 그래서 테스트에서 만든 컨테이너는 AppConfig ,AutoAppConfig 로 만들어진 빈들로만 구성된 컨테이너가 만들어지는 거죠. 이렇게 설정 클래스를 통한 빈들로만 구성된 컨테이너를 테스트에서 사용 하는 이유는 ,내가 설정한 (복잡한 로직의 수동 빈 등록이 필요한) 설정클래스들만 테스트에서 확인하기 위함이죠? 그렇다면 실무에서는 @SpringBootApplication 애노테이션이 있는 메인클래스가 있어서 @Comopenet로 자동 등록된 빈들과 AppConfig 처럼 설정 클래스로 수동 등록된 빈들은 모두 같은 컨테이너에 보관될거잖아요. 테스트에서는 이렇게 compnent로 자동 구성된 빈들로만 이루어진 컨테이너를 호출하거나, 지금까지 진행한 설정클래스들을 통한 빈들로만 이루어진 컨테이너를 호출하거나, 전체적인 빈들이 있는 컨테이너를 호출하는 등 다양하게 테스트를 진행하겠죠? 각각의 테스트에서 컨테이너를 호출하는 방법이 무엇인가요? 뒤에 강의들에서 이러한 질문들을 해결하는 개념들이 나오나요?
안녕하세요. 윈도우 환경에서 7강이 재생되지 않습니다. 이전 질문자 분처럼 검은색 화면으로 재생 버튼을 눌러도 재생이 되지 않으며, 크롬, 웨일 모두 재생되지 않습니다. 듀얼 모니터를 사용하고 있고, 팀 뷰어 같은 프로그램도 모두 꺼둔 상태이며, 크롬/웨일의 하드웨어 가속을 꺼도 재생 시작이 되지 않습니다. 이전 강의인 6강, 이후 강의인 8강은 정상적으로 재생이 됩니다. 혹시나하여 로그아웃 후 미리보기를 통해 재생을 시도해봐도 5강은 정상적으로 재생되나 7강은 검은화면 상태에서 재생 시작이 되지않습니다.
@SpringBootApplication 이 루트 위치에 있고 이 애노테이션 설정안에 @ComponentScan이 있고 따라서 @Component 애노테이션이 붙은 클래스들을 스프링 컨테이너에 싱글톤 으로 빈 등록을 하고 @AutoWired로 의존관계를 주입해준다 라고 이해했습니다 @ComponentScan을 배우기 전에는 AppConfig에서 @Configuration 과 @Bean으로 클래스들을 수동으로 빈 등록을 하고 의존관계도 주입해줬죠. 그리고 이 과정에서 여러 객체가 발생하는 하여 싱글톤이 깨지는 것을 @Configuration 을 통해 CGLIB 라이브러리로 싱글톤을 보장해준다 라고 이해했습니다. @SpringBootApplication -> @ComponentScan 으로 @Component 클래스들을 스프링이 싱글톤을 보장하면서 컨테이너에 빈으로 등록하는것의 대한 과정에 대한 구체적인 과정이 있나요? (@Configuration 에선 CGLIB 라이브러리로 new가 여러개 있어도 싱글톤을 보장하는데.. 이런 구체적인 과정이 있는지?) 아니면 그냥 간단하게 저렇게 하면 싱글톤을 보장한다. 라고 이해하면 될까요? 그리고 @ComponentScan과 @Component로 클래스들을 사용함으로 AutoAppConfig는 아무런 코드 가 없었죠, Configuration 과 Bean으로 수동 등록하고, 싱글톤이 깨져서, CGLIB 라이브러리를 사용했던것이 대체되었다는건데, @Configuration 과 CGLIB 라이브러리를 왜 사용했던건지요? 그냥 @ComponentScan과 @Component로 클래스들을 사용하면 되잖아요.