시큐리티 강의를 만들어주셔서 너무 감사합니다! 디버깅을 통한 내부 아키텍처 동작원리 이해가 너무재밌습니다 ㅎㅎ 시큐리티에 대한 거부감이 초반에 있었지만, 스프링 시큐리티 동작원리를 이해하게 되므로써 시큐리티가 재밌어지고 활용도 잘할것 같습니다. 그리고 내부 디버깅을 하면서 느낀게 코드 디자인 설계 특히 디자인 패턴에 대해서도 많이 공부할 수 있게되어서 좋은 공부 방향인것 같습니다 ㅎㅎ 다시한번 감사의 말씀을 드립니다.
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요. 두번째 세번째 출력문이 epuals인데 왜 세번째는 왜 false인지 이해가 안돼요 epuals면 내용만 같은면 true 아닌가요
이 코드에서 E tempElement = (E) elementData[i]; 이 과정이 필요한 이유를 잘 모르겠습니다. 실제로 저장하는 타입은 E 타입인데 만약 제가 Object tempElement = elementData[i]; 이렇게 하면 E 타입 = Object 타입 ( 부모는 자식이 될 수 있어도 자식은 부모가 될 수 없다 ) 이게 안되기 때문인가요 ? 추가 질문 : Object 배열 안에 예를 들어 String , int 형이 다 들어 있는데, 우리는 타입을 String 을 지정했을떄 저렇게 E tempElement = (E) elementData[i]; 을 해줘야 런타임이 아닌 컴파일 시점에서 에러를 발견하여 사전에 에러를 차단할 수 있는 것인가요 ?
@Override public int[] indexesOf(E element) { int[] arr = new int[size] ; int count = 0 ; for (int i = 0 ; i < size ; i++){ if( elementData[i].equals(element)){ arr[count++] = i ; } } return arr ; } 여기에서 if 문을 if((E)elementData[i].equals(element) 로 하는게 (E) 를 넣지 않는 것보다 나을까요? 그리고 누군가가 왜 낫냐고 물어보면 뭐라고 대답해줘야 하나요 ? 그리고 Objects.equals(elementData. element) equals 메서드와는 어떤 차이점이 있나요 ?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] team5에 해당하는 member들만 출력이 되어야 할 것 같은데 모든 멤버들 (100개) 가 출력됩니다. 왜일까요.. CascadeType.ALL 옵션 사용하였습니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] count 값 증감에 대한 질문입니다 증감연산자가 헷갈려서 다시 해당 강의를 보고 왔지만 아직도 논리적으로 잘 이해를 하지 못하겠습니다. 질문1. 제가 주석으로 작성한 부분이 맞는건가요? 틀리다면 이유를 맞다면 다음 질문을 확인 부탁드립니다. 질문2. 앞선 질문1이 맞다면 1번 주석은 이해가 가는데 2번 주석이 이해가 가지않습니다. 첫째로 우항 count의 값이 0이라고 가정했을때 좌항 count값은 0이됩니다. 여기까진 이해가 가는데 결국 좌항의 count값이 0이 된 후 마지막엔 count값을 증감시키는거 아닌가요? 그렇다면 밑에 sout을 한 부분에서 count 변수 값이 증감된 값이 나와야 하지 않나 싶습니다 증감 된 후에 어떠한 변수에 할당하지 않아서 그런건가 어렴풋이 생각은 해보는데 잘 모르겠어서 확실히 알고 싶어 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. package hello.hello_spring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name) { Hello hello = new Hello(); hello.setName(name); return hello; } static class Hello { // key: name private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } } 이 코드에서 key 값은 name이고 value값은 어떤 것인지 알 수 있을까요? 제가 못 알아들어서요ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 입력 매개변수로 Model model을 쓰는 상황과 안 쓰는 상황을 구별하지 못하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. <첫 번째 예시> 섹션 2 - View 환경설정에서의 예시 코드 @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } 여기에서 return 값은 hello.html의 이름과 같아야 하기 때문에 return "hello"라고 해야 한다고 하셨는데 "hello.html"인지, String "hello"인지 어떻게 구별할 수 있을까요? 정적 컨텐츠일 때에는 항상 html의 이름과 같은 문자를 return해줘야 하나요? <두 번째 예시> 섹션 3 - API 강의에서 첫 번째 예시 @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name) { return "hello " + name; } 여기에서 return 값이 "hello " + name인데 "hello.html"인지, String "hello"인지 어떻게 아나요? 이때는 항상 String 값을 return해줘야 하나요? ------------------------------------------------- 입력 매개변수로 Model model을 쓰는 상황과 안 쓰는 상황이 잘 이해가 안 감
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @EntityGraph를 이용하여 페이징 한계를 돌파할 때 리포지토리 public interface OrderRepository extends JpaRepository<Order, Long> { @EntityGraph(attributePaths = {"member", "delivery", "orderItems", "orderItems.item"}) Page<Order> findAll(Pageable pageable); } 컨트롤러단 @GetMapping("/api/v3.1/orders") public List<OrderDto> ordersV3_page( @RequestParam(value = "offset", defaultValue = "0") int offset, @RequestParam(value = "limit", defaultValue = "100") int limit ) { Pageable pageable = PageRequest.of(offset, limit); Page<Order> orders = orderRepository.findAll(pageable); return orders.stream () .map(OrderDto::new) .collect(Collectors.toList()); } 이렇게 코드를 작성하면 orderItems 이것이 @OneToMany관계에 있어 DB의 데이터가 늘어나게 되기 때문에(orderItem개수에 따라) @EntityGraph(attributePaths = {"member", "delivery"}) 이렇게 적고 컨트롤러 단에서 동일하게 실행하게 되면 OrderDto::new 이것을 실행하게 되면서 Lazy전략으로 값을 가져오게 되어 페이징을 올바르게 처리할 수 있고, 만일 이때 값을 한번에 묶어서 가져오고 싶으면 @BatchSize를 이용하는 것으로 이해하였는데 올바르게 이해한 것인지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 둘의 역할이 매우 유사하고, 임베디드 타입을 잘 활용하면 굳이 상속관계를 맺어야 하는 @MappedSuperClass가 필요 없을 것 같다는 생각이 듭니다. @MappedSuperClass를 사용하면 나중에 상속을 시키고 싶어도 못하게 되고.. 딱히 장점이 없는 것 같은데 실무에서는 둘 중 어떤 것이 더 많이쓰이고 각각 어떤 때에 주로 쓰이는 지 알수있을까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. cmd로 java -jar hello-spring-0.0.1-SNAPSHOT.jar을 실행해서 웹 페이지가 잘 실행되는 것까지 확인이 되는데 그 이후 실행 종료가 안 됩니다 (아무것도 입력이 안 되는 상태입니다) 이럴 땐 어떻게 해야 할까요? ^C도 입력해봤는데 2번째 화면 그대로 입니다.