학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의 중간 중간에 아래에 단축키를 보여주시는 것으로 이해하고 있습니다. 1번째 질문입니다. 2분 23초 화면 아래에 Extend Selection via 와 문자들이 여러가지 있는데 읽는 법을 모르겠습니다 구글링해도 알 수 없어서 질문드립니다 https:// www.google.com/search?q=extend+selection+via&sxsrf=AJOqlzUlb-H_5m0gOhEFarRhon8t-0fufw%3A1679410552822&ei=eMUZZM_fMcGRseMPmJm38Ag&ved=0ahUKEwjP-7rro-39AhXBSGwGHZjMDY4Q4dUDCA8&uact=5&oq=extend+selection+via&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIICCEQoAEQwwQ6CAgAEAcQHhATOhAIABCABBAUEIcCELEDEIMBOgoIABCABBAUEIcCOgsIABCABBCxAxCDAToECAAQAzoUCC4QgAQQsQMQgwEQxwEQ0QMQ1AI6EQguEIAEELEDEIMBEMcBENEDOgUIABCABDoGCAAQBxAeOgcIABANEIAEOggIABAHEB4QCjoICAAQBxAeEA86CAgAEAgQBxAeOgUIABCiBDoKCCEQoAEQwwQQCkoECEEYAFAAWMAbYPseaABwAHgAgAHLAYgBhBOSAQYwLjE3LjGYAQCgAQHAAQE&sclient=gws-wiz-serp 2번째 질문입니다 3분 47초에서 화면 아래에 Save All via 라고 적혀있고 그 다음에 특수문자가 적혀있는데, 해석 방법에 대해 질문드립니다
안녕하세요 파이썬으로 알고리즘만 공부하다가, 백엔드 개발자가 되기 위해 스프링을 배워보고 싶어서 영한님 로드맵을 시작했습니다. 기본적인 자바 공부를 하고 첫번째 로드맵 강의를 다 끝냈는데, 혹시 간단한 개인 or 협업 프로젝트를 할정도의 실력을 갖추려면 몇번째 강의까지 듣고 시작하는게 좋을까요? 강의를 들으면서 프로젝트도 해보고 싶은 욕구가 강하게 들어서 꼭 해보고 싶습니다. 그런데 무작정 프로젝트를 시작하기에는, 첫번째 강의를 다 들었음에도 불구하고 아무것도 모른다는 느낌이 들어서 선뜻 손을 대기가 어렵네요.. 막상 게시판 하나 만들어 보려고 구글링을 하면서 봐도 config controller service repository를 어떻게 작성해야 할지도 모르겠구요 답변 주시면 감사하겠습니다..!
안녕하세요. 강의를 수강하던 중 이해하기 힘든 현상을 발견되어 이렇게 질문드립니다. Jwt는 SigningKey로 복호화가 가능하다면, 유효한 토큰이다.(유효한 토큰이다란 기준이 여러 개 있습니다만) 라고 알고 있는데요. 아래와 같은 현상을 발견하게되서 질문하게 되었습니다. (현재 Gateway server - token.secret = A) (현재 User service - token.secret = A) 1.User-service 회원생성 2.User-service 로그인 (응답에서 jwt토큰 복사) 로그인 시 User-service의 token.secret을 SigningKey로 jwt 토큰 발급 3.Gateway의 AuthorizationHeaderFilter를 통과하는 user-service/actuator/health 호출 (response, 200) 여기까지는 정상입니다만 4.ecommerce.yml의 token.secret 변경 및 커밋 5.Gateway의 /refresh 호출 액츄에이터에 의한 token.secret 변경 (현재 Gateway server - token.secret = B) (현재 User service - token.secret = A) (현재 JWT 토큰의 SigningKey = A) 6.Gateway의 AuthorizationHeaderFilter를 통과하는 user-service/actuator/health 호출 ( response, 200 ) 여기가 질문 포인트입니다. AuthorizationHeaderFilter의 isJwtValid의 코드를 보면 subject = Jwts.parser().setSigningKey(env.getProperty("token.secret")) .parseClaimsJws(jwt).getBody() .getSubject(); 이런 구문이 있습니다. Jwt 생성 당시의 Siginingkey랑 다른 signingkey로 복호화하면 오류가 나면서 인가에 실패하는 것을 기대했습니다. 하지만 왜 정상적으로 200을 반환하는지 이해가 잘 되지 않습니다. (Gateway의 token.secret은 B로 변경됨을 로그로 확인했습니다. )
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용]
안녕하세요, 프로젝트 폴더&파일 구조에 대해 문의드리고자 글을 남기게 되었습니다. 1개 레포지토리에 2개(A, B) 프로젝트가 있습니다 각각 스프링부트 프로젝트 입니다 A 는 API Rest 서버 이고 B 는 크론 서비스로 구성된 서버 입니다 A와 B 간 통신은 없습니다 A 에서 요청을 받으면, DB 에 요청을 저장하고 B 가 주기적으로 DB 를 탐색하여 미 처리된 요청을 실제 수행하고자 합니다 예를 들어, 메일 발송 또는 영수증 (pdf) 생성 요청을 A 서버가 받아서 DB 에 저장하면, 해당 테이블을 B 가 주기적으로 확인하여 작업을 실제 수행하고자 합니다. B 서비스에서 db 엔티티를 어떻게 이용하는게 좋은 구성인지 궁금합니다. 제가 생각해본 바는 3가지 입니다 1. entity 만 독립된 레포로 구성하고, submodule 로 각각 참조하도록한다. - 1개 레포 쓰려고 구성했는데 entity 만 독립 레포로 분리한다는 점이 불편하게 다가옵니다, 그리고 submodule 구성 자체도 거부감이 들었습니다 2. A 에 주로 entity 를 작성하고, 필요한 부분만 B 에 일부 복사하여 사용한다. - 구성하기는 편하지만 관리가 잘 될까, 변경점을 잘 따라갈 수 있을까 걱정됩니다 3. 프로젝트 A 와 B 를 합치고, 실행을 각각한다. Repo |___ A |___ src / main / kotlin / com / test / api / entity |___ src / main / kotlin / com / test / api / service |___ src / main / kotlin / com / test / cron / service - api 서버와 cron 서버 jar 자체를 분리하고 싶엇는데, 제가 찾아본 바로는 gradle 관련 포럼에서 이렇게 구성하는 것을 비추천 한다는 글들을 보았습니다, 구체적으로 찾아보진 못한 상태입니다 *현재구성) Repo |___ A |___ src / main / kotlin / com / test / api / entity |___ src / main / kotlin / com / test / api / service | ... |___ B |___ src / main / kotlin / com / test / cron / service 위와 같은 환경에서 권장되는 방법이 어떤 것인지 궁금합니다. 읽어주셔서 감사합니다!
안녕하세요! 좋은 강의 너무 감사하고 잘 듣고 있습니다. 이번 수업을 듣던 중에 @ComponentScan 애노테이션과 @Configuration 애노테이션을 함께 사용하는 이유가 궁금해서 찾아봤습니다. 찾아본 결과는 다음과 같습니다. @Configuration 애노테이션이 없는 경우 Spring에서 구성정보를 제공하지 않는다는 것을 의미하기 때문에 @ComponentScan 이 스캔할 패키지 내에서 Bean으로 등록할 클래스를 찾지 않는다. 저는 @ComponentScan 이 해당 애노테이션이 달린 패키지부터 하위 패키지까지 @Component 애노테이션이 달린 모든 클래스들을 빈으로 등록해주는 역할 을 한다고 생각했는데, 위가 아니라 @ComponentScan 이 @Component 애노테이션이 달린 모든 클래스들을 찾고 @Configuration 이 해당 클래스들을 빈으로 등록해주기 때문에 같이 사용한다로 이해해도 될까요?
[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed 현재 스프링부트 2.7.9쓰고있고 어떻게 해결해야할까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. libs 폴더에 jar파일 있는 것까지 했는데 localhost :8080 가면 안됩니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } 이부분에서 String 다음 hello 이부분을 인식으로 못해서 자꾸 페이지에서 안녕하세요. null이런식으로 나옵니다. 방법좀 알려주세요 ㅠㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 @Autowired 궁금한게 있어서 문의드립니다 테스트코드가 아닌 코드에서 @Autowired 를 쓸때에는 생성자를 작성하는게 당현한걸까요? 안쓰는 분들의 코드만 봤어서 Autowired 어노테이션 사용시 생성자를 만드는 코드보고 어? 이렇게도 쓰는구나 해서 강의따라만 하다가 강사님처럼 쓰는게 정석적인게 맞는지 궁금해서요. "그냥 Autowired는 객체 만들때 외부에서 생성자나 필드,set,get 주입하려고 쓴다" 라고만 알고 있었는데.. 강사님께서는 Service 필요한 객체에 @Autowired를 붙이고 생성자를 만드셨잖아요 강사님처럼 이렇게 코드짜는게 정석적인 걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이런식으로 오류가 나옵니다 분명환경변수 17로 바꿨는데 뭐가 문제인가여?? 또한 Executing pre-compile tasks... Running 'before' tasks Checking sources Parsing java… [hello-spring.main] java: warning: source release 17 requires target release 17 Checking dependencies… [hello-spring.main] Dependency analysis found 0 affected files Errors occurred while compiling module 'hello-spring.main' javac 17 was used to compile java sources 해결좀 부탁드립니다.ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강사님이 가르쳐 주신 부분에서 locallhost로 연결을 하라 하셨는데 제 windows에서는 locallhost로 연결하기가 너무 힘들어서 ip로 연결을 했습니다만 여기서 크게 문제가 없을 지 궁금해서 질문을 올립니다!
TestRestTemplate은 스프링 테스트에서 제공하는 라이브러리로 알고 있습니다. 굳이 스프링에서 제공하는 라이브러리 말고 외부 라이브러리인 RestAssured를 사용하는 이유가 따로 있을까요? 제가 아무리 검색해도 시원한 답변을 찾을 수가 없었습니다. 둘의 장단점이나 차이점을 좀 알고 싶습니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 선생님. jdbcTemplate.query(readSql, (rs, rowNum) -> 0, request.getId())에서 (rs, rowNum) -> 0과 request.getId()의 자리가 바뀌면 안 되나요? 왜 위치가 저런 건가요? 그리고 왜 수정은 id 기준이고 삭제는 이름 기준인가요?
안녕하세요! 강의를 통해 매일 백엔드 개발자에 한 걸음 더 가까워지는 느낌을 받고 있는 취준생입니다. 김영한 강사님의 강의로 프론트엔드에서 백엔드 개발자로의 전향을 준비하고 있습니다! 다름이 아니라, 현재 저는 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵의 스프링 MVC 1편까지 완강한 상태인데요! 강사님께서 올려주신 로드맵 영상과 Q&A 게시판에서 답변주신 내용에 따르면 MVC 2편을 계속 수강하는 게 맞습니다. 그런데 제가 조금 더 빠르게 토이 프로젝트(정확히 말하면 상용 웹 서비스 출시 - 같이 하는 동료가 있습니다!)에 투입되고 싶은 마음이 큰 상태여서 이후 커리큘럼에 대해 고민이 생겼습니다..! 우선은 실무적인 웹 애플리케이션 개발을 다루는 현재 강의(실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발)를 먼저 들음으로써 - 시간도 MVC 2편 대비 7시간 정도로 짧은 편이기에...! - 전체적인 개발 플로우를 접한 후, MVC 2편부터 DB 2편까지 남은 스프링 완전 정복 로드맵 강의를 수강하면서, 부족한 부분을 채워나가는 건 어떨까 생각이 들었습니다! 이와 관련해서 김영한 강사님의 고견을 듣고 싶어서, 질문글을 작성합니다 :-)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 spring 강의를 듣고 혼자 구글링을 통해 연습을하다가 다시 인강으로 돌아온 수강생입니다! 혼자 연습할 때 리포지토리를 작성할 경우 JpaRepository를 extends 하여 사용하였습니다. 이때 em의 역할까지 자동으로 해주는것같아 엔티티 메니저는 사용하지않았습니다. 구글링을 더 해보니 CrudRepository등도 존재하는 것을 알게 되었습니다. 여기서 질문은 보통 어느 방식을 선택하는지 궁금합니다. 상황에 맞는 방법이 있는 것인지 아니면 추세가 변하여 요즘은 어떤 것을 주로 쓴다는 흐름이 있는 것인지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의 13분 20초를 실습하는데 gradle-resources-test:hello-spring.main: java.lang.NoClassDefFoundError: 에러가 생겼습니다 해결시도1. 스택오버플로우에서 https://stackoverflow.com/questions/27978908/java-lang-noclassdeffounderror-org-apache-tools-ant-util-readerinputstream-vaad Try File > Invalidate Caches / Restart 를 따라했는데, 해결이 되지 않았습니다 해결시도2. https://www.inflearn.com/questions/728870/java-lang-noclassdeffounderror-org-apache-tools-ant-util-readerinputstream 이분도 저와 같은 에러가 있어서 프로젝트를 새로 생성하였는데 해결이 되지 않았습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 강사님 안녕하세요 강의 11분 8초에서 19번째 줄 코드에서 exclude group: 이라는 코드가 보이는데 제 코드에서는 그 코드가 보이지 않습니다 그 이유와 이 코드의 역할에 대해서 질문 드리고 싶습니다.