D:\코딩\kafka_demo\kafka_2.13-3.7.0> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties The input line is too long. The syntax of the command is incorrect. D:\코딩\kafka_demo\kafka_2.13-3.7.0> 입력 명령어가 너무 길다고 계속 오류가 나는데 버전을 낮춰야할까요..?
현재 프로젝트를 진행중인데, Access Token과 Refresh Token을 헤더에 담아 로컬스토리지에 저장하는 방법을 사용중입니다. 그런데 로컬 스토리지는 보안에 취약하다는 글을 보았습니다. 로컬 스토리지에 담아도 jwt 정책으로 대응이 가능하다는 글도 있었습니다. Access Token과 Refresh Token을 어디에 저장해야 할까요? 만약 로컬 스토리지나 쿠키에 저장한다면 어떻게 관리해야하나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 강사님 덕분에 JPA를 이해하며 공부중입니다. 항상 양질의 강의와 사례를 들어 설명해주셔서 감사합니다. 다름이 아니라 제가 양방향 연관관계에 있어 이해한것이 맞는지, 그리고 연관관계 메서드 설정 시 코드원리에 있어 궁금한 점이 있어 질문남깁니다. <이해한 내용> 양방향 연관관계는 RDBMS에서는 표현가능하나, 자바 객체에서는 직접적으로 표현이 어려워 단방향 2개를 사용하여 표현한다. 그렇기에 서로를 참조하는 형태이기 때문에 데이터 변경을 양쪽에서하면 무한루프, 데이터 불일치,성능 문제가 발생한다. 그렇기에 연관관계의 주인(테이블에서의 N)으로 설정해주어 주인에서만 데이터 반영이가능하고 다른 1쪽에서는 mappedBy를 이용해 읽기 전용으로만 설정하여준다. 그렇기에 member.setTeam(team); 연관관계 편의 메서드를 통해 참조를 넣어주고, 영속성에 의해 관리되는 즉 1차 캐시에서의 객체내에서 조회될 수 있도록 한다.(객체지향적임) 물론 em.flush();em.clear(); 를 사용하면 자바에서 우리가만든 객체가아닌 JPA에서의 객체를 반환하여 조회되서 상관없긴하다. 근데 넣어주자. 연관관계 편의메서드는 비즈니스 로직상 컨트롤하는 부분이 많은쪽에 만드는것이 좋다. <질문> 이 연관관계 메서드에서는 orderItem내의 order가 주입되지않은상태로 List에 저장된 후 order를 주입해주는데 결과는 똑같은것같은데 위와같이 주입시켜주고 그것을 List에 저장시키는게 더 좋은것아닌지 궁금해서 질문드립니다. 어차피 조회할때는 Order객체를 통하기때문에 순서는 상관이없나요? 사소한것일수도있고 제 자바에 대한 부족함이 커서그런것같지만 너무 궁금해서 질문드립니다.. 장문이라 죄송합니다ㅜㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 도메인과 dto와 vo는 각자 어떨 때 사용하는지 알 수 있을까요? 지금은 도메인만으로 db와 비즈니스 모두 사용되는데 검색해보면 vo는 불변일 때 도메인은 비즈니스 로직을 사용할 때 dto는 데이터를 전송할 때라고 나오는데 정확히 각ㄱ각 어느 상황에 사용되는건지 잘 모르겠어서요...!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 내용] 이번 강의는 Member 자체를 지연 로딩하는것을 설명하고 있는데, pdf 자료에선 "Member 를 조회할 때 Team 도 함께 조회해야 할까?" 라는 내용이 초반부터 등장해서요.. 특정 엔티티 조회 시, 관련된 엔티티에 대한 지연로딩은 나중 강의에서 언급되는 걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 프로젝션 쿼리에 new 명령어 관련 헷갈리는 부분이 있어서 질문 드립니다! try{ Member member = new Member(); member.setUsername("member1"); member.setAge(10); em.persist(member); em.flush(); em.clear(); List<MemberDTO> result = em.createQuery("SELECT new jpql.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class) .getResultList(); MemberDTO memberDTO = result.get(0); System.out.println("memberDTO = " + memberDTO.getAge()); System.out.println("memberDTO = " + memberDTO.getUsername()); tx.commit(); } 위와 같은 쿼리를 실행하게 되면 상위에서 생성한 member 객체에 있는 값을 result 로 복사하고 result 값을 memberDTO List의 인덱스 0으로 들어 간 값을 조회하라는 뜻이 맞는건가요..? 수업듣다가 제가 이해한게 맞는지 헷갈려서 질문 드립니다.. 답변 부탁드립니다!! 감사합니다.
강의 잘보고 있습니다. 다름이 아니라 MSA 환경에서는 한 서비스가 여러 인스턴스로 올라가있는 경우가 있는데, prometheus.yml에서 해당 인스턴스를 다 지정해주지 않아도 괜찮을까요? 또한 spring cloud gateway에서 lb://ORDER-SERVICE 형태로 로드밸런싱 처리가 되어있는데, 그렇다면 프로메테우스에서 actuator로 가져오는 데이터가 여러 인스턴스 각각 가져오는게 아닌 로드밸런싱되는데로 데이터를 가져오게 되지않나요? 호기심에 질문해봅니다.
안녕하세요 강의 잘 듣고 있습니다. 항상 감사드립니다. 먼저 질문이 두가지가 있는데요. 1) Member member1 = em.find(1L, Member.class); 을 실행하면 엔티티의 참조값이 member1에 대입되나요? 2) 1번이 맞다면 이후 em.clear()로 영속성 컨텍스트를 초기화하면, member1에 참조값이 대입된 엔티티가 준영속 상태가 되잖아요. 이때 member1.getName() 와 같은 조회 메소드를 호출하면, JPA가 다시 DB에서 member1의 pk값을 통해 조회해오나요, 아니면 그냥 DB와 상관없이 메모리에 남아있는 준영속 객체를 읽는건가요?
안녕하세요! 강의 너무 잘 듣고 있는 수강생입니다. 이전 동기화와 CPU의 관계 강의에서는 CPU가 두 개 이상의 명령어를 처리하면 원자성이 보장이 안된다고 설명을 하셨는데, SpinLock & Busy Waiting 강의에서 test_and_set(int *lock) 메서드는 CPU 하드웨어 계층에서 원자성이 보장된다는 게 이해가 잘 가지를 않습니다. test_and_set(int *lock) 이 메서드는 하나의 명령어만 처리하는 건가요??
체크 필터 적용 후 http://localhost:8080/api/products/list ? 경로로 요청 해보니 동일한 정보를 2번 보내 주는거 같은데 정상적인 상태인지 궁금해 문의 드려요. 백엔드 로그를 보면 query문이 2번 실행이 되고 있습니다. 2024-05-08T14:30:30.805+09:00 DEBUG 4545 --- [security-prj2-practice-back2] [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Secured GET /api/products/list? Hibernate: select p1_0.pno, p1_0.del_flag, p1_0.pdesc, p1_0.pname, p1_0.price, il1_0.file_name, il1_0.ord from tbl_product p1_0 left join product_image_list il1_0 on p1_0.pno=il1_0.product_pno where il1_0.ord=0 and p1_0.del_flag=0 order by p1_0.pno desc limit ?, ? Hibernate: select count(p1_0.pno) from tbl_product p1_0 left join product_image_list il1_0 on p1_0.pno=il1_0.product_pno where il1_0.ord=0 and p1_0.del_flag=0 2024-05-08T14:30:30.874+09:00 TRACE 4545 --- [security-prj2-practice-back2] [nio-8080-exec-2] o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match request to [Is Secure] 2024-05-08T14:30:30.875+09:00 DEBUG 4545 --- [security-prj2-practice-back2] [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Secured GET /api/products/list? Hibernate: select p1_0.pno, p1_0.del_flag, p1_0.pdesc, p1_0.pname, p1_0.price, il1_0.file_name, il1_0.ord from tbl_product p1_0 left join product_image_list il1_0 on p1_0.pno=il1_0.product_pno where il1_0.ord=0 and p1_0.del_flag=0 order by p1_0.pno desc limit ?, ? Hibernate: select count(p1_0.pno) from tbl_product p1_0 left join product_image_list il1_0 on p1_0.pno=il1_0.product_pno where il1_0.ord=0 and p1_0.del_flag=0 해결 해서 해결 내역 첨부 합니다. 강의 에서는 JWTCheckFilter 내부에 제일 아랫줄 filterChain.doFilter(request, response); 코드 줄을 살린채 진행 해주셔서 발생 했던 문제 인거 같습니다. 동일한 문제 겪으신 분들은 해당 코드 지우시면 1번만 호출 합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 2분 58초에 페이징 조회 시 쿼리 로그가 저는 아래와 같이 나옵니다. Hibernate: /* select m from Member m order by m.age desc */ select m1_0.id, m1_0.age, m1_0.TEAM_ID, m1_0.username from Member m1_0 order by m1_0.age desc offset ? rows fetch first ? rows only direct가 달라서 그런것일까요? 저는 h2다이렉트를 사용하고 있습니다. <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
에러상황: 포스트맨으로 요청시 http://localhost:8080/api/v1/simple-orders "timestamp": "2024-05-08T03:14:28.812+00:00", "status": 500, "error": "Internal Server Error", "path": "/api/v1/simple-orders" } 에러가 납니다. 에러코드: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor]] with root cause 전체코드:https://drive.google.com/file/d/1dmrZQpe2BMk8jNkKn2t6fjINWC6LRPiX/view?usp=drive_link 강의와 다른 부분은 @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); return all; } findAllByString->findAllByCriteria 로 변경했으나 매개변수는 똑같기 때문에 잘 작동되어야 한다는 생각을 했는데 작동이 잘 안됩니다. 이유가 뭔가요? 코드에러가 컨버터 에러가 나와서 에러를 못잡아서 [dispatcherServlet]까지 넘어간건가요? 주문목록에서는 데이터가 잘조회됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) https://drive.google.com/file/d/1G3OvEzKlffIJB8WkcuULPE7xN_A0s4KB/view 강의 중간에 controller 에서 @PostMapping 으로 폼 데이터를 받을경우 entitiy 그대로 뿌리는것이아닌 dto로 변환하여 뿌리는 게 좋다고 하셔서 한번 그 방식대로 해보았는데 화면에 데이터가 뿌려지지 않아요 ㅜ 뭐가 잘못된건지 모르겠는데 한번 확인 부탁드립니다 ..
findItems()에서 "itemA", "itemB"가 남아있다는 오류가 발생합니다. jdbc:h2:tcp://l ocalhost/~/testcase 로 접속해서 select 해 보면 데이타가 없는데, =jdbc:h2:tcp:// localhost/~/test 로 접속해서 select하면 "itemA", "itemB" 가 남아있습니다.(삭제하고 다시 실행해도....). TestDataInit을 실행하는거 같네요?? @Bean @Profile("local") public TestDataInit testDataInit(ItemRepository itemRepository) { return new TestDataInit(itemRepository); } 링크 :: https://drive.google.com/file/d/1HD2gxtYhL8B5fZ3KazZ148-4x66PPCuo/view?usp=sharing
Lombok의 @Data 가 @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode 를 만들어주는 애노테이션이라는 건 잘 압니다. 제 질문은 왜 스프링DB 2 :: 테스트 - 데이터 베이스 연동 테스트의 save에서 오류가 발생 했었는데, @Getter, @Setter를 @Data 로 바꾼 행위만으로 오류가 발생하지 않게 된 이유를 알려달라는 겁니다. @Getter, @Setter 만 설정하는게 잘 못 된거라면 그 이유가 뭐냐는 걸 문의한겁니다. https://www.inflearn.com/questions/1258907/%EC%8A%A4%ED%94%84%EB%A7%81db-2-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%97%B0%EB%8F%99-%EC%98%A4%EB%A5%98