학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 질문1. DispatcherServlet는 따로 프레임워크에서 구현하지 않아도 되나요? 예를 들어, 1)DispatcherServlet이 모든 웹 브라우저로부터의 요청을 받는다. 2)DispatcherServlet은 HandlerMapping으로 부터 주어진 request를 처리할 수 있는 Handler객체를 가져온다. 이렇다면, 사용자가 따로 DispatcherServlet를 구현할 필요 없이 스프링 프레임워크 자체에서 DispatcherServlet를 구현 + HandlerMapping을 받을 클래스들을 빈으로 만들어서 관리함. 그래서 @RequsetMapping 같은 URL 요청이 들어오면 해당되는 클래스에게 요청을 넘긴다. 이렇게 이해하면 옳게 이해한 것이 맞나요? 질문 2. 저는 아래와 같이 웹 MVC 동작 과정을 이해 했습니다. 옳게 이해한 것이 맞나요? 1.클라이언트가 서버에 요청을 하면 DispatcherServlet 클래스가 요청을 받음 2.@Controller 어노테이션을 이용해 빈으로 등록한 컨트롤러를 찾아 매핑된 컨트롤러가 존재하면 @RequestMapping을 통해 요청을 처리할 메소드로 이동함. 3.컨트롤러는 해당 요청을 처리할 @Service 클래스를 찾아 로직을 수행함. 4.서비스는 DB에 접근하여 요청을 수행하고 DTO를 통해 데이터를 컨트롤러에게 전달한다. 5.그 후 컨트롤러는 DTO를 통해 받은 데이터를 DispatcherServlet에게 다시 전달하고, DispatcherServlet는 응답과 함께 URL(view)를 반환해준다. 질문 3 제가 위와 같이 이해를 했을 때, DTO가 Model이라고 이해를 하면 되는건가요? 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 코드랑 똑같이 적었는데이 세 코드에서 오류가 떠요 Cannot access japabook.jpashop.domain.Order이라고 오류가 납니다.오류 코드 링크 첨부하겠습니다 https://drive.google.com/file/d/12M-uypQ20bE0SY4jNOyJii3ZBDtSpgT6/view?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] build.gradle문서에 web 라이브러리 추가 후 CoreApplication에서 main을 실행시키니 오류가 뜹니다.. 오류문장은 다음과 같습니다. Execution failed for task ':compileJava'. > Could not resolve all files for configuration ':compileClasspath'. > Could not find javax.inject:javax:inject. Required by: project : Possible solution: - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html 어떻게 해결하면 좋을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 오류 내용은 아래와 같습니다. FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'hello-spring'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.2. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.2 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but: 제 생각에는 프로젝트에의 자바와 맥북에서 기본으로 잡혀있는? 자바 버젼이 맞지 않아서 발생하는 문제 같습니다. inteliJ에서 설정되어 있는 자바 openjdk-21 Oracle Open JDK 21 맥북 터미널에서 확인한 자바 (java -version) openjdk version "11.0.19" 2023-04-18 LTS OpenJDK Runtime Environment Corretto-11.0.19.7.1 (build 11.0.19+7-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.19.7.1 (build 11.0.19+7-LTS, mixed mode) 인터넷 검색으로 어찌 어찌 환경변수? 를 아래와 같이 수정을 하고 적용을 해봤지만 같은 오류가 발생합니다.
백엔드 개발자로서성능 개선과 부하 테스트 등은 어느 시점에 하는 것이 좋나요? 제가 사이드 프로젝트를 하면서 필요할 때 듣고 바로 적용해보며 정리를 하려고 하는데 프로젝트 시작 전에 먼저 들어 놓고 신경 쓰며 개발을 해야 할 지, 개발 중에 적용 해야 할 지 개발 완료 후에 해야 할 지 감이 안 잡히네요.
안녕하세요. 성능 최적화 관련 학습을 하고 있습니다. 혹시 성능 측정, 모니터링 방법에 관련한 설명 부분이나 강의가 있을까요? 강의 작업들을 수행함으로 인해 얼마나 처리시간이 단축되는지 확인을 해보고싶은데 그런 부분은 개인적으로 따로 학습을 해야하는지, 아니면 잘 정리된 수업이 있는지 궁금합니다.
http://boj.kr/b8eaa84254ba4993b722f0482d6c1280 조합 함수를 다음 요소를 선택한다, 안한다로 나눠 뻗어나가도록 재귀를 구현하였습니다.. 1개를 택할 때는 따로 구해주었는데 어떤 걸 놓친 걸까요? 테스트케이스는 모두 통과하였는데 오답입니다
안녕하세요우선 좋은 강의를 제작해주셔서 감사드립니다공식 문서만으로 테스트 코드 작성을 공부했다면 훨씬 시간이 많이 들었을 텐데한글로 설명을 듣고 문서를 보니 좀 더 빠르게 이해할 수 있는 것 같습니다. // answer 브랜치 코드 it('특정 아이템의 수량이 변경되었을 때 값이 재계산되어 올바르게 업데이트 된다', async () => { const { user } = await render(<ProductInfoTable />); const [firstItem] = screen.getAllByRole('row'); const input = within(firstItem).getByRole('textbox'); await user.clear(input); await user.type(input, '5'); // 2427 + 809 * 2 = 4045 expect(screen.getByText('$4,045.00')).toBeInTheDocument(); }); 궁금한 점은 현재 제공해주신 정답 코드에서는모킹 데이터의 결과 포맷을 알기 때문에 '$4,045.00' 이라는 텍스트 값이 dom에 마운트 되어야 테스트를 통과 시키는 방식인데요 it('특정 아이템의 수량이 변경되었을 때 값이 재계산되어 올바르게 업데이트 된다', async () => { const { user } = await render(<ProductInfoTable />); const [firstItem] = screen.getAllByRole('row'); const input = within(firstItem).getByRole('textbox'); // role은 price를 담는 div에 미리 추가했다고 가정 const price = Number(within(firstItem).getByRole('price').textContent); const value = 5; await user.clear(input); await user.type(input, value.toString()); const pricedResult = within(firstItem).getByRole('price').textContent; // 2427 + 809 * 2 = 4045 expect(priceResult.includes((value*price).toLocaleString())).toBe(true); }); 제가 작성한 방식은엘리먼트마다 role을 미리 지정해 둔 다음에테스트할 때마다 element들의 값에 접근해서 테스트를 진행하는 방식입니다.제가 생각했을 때에는 이 방식을 사용하면 element마다 role을 직접 설정해주어 element의 용도를 파악하기 더 쉽고 getAllBy... 메소드로 가져온 요소들에 대해 순회하여 테스트할 때 테스트 결과 값을 동적으로 생성하기 때문에 더 유연하지 않을까 라는 생각이 들었습니다. 궁금한 점은 제가 작성한 방식을 현업에서도 사용하는지잘 사용되지 않는 방식이라면 어떤 이유에서 잘 사용되지 않는지가 궁금합니다
[ React에서 배열 사용하기1 - 리스트 렌더링(조회) ] 사소한 질문이라 죄송한데, import DiaryEditor from './DiaryEdittor'는 확장자 .js를 붙이지 않고, 왜 import DiaryList from './DiaryList.js'는 확장자 .js를 붙이나요? .js를 없애보니까 오류가 나더라고요...서치를 해보니 그 이유가 나오진 않아서 질문해봅니다. 만약 답을 찾으면 이 질문은 지우도록 하겠습니다.
영화님 안녕하세요. 강의 정말 잘듣고 있습니다 ! 3강 내용 중 사용자, 비즈니스, 이즈니스에 대한 문제 정의에 대해 궁금 하여 2개의 질문드리게 되었어요. <나는 사용자가 아니다> 라는 점을 인지하면서 문제를 풀어야 한다고 강의해주신 점에 대해 조금 더 구체적으로 보강 설명을 해주실 수 있으실까요? (질문의 배경)실제로 저는 아래와 같은 2개의 관점을 둘다 이용하는데요. A 관점 이 경우 프로덕트 디자인을 제작하는 입장에서의 문제를 찾는 관점임 전문가 입장에서 사용성 문제를 찾는 관점 때문에 일반 사용자가 못느끼는 문제를 해결하는 시도인 경우가 많았음 - 휴리스틱 평가와 비슷하게 문제를 찾는 형태 B 관점 제품을 이용해보면서 느낀 사용자 관점 이 관점에서 문제는 팀원들도 쉽게 설득시킬 수 있었고 사용자에게 어떤 가치를 주느냐에 대한 임팩트가 큰 문제라고 느낌 결론적으로 궁금한 점 B 관점에 있어서 저는 사용자가 아니지만, 사용자가 느낄 수 있는 문제를 많이 만났는데 이러한 방식으로 문제를 찾으면 안되는 것인지 궁금합니다. 또는 이러한 방식으로 찾되 정량적, 정성적 검증을 하고 문제 정의가 된 후에만 솔루션을 만들어야 하는지도 궁금합니다. 이론 내용에서는 내 문제가 무엇인지부터 시작하는 것이 아니라 사용자 문제에서부터 시작하라는 말씀을 주셨는데요. 강의에서 예시로 주신 내용은 제공자 관점에서 출발한 문제, 정보수집, 솔루션 도출이라고 느껴지는데요. 이에 대해서 영화님 생각은 어떠신지 궁금합니다. 제가 아직 3강까지 밖에 못들어서 드리는 질문일 수도 있는 점 양해 부탁드립니다 ! 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] MethodReturn1 예제에서 public static boolean odd(int i){ if (i % 2 ==1){ // 고도화 if i % 2 ==1; 로 작업하면 굳이 else 리턴 조건 입력 안해도 되는데 원리는 모르겠음 return true; } else { return false; } 굳이 반환과 else문을 사용 안하고 고도화를 거치게 되면 public static boolean odd(int i){ // 고도화 if i % 2 ==1; 로 작업하면 굳이 else 리턴 조건 입력 안해도 되는데 원리는 모르겠음 return i % 2 == 1; } 이렇게 작업이 가능한데 상기 고도화가 어떻게 되는지 잘 모르겠습니다. (JAVA에서 자동으로 해준 고도화라)
선생님 안녕하세요. 쉽게 설명해주셔서 저같은 초보도 정말 열심히 잘 이해해가며 배우고 있습니다. 감사합니다. 다름이아니라 강의가 누락된게 있는것 같아요(아마,,) 같은 네트웤크에서 통신은 - 스위치로 옥션에서 스위치 검색하기 위 페이지에 대한 강의가 빠져있는 것 같습니다. 그리고 그 다음 강의를 들어보면 스위치에 대해 처음배우는데 저번시간에 옥션에서 스위치를 검색해보면 스위치 허브라는것이 나오고 이것은 잘못된명칭이다~ 이러면서 강의를 시작하시는걸 보니 강의가 누락된게 맞는것 같습니다. 옥션에서 스위치 검색하는 강의를 찾아볼 수 없거든요.. ㅜ 혹시 맞다면 수정 부탁드립니다
저는 깃허브에서 push하러 들어가면 2줄을 복사하라고 하신 부분이 3줄로 뜨면서 git에 작성하면 아무것도 안 뜬 상태에서 'Authorize application' 이라는 창이 뜨며 위의 페이지가 나오는데 왜 그런가요?? authorize git-ecosystem을 클릭하면 되는 건가요?
저의 데이터 컬럼수가 5개인데 여기에 DNN 의 Dense 적용하는 부분에서 위와 같이 설정을 하였습니다. 그랬더니 precision과 recall 수치가 이상하게 나오는데 제 생각은 항목수가 적기 때문에 dense 부분이 굳이 세개가 필요없다는 것과 dropout도 없어도 될 듯 싶은데 어떻해 해야 recall의 수치가 높아질 수 있을까요
안녕하세요 Jacob 강사님. 좋은 강의 잘 듣고 있습니다. 현재 다른 질문에 답변해주신 글을 확인해서 iOS 15버전 업데이트 후 프리뷰 문제로 뷰를 추가하면 새로운 프리뷰가 생기지 않아서 새로운 클래스나 구조체를 만들고 프리뷰를 추가해줘야 한다고 들었는데요. 그게 특정 강의에서만 해당되는게 아닌 지금 현재 강의들에서 프리뷰가 안생기는 문제들은 알려주신 방법대로 모두 진행하면 될까요? 현재 'LazyGrid' 강의 듣고 있고 Frame 강의때 프리뷰 문제를 발견해서 그 이후에 쭉 프리뷰가 나눠지는 부분은 알려주신 대로 처리했었습니다. 올바르게 하고 있는게 맞는지 궁금해서 질문드립니다. 감사합니다.