시큐리티 강의를 만들어주셔서 너무 감사합니다! 디버깅을 통한 내부 아키텍처 동작원리 이해가 너무재밌습니다 ㅎㅎ 시큐리티에 대한 거부감이 초반에 있었지만, 스프링 시큐리티 동작원리를 이해하게 되므로써 시큐리티가 재밌어지고 활용도 잘할것 같습니다. 그리고 내부 디버깅을 하면서 느낀게 코드 디자인 설계 특히 디자인 패턴에 대해서도 많이 공부할 수 있게되어서 좋은 공부 방향인것 같습니다 ㅎㅎ 다시한번 감사의 말씀을 드립니다.
LIKEWORD님 안녕하세요! 우선 좋은 강의를 마련해주셔서 정말 감사드립니다. 워드프레스 사이트를 아이폰/안드로이드 앱으로 변환하는 작업과 관련하여 궁금증이 있어 문의를 드리게 되었습니다. 개발하고자 하는 앱/워드프레스 사이트의 주요 기능은 다음과 같습니다. 사용자 로그인 기능 로그인시, 해당 사용자 웹캠의 실시간 비디오 스트리밍 로그인 이후, 해당 사용자에 대한 이벤트 트리거 발생시, 외부 서버에서 wordpress로 API 호출. API 호출에 따라, 워드프레스에서 실시간 알림(alert)이 noti되는 기능 구체적으로는, 외부 비디오 스트리밍 서버의 비디오를 워드프레스 및 변환된 앱에서 재생하고자 합니다 특정 조건이나 이벤트 발생시, 외부에서 wordpress로 API 호출이 이루어지며, 해당 API 호출에 실시간 반응하여, 구축한 워드프레스 사이트 내 가입한 사용자에게 즉각적인 알림을 제공하고 앱으로 마찬가지 noti가 되었으면 합니다. 이와 같은 요구사항이 구현된 워드프레스 사이트를 pure하게 그대로 Android/iOS Native 앱으로 변환하고자 합니다. (워드프레스 구현 기능 이외에 추가적으로 Android/iOS Native 앱에 구현할 기능 없음) 이와 같은 맥락에서, 1) 현재 기준 WordPress 사이트(페이지 내 비디오 스트리밍, 앱 푸시, 앱 종료후에도 사용자 로그인 상태 유지 기능 필요)를 가장 정교하게 iOS와 Android 모바일 앱으로 변환할 수 있는 툴 또는 플러그인 을 몇 가지 소개해주실 수 있으실까요? 유료라도 상관 없습니다. 또한 혹시 가능하시다면.. 2) 웹캠 비디오 스트리밍을 워드프레스에서 안정적으로 구현하기 위한 방안 과 3) 외부 서버에서 wordpress로 이벤트 트리거를 호출하는 I/F(API 등)이 있는지 에 대해서도 간략히만 알려주시면 정말 큰 도움이 되겠습니다. 위 질의 사항에 대해 ChatGPT, 구글, Youtube 등으로 검색이 가능했지만, 어떤 툴/플러그인이 가장 유용한지에 대한 판단이 서지 않아 문의를 드리게 되었습니다. 환절기에 건강 유의하시고, 다시 한번 감사드립니다. 좋은 하루 되세요! 감사합니다!
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 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를 사용하면 나중에 상속을 시키고 싶어도 못하게 되고.. 딱히 장점이 없는 것 같은데 실무에서는 둘 중 어떤 것이 더 많이쓰이고 각각 어떤 때에 주로 쓰이는 지 알수있을까요