안녕하세요. 강의를 잘 듣고 있습니다! 다름이 아니라, Bean의 생명주기 메소드 강의에서 마지막 부분이 HelloController의 applicationContext를 생성자 주입하는 코드로 변경하면서 끝이 납니다. 그런데 DI와 단위 테스트 강의에서 HelloController의 테스트 코드를 작성할 때 보여주시는 HelloController.java의 코드를 보면 applicationContext를 생성자에서 파라미터로 받는 부분이 없어져 있습니다. 2개의 강의 사이에서 applicationContext를 파라미터로 받는 코드를 리팩토링하는 부분을 설명해주시는 부분이 제가 찾기에는 보이지 않아서... 혹시 보충 설명을 해주시면 감사하겠습니다.
강사님 안녕하세요. 강의 잘 듣고 있습니다. 감사합니다. 세가지 질문이 있습니다. 1. 아래와 같이 코드 짜도 되나요? 2. 코드가 맞다면, 제가 탐색 알고리즘 원리로 푼게 맞나요? 3. 강사님 코드가 더 효율이 높다고 보면 되는건가요? 이정도 차이면 코딩테스트에서 큰건가요? - 제 코드 실행시간: 0.00021576881408691406 - 강사님 코드 시간: 0.00020885467529296875
안녕하세요. 강의 너무 재미있게 잘 듣고 있습니다. 강의 듣다가 클래스 로더를 가져오는 부분에서 의문점이 있는데요(사실 이전부터 개념이 명확하지 않아 어려움이 있었습니다) MyOnClassCondition 만들면서 context.getClassLoader() 이렇게 클래스 로더를 가져왔는데 이렇게 가져오는 것과 this.getClass().getClassLoader() 이렇게 가져오는 것이 어떠한 차이가 있는지 궁금합니다. 둘다 동작은 잘 되거든요. 스프링 부트와 크게 관련된건 아니라고 생각들지만 인터넷 글을 봐도 명확하게 이해가 잘 안되서 초고수 토비님께 문의드립니다. 명강의 감사합니다.!!
cannot acess 에러가 발생하는데, 실제, 코드를 돌리면 컴파일 및 런타임 에러 없이 동작합니다. Access 에러 길래, 접근 제어자 문제로 판단하였으나, 전부 Public 이라 딱히 문제도 없는것 같은데, 저만 그런건지 궁금합니다. registerBean 에서도 해당 클래스를 불러오기 때문에, 여기서도 에러가 뜬다면 이해하겠으나.. 해당 부분은 문제없고.. 밑에서만 떠서... 궁금합니다 [참고로, 실행하면 컴파일 에러 없이 실행 되고... IDE 상에서는 에러로 계속 남아 있습니다. ] package com.example.helloboot; import org.apache.catalina.startup.Tomcat; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.server.WebServer; import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.context.support.GenericApplicationContext; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class HellobootApplication { public static void main(String[] args) { // Spring Container 생성 Context 가 Container 임 // 컨테이너 생성 GenericApplicationContext applicationContext = new GenericApplicationContext(); // 오브젝트 (빈) 등록 applicationContext.registerBean(HelloController.class); // 오브젝트 생성 요청 applicationContext.refresh(); // [Step 1] Servlet 컨테이너 생성 // Factory 생성과 설정 작업등을 대신 해주는 대상 TomcatServletWebServerFactory serverFactory = new TomcatServletWebServerFactory(); WebServer webServer = serverFactory.getWebServer(servletContext -> { servletContext.addServlet("frontcontroller", new HttpServlet() { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 인증, 보안 , 다국어, 공통 기능 등 처리 if (req.getRequestURI().equals("/hello") && req.getMethod().equals(HttpMethod.GET.name())) { String name = req.getParameter("name"); // binding 데이터를 처리하는 오브젝트에 데이터를 넘기는 것 HelloController helloController = applicationContext.getBean(HelloController.class); String ret = helloController.hello(name); resp.setContentType(MediaType.TEXT_PLAIN_VALUE); resp.getWriter().println(ret); } else { resp.setStatus(HttpStatus.NOT_FOUND.value()); } } }).addMapping("/*"); }); webServer.start(); } }
강의에서 말씀하신대로, 단위테스트 혹은 통합테스트와 같은 용어들이 단어가 느슨하게 정의되어 있어 블로그, 책, 강의마다 설명들이 다 달라서 면접 같은 곳에서 질문을 받으면 매우 곤란한데요. 단위 테스트, 통합 테스트 범위? 정의? 같은 것에 대한 토비님의 개인적인 의견 혹은 기준이 궁금합니다.
안녕하세요 토비님! 강의를 듣는 중에, 여러개의 데코레이터를 우선순위를 정하는 방법 말고 원하는 상황에 맞게 주입이 되도록 처리하는 방식에 대해 말씀해주셨는데, 해당 방법에 대해 좀더 자세하게 알고 싶어져서 사용하는 예제 코드를 구글링 해보았지만 못찾겠어서 질문 올립니다.
선생님 안녕하세요 이번에 선생님강의 머신러닝2개, 컴퓨터비젼2개를 모두 완강한 열혈팬 회사원입니다 ㅎㅎㅎ 선생님 강의 덕분에 이번에 회사에서 세그멘테이션을 담당하게 되엇는데, 세그멘테이션강의관련 질문이 잇어서 이렇게 메일을 드립니다 ㅎ 바쁘시겟지만 조언 좀 부탁드리겟습니다 <배경> 이번에 검출할 객체(첨부파일)는 바늘과 같이 아주 가늘고 긴 객체(섬유)인데 이미지1장당 객체전체면적이 0.5 - 2%밖에 없는 아주 미세한 객체입니다. 실제원본데이터에서도 객체는 눈으로 자세히 보아야 검출할수 잇을정도입니다 ㅎ (학습데이터30장, 학습마스크영상 30장, 테스트데이터 5장 ). 사용모델은 깃헙에서 공개한 U-NET모델로 세그멘테이션을 수행햇는데, 첫epoch부터 정확도가 90%이상, 로스가 0.1이하로 상당히 높은 성능을 보엿는데 예측결과이미지영상에는 아무것도 검출이 안된 상태(완전검은영상)입니다. 참고로 다른 이미지데이터를 가지고 U-NET모델로 세그멘테이션을 수행해본결과 예측결과도 상당히 잘되어서 모델에는 문제가없는것으로 판단햇습니다. 여기서 조언을 좀 부탁드리겠습니다. 1> 정확도는 90%이상, 로스가 0.1이하인데 아무것도 검출이 안되엇다는 것은 , 객체가 너무미세해서 검출을 못한걸로 이해해도 되는지요? 2> 이런경우 성능을 올리기 위한방법으로 오그멘테이션방법도 잇는데, 특히 사용해야할 오그멘테이션방법이 잇는지요? 참고로 확대기능등을 사용햇습니다. 3> 다른방법으로 선생님CNN강의에서사용한 mark-rcnn 방법도 해볼려고 하는데, 어떻게 생각하시는지요? 글을 적다보기 글이 너무 길어져서 죄송합니다, 바쁘시겟지만 조언 좀 부탁드리겟습니다 ㅎ
안녕하세요! 강의에서 한가지 궁금한 점이 있어서 질문드립니다! @ConditionalOnClass 어노테이션에서 XmlMapper.class 는 빨간 줄로 나와서 찾아보니 import com.fasterxml.jackson.dataformat.xml.XmlMapper; 가 resolve 되지 못하는 것으로 추측되었습니다. 이런 경우는 빌드가 되지 않아야 하는 것이 아닌가 싶어서 제가 무엇을 놓치고 있는 것인지 알고 싶어 문의드립니다
안녕하세요. 토비님 저는 이제 곧 4년차가 되가는 개발자 입니다. 토비님의 스프링 부트 강의가 나온다는 이야기를 듣고 바로 구매 후 강의를 듣고 있는데 진짜 너무 좋은 내용에 무한 반복을 하고 있으며, 이전에 토비님이 쓰신 토비의 스프링 3.1을 이전에 완독을 해볼려고 하다가, 도중에 다른 일 때문에 중단을 했었는데 요번에 다시 한번 읽어볼려고 합니다. 평소 토비님처럼 개발자로서, 전문가가 되고 싶다는 생각을 항상 하고 있는데, 토비님께서는 어떻게 스프링이나 다른 기술들을 공부를 하시는지, 궁금합니다. 그리고 토비님께서 생각하시는 스프링 개발자라면 꼭 기본적으로 꼭 알아야 될 필수 기술이 어떤 건지도 궁금합니다. 어떻게 토비님께서 기술 공부를 하시는지, 비법을 알려주신다면 정말 열심히 해보겠습니다! 정말 좋은 강의를 내주셔서 감사합니다. 다음 강의 기다리고 있습니다!!ㅎㅎ
안녕하세요! 이번에 스프링부트를 수강하게 된 학생입니다. 퀄리티 높은 수업을 제공해주셔서 감사합니다! 다름이 아니라 "자동 구성 정보 파일 분리" 파트를 수강하던 중 imports 파일을 생성하여 class 정보를 불러오는 부분에서 오류가 발생하여 질문글 남깁니다. MyAutoConfigImportSelector.java에서 selectImports 메소드를 사용할 때 리턴 해주는 String 배열을 직접 입력해주는 아래와 같은 방법을 사용하여 작성했을 때는 서버가 정상적으로 실행되었습니다. return new String[] { "tobyspring.config.autoconfig.DispatcherServletConfig", "tobyspring.config.autoconfig.TomcatWebServerConfig" }; 그런데 classLoader를 사용하여 META-INF 하위에 생성한 imports 파일을 읽어오는 코드를 작성하여 실행하니 ServletWebServerFactory 빈을 찾을 수 없다는 오류가 발생하며 서버가 정상적으로 실행되지 않습니다... 혹시 META-INF를 읽어오지 못하는 이유가 있을까요??
좋은강의 너무 감사드립니다. 혹시 스프링 관련해서 여쭤보고 싶은게 있습니다. 점점 더 Cloud 환경으로 가면서 SpringBoot 이외에 더 빨리 개발, 배포 할 수 있는 Spring Quakers 라던가 micronaut 같은 프레임 워크들이 등장했는데 업력, Spring 경력이 높으신 선배님으로서 위와 같은 프레임워크들이 추후에 더 성장해서 Boot 만큼 많이 쓰이게 될 수 있을거라고 생각하시나요? 아니면 조금 반짝 하다가 Spring 진영이 더욱 발전해서 더 빠른 개발, 성능을 커버 할거라고 보시나요? 궁금합니다. 앗 그리고 + GraalVm 의 미래도 궁금합니다.
파라미터가 masked 로 가려져 보이는데 정확하게 파라미터가 넘어오는지 확인을 해보고 싶습니다. 그래서 스프링부트 공식문서에 설정관련 페이지를 보고 있는데 잘 찾아지지가 않아 질문드립니다. 검색할 키워드를 알 수 있을까요? spring.mvc.log-request-details=true 찾아보던 중 위 설정을 적어주면 파라미터가 제대로 보인다고 하는데 이것도 적용이 되질 않습니다ㅠㅠ
안녕하세요. 수업 흥미롭게 듣고 있는 수강생 입니다. 블로그에 공부한 내용을 정리해두는걸 좋아합니다. ( 예시 ) 토비님의 강의도 아래처럼 강의를 정리하면서 듣고 있는데 혹시 블로그(광고 안붙인 블로그입니다.)에 아래와 같이 메모한 강의 내용을 올려도 괜찮을지 문의드립니다. 주로 강의 따라서 작성한 코드 스샷 및 말하신 내용 중 기억할만한 부분들이나 전체적인 흐름을 적었습니다. (나중에 제가 보고 기억날 수 있게요) 가능하시다면 혹시 일부 강의 스샷도 올려도 되는지 궁금합니다 (특히 현재까지의 코드 구조 중간중간 설명해주신 부분이나 초반에 Containerless 설명해주신 부분이요! 물론 몇장만요.)