Result 클래스를 만들어서 response 데이터를 보냈습니다. 이때 제너릭으로 설정하신 이유가 있나요? 현재 아래 코드가 이런식입니다. static class Result<T> { private T data; } 그런데 제너릭을 쓰지 않는 반환용 DTO를 만들어서 static class ResultDto{ private List<OrderDto> orderDtos } 이렇게 하지 않는 이유가 있나요? 보통 실무에서는 어떤 방식을 주로 사용하시나요? 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 우선 이런 좋은 강의를 제공해주셔서 정말 감사합니다. 싱글톤 생성 방법 중 enum으로 생성했을 시에 단점 중에 lazy initialization이 안된다고 말씀하셨는데요, 이 부분에서 궁금증이 있어서 질문 남깁니다. 예제에서 보여주신 enum 내의 INSTANCE 또한 클래스로딩 시점에 JVM의 static 영역에 변수가 등록되고, SettingsHolder와 마찬가지로 호출시점에 힙영역이 할당되면서 그때, static 영역내 변수에 해당 힙주소가 참조되는것으로 알고 있습니다, 그렇다면 이 부분도 lazy initialization이라고 볼 수 있는것 아닌가요? 혹시 제가 잘못알고 있는 부분이 있다면 알려주시면 감사하겠습니다 ㅜ
solution() {} 에서 중괄호 안에(메소드영역) 있는 변수(answer)를 지역변수라고 하는데 기본적으로 자바는 이 지역변수를 반드시 초기화를 해주어야 합니다. 안그러면 컴파일 에러가 발생하죠. 하지만 Main {} 처럼 클래스영역에 있는 변수를 전역변수 또는 멤버 변수(멤버 변수 = 클래스 변수 + 인스턴스 변수)라고 하는데 전역변수는 초기화를 하지 않아도 자동으로 기본값을 넣어줍니다. 영상에서 보여지는 코드는 solution 메소드 안에 있는 변수이므로 지역변수를 사용하고 int answer; 로만 선언을 했습니다. 이렇게만 하면 컴파일 에러가 발생하지만 밑에 줄에 answer = sum; 으로 초기화를 했기 때문에 컴파일 에러가 발생하지 않습니다. 멘토링 문제에서도 for {} 문 안에 변수 pi, pj 역시 지역 변수이므로 반드시 초기화를 해주어야 합니다.
강의와 다른 질문들을 참고하여 HTTP 메시지 전송 과정의 순서에 대해 제가 이해한 내용은 아래와 같습니다. 1. 웹 브라우저에서 HTTP 메시지를 생성한다. 2. 애플리케이션은 소켓 라이브러리를 사용하여 TCP/IP와의 연결을 지시한다. 3. TCP/IP 와 연결된 후 TCP 계층에서 3 way handshake를 진행하여 서버와 연결한다. 4. 서버와의 연결이 확인되면 TCP/IP 프로토콜로 데이터(HTTP 메시지)가 전달된다. 5. TCP/IP는 전달받은 HTTP 메시지에 TCP관련 정보와 IP관련 정보를 추가하여 TCP/IP 패킷을 생성한다. 6. 웹 브라우저는 요청 패킷을 인터넷 망에 던진다. 질문입니다! Q1. 제가 이해한 전체 과정이 맞나요? Q2. 3 way handshake를 진행하는 계층과 시점이 헷갈리는데요. 3 way handshake는 TCP/IP 연결 후에 TCP 계층에서 진행되는 것이 맞나요? (애플리케이션 계층에서 일어나는 게 아닌 거죠?) Q3. 3 way handshaking을 하는 이유는 요청 패킷을 서버로 던지기 위해서 서버와의 연결을 확인하기 위한 게 맞나요? Q4. 강사님께서 3 way handshake 진행 전 찾았다고 언급하신 IP와 PORT는 HTTP 요청 메시지 생성 전 URL을 통해 찾은 PORT와 DNS 서버를 통해 찾은 IP인 게 맞나요? Q5. TCP/IP 패킷 생성 시 담아지는 IP와 PORT도 HTTP 메시지 생성 전에 URL과 DNS 서버 조회를 통해 찾아낸 IP와 PORT인 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 클라에서 서버로 액션 요청 하고 로직 처리 후 클라로 응답 받는 시간이 어느정도되어야지, 지연 없이 받았다고 생각하면 될까요??
프로그램 실행시 콘솔에 column "min_value" not found라고 데이터베이스 관련 에러가 나왔었는데 pom.xml에서 hibernate-entitymanager의 버전을 5.6.1Final까지 올려서 해결했습니다. 정확한 해결책인지는 모르겠지만 20년도에 올라왔던 질문에 5.4.14로 답변이 나와있지만 22년에 해결이 안되서 찾아보고 해결해서 남깁니다! 그리고 h2는 2.1.210쓰고 있습니다. 도움이 되셨으면 좋겠습니다.
@Controller public class HelloController { @GetMapping ( "hello-static" ) public String hello (Model model) { model.addAttribute( "data" , "hello!!" ) ; return "hello" ; } } 위와 같이 컨트롤러를 만들었습니다. 따라서, localhost:8080/hello-static 을 입력하면 template/hello.html로 이동되게 설정했습니다. 하지만, localhost:8080/hello-static.html을 입력하면 template/hello.html로 이동되지 않고 static/hello-static.html로 이동이 됩니다. 강의 내용에 따르면 localhost:8080/hello-static.html을 입력했을 때 hello-static 관련 컨트롤러가 없는 경우에 static/hello-static.html로 이동된다고 하신것으로 기억합니다. 그런데 hello-static 컨트롤러가 있는데도 왜 static으로 가게 되는지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Cause: invalid source release: 11 에러가 뜨는데 어떻게 해야하나요?
안녕하세요. 해당 강의를 수강중인 김승수라고 합니다. 항상 좋은 강의를 제공해주심에 감사드립니다. 이번 강좌에서 Cache-Control: no-cache 부분을 들으며 이것을 사용하는 실제 사례가 궁금해서 문의드립니다. Cache-Control: no-cache 는 데이터를 캐시해도 되지만, 항상 원(Origin) 서버에 검증하고 사용해야한다고 설명들었습니다. 내용 자체는 이해가 가능하나 이 방식이 사용되는 실제 사례가 궁금합니다. 만료 시간 전에 캐시한 데이터가 서버에서 변경될 가능성이 높으나, 데이터 자체의 크기가 커서 변경이 일어나지 않은 경우에는 데이터를 다시 가져오는 부하를 줄이기 위해 사용하는 것일까요? 만료 시간 전에 캐시한 데이터가 서버에서 변경될 가능성이 높다면, 캐시 유효 시간을 짧게 설정하면 될 것인데... no-cache를 왜 만들었을까요? 캐시로 관리하는 데이터가 원 서버의 실제 데이터와 동일한지 매번 검증한다면 이 작업 자체도 오버헤드라고 볼 수 있지 않을까요? 아니면 드물게 사용하는 매우 큰 데이터를 캐시에 두고 캐시 유효 시간을 길게 가져가기 위해 사용하는 것일까요? 캐시 자체는 빈번하게 조회할 데이터를 빠르게 가져오기 위해 조회 데이터를 가까이 두는 기술로 알고 있는데요. 드물게 사용할 데이터를 캐시에 보관하는 것도 이상하다고 생각됩니다. 강사님의 답변 기다리겠습니다. 감사합니다. 김승수 드림
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1-4강 에서 push branch master전까지는 다 잘되는데 로그인이 안됩니다. 깃허브에서 똑같이 아이디 비밀번호 치면 로그인이 되는데 이클립스 내에서는 안되는데 뭐가 문제일까요?? 검색해도 나오지가 않습니다 ㅠㅠ
계속 이해해보려고 구글링했는데 뭔가 속시원게 해답이 안나와서 한번만 더 질문하겠습니다. ㅜㅜ 지난강의에서 피처맵의 그리드포인트 마다 앵커 9개를 매핑한다고 하셨는데, 이번 강의에서 RPN 네트워크는 피처맵을 이진 분류 하기 까지 그리드포인트 매핑과정이 없어서 뭔가 연결이 잘 안되는 것 같습니다. 다른 문제는 5:50초에 40x50x9 는 그리드포인트마다 9개의 앵커박스를 나타내는 것이고, 앵커박스마다 FG인지 BG인지 판단한다고 하셨는데, 제 머리로는 1x1 컨볼루션을 하고 9output을 뽑는다는게 잘 이해가 안되는 것 같습니다. 1x1 컨볼루션은 차원의 축소를 하는 역할을 하는것인데 9가지 모양의 그리드를 어떻게 1x1 컨볼루션 40x50피처맵 포인트마다 연결을 시키는 것인지 잘 이해가 되지 않습니다...ㅜㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이렇게 작성해도 테스트 정상적으로 실행되는데 어떤 이유가 있어서 BeforeEach에서 매번 new로 객체를 만들어주신건지 궁금합니다!
안녕하세요 기본값 타입 설명을 듣던중 Integer 타입이 변경이 안된다고 설명해 주셨는데 Integer a = new Integer(10); Integer b = a; //a.setValue(20); // 없는 기능이지만, a를 수정할 수 있었다면 있었을 것 a = 20; <<<< 이런식으로 할당하여도 b는 a를 참조할텐데 System.out.println("a = " + a); //a = 20 //으로 나오고 System.out.println("b = " + b); //b = 10 //으로 나오는데 a.setValue()와 a = 과 어떤 차이점이 있는지 궁금합니다.