묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사님이 보시는 문서 볼 수 있는 곳이 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강사님이 보시는 문서 볼 수 있는 곳이 있나요?
-
미해결스프링 시큐리티 OAuth2
authentication server 토큰 검증 api 테스트 질문
현재 /oauth2/token 에 접근하지 못하는 문제가 있는 것으로 보입니다.제가 확인해봐야할 내용이 어떤게 있을까요?동영상에서 37:33쪽에 있는 내용하고 비교를 해봤을 때, 현재로썬 authenticated 가 다르다게 진행이 되고 있어서 질문드립니다.
-
미해결스프링 시큐리티 OAuth2
인증처리에서 SecurityContext 질문입니다.
컨트롤러에서 직접 사용자 인증처리를 구현하는데 마지막에 Oauth2AuthenticationToken을 SecurityContextHolder를 사용해 securityContext에 저장하는데, 이 처리는 이번 요청이 끝나면 securityContext가 초기화되므로 securityContext를 세션에도 저장해줘야 하는거 아닌가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
given - when - then 구조에 대해 질문 있습니다.
@Test void remove() { CafeKiosk cafeKiosk = new CafeKiosk(); Americano americano = new Americano(); cafeKiosk.add(americano); assertThat(cafeKiosk.getBeverages()).hasSize(1); cafeKiosk.remove(americano); assertThat(cafeKiosk.getBeverages()).isEmpty(); }저는 given은 CafeKiosk cafeKiosk = new CafeKiosk(); 이런식으로 객체를 생성하는 단계when은 cafeKiosk.add(americano); 와 같이 실제 메서드를 사용하는 단계then은 assertThat(cafeKiosk.getBeverages()).isEmpty(); 와 같이 실제값과 기대값을 검증하는 단계라고 이해를 했습니다. 제가 given - when - then에 대해 위와 같이 이해를 했는데 맞게 이해를 한건지 궁금합니다.먼가 깔끔한(?) 코드는 given - when - then이 딱딱 나눠져야 하는건지 (객체 생성은 given 쪽에 몰아두고 메서드 사용은 when쪽에 몰아두고 검증은 then쪽에 몰아두는) 궁금합니다.하나의 단위 테스트에서도 given - when - then 의 흐름이 여러개가 존재할 수 있나요? 전체적인 하나의 흐름만 존재하는 건지 아니면 단위 테스트 내에서도 여러 흐름이 존재하는건지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
mvc패턴-적용 new-form html form 안뜸
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.mvc패턴 - 적용 자료에서 회원등록 폼뷰, 컨트롤러 코드랑 파일위치도 강의자료에서 설정하신대로 작성했고, build.gradle도 버전에 맞게 썼는데, HTML Form이 잘나타나지 않네요? 이것도 경로문제인가요?? index.html이랑 basic.html을 webapp에 넣으면 막혀서 resources/static에 넣었거든요
-
미해결
JMeter 속도 측정 시 API 속도 차이
springboot로 백엔드 서버를 구축해서 API 속도를 확인하고 싶어서 JMeter로 속도를 측정하고 있습니다.그런데 같은 API를 3개 테스트했는데 속도 차이가 너무 나는데 이유를 모르겠습니다.전부 "GET /v1/employee" API이고, 유독 첫번째 위치한 API 속도가 많이 느립니다. 정말 답답한데 힌트라도 알고 싶습니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th:if="${param.status}"
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @PostMapping("/add") public String addItemV4(@ModelAttribute("item") Item item, RedirectAttributes redirectAttributes) { Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", false); //?status=true 뜬다 url에 return "redirect:/basic/items/{itemId}"; // 이런식으로 리다이렉트 하는게 더 안전 }이렇게 redirectAttributes.addAttribute에 satus를 false 라고 했는데도 <h2 th:if="${param.status}" th:text="'저장완료'"></h2>저장완료가 출력이 됩니다. url에는 false라고 뜨는데 왜 그런건가요 ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Order import 문제
<orderServiceTest> <OrderService>Order의 import를 domain에 있는 Order class로 했는데 왜 위와 같은 오류가 나는지 모르겠습니다.
-
미해결스프링 시큐리티 OAuth2
로그인 인증 후 처리 질문입니다.
처음 로그인 인증처리받을때는 인가서버로부터 code를 받기 전에 유저의 동의가 필요하므로 유저가 아이디, 비밀번호를 입력하는 과정이 필요합니다. 그리고 이후 로그인 인증처리 완료되면 서버 세션에 SecurityContext 가 저장되고 인가서버에도 해당 유저의 세션이 저장되고 인증처리가 끝납니다. 근데 서버를 종료하고 재시작하면 서버의 세션이 초기화되므로 인증처리가 처음부터 다시 시작해야 될거같은데 서버 종료 후 다시 인증처리 받기 시작할땐 유저가 아이디, 비밀번호를 입력하는 과정 없이 authorizationEndpoint로 인가서버에 요청하기만 하면 인증과정이 성공합니다. 이유가 뭔가요?
-
미해결스프링 시큐리티 OAuth2
인증성공 후 로직 질문입니다.
지금 처음 인증성공받을때 인가서버로부터 accessToken 발급받고 이 토큰으로 유저정보 가져와서 인증성공후 securityContext, 세션에 저장합니다. 그리고 인증성공받은 이후에는 그러면 인증받았는지 안받았는지는 세션에서 SecurityContext 객체를 가져와서 인증여부를 체크하는건가요? 그렇다면 OAuth2 사용하지않고 그냥 Spring Security만 사용했을때랑 차이가 처음 인증과정만 달라지는거고 이후에는 똑같이 인증객체를 세션에 저장해서 사용하는거니까 인증후에는 로직이 똑같은건가요?
-
미해결스프링 시큐리티 OAuth2
logoutHandler 질문입니다.
로그아웃 api 설정에선 logoutSuccessHandler, invalidateHttpSession, clearAuthentication, deleteCookies 만 설정했는데 logoutFilter에 왜 인가서버에 로그아웃을 요청하는 logoutHandler가 있는건가요? OAuth2 라이브러리 의존성 추가하면 자동으로 추가되는건가요? 맞다면 logout api설정으로 먼저 클라이언트에서 세션, 쿠키, 인증 객체를 제거하고 이후 인가서버에서 해당 유저의 세션을 제거하는 logoutHandler가 호출돼서 인가서버에서 세션 삭제하고, 로그아웃 성공했으니 logoutSuccessHandler에서 설정한 RedirectUri로 이동하는건가요? 아니면 클라이언트에서 인증정보 제거후 logoutSuccessHandler에 설정한 객체가 호출돼고 이 Handler에서 인가서버에 세션제거하고 redirect하게 하는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService 통합테스트에 MemberRepository 질문 입니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MemberService 통합 테스트시MemberService와 MemberRepository를 @Autowired로 의존성을 주입하는데요여기서 MemberRepository를 주석처리 해도 테스트가 잘 되는데SpringConfig에서 주입해주기 때문일까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
빌드 오류
처음에 실행시 오류가 발생합니다. java 17이상, spring3.3 이상이라 gradle >intelliJ 로 변경 안했습니다. 변경하면 오류는 없는 것으로 보이나 추후에 다른 문제가 생길까 하여 미리 여쭤봅니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http://localhost:8081/hello 호출하면 404에러떠여
plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'hello.servlet' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }말씀주신대로 설정도 다했고 무료버전 아닌데 /hello로 호출할때 404에러가 뜹니다 ㅠㅠ
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
JAVA 강의를 어느정도까지 학습하고 Spring을 동시 학습하면 좋을까요?
안녕하세요! 김영한님의 JAVA와 Spring 강의를 수강하고 있습니다.국비지원학원에서 Spring으로 2개의 프로젝트를 했지만 기본기가 약해, 초반부터 다시 학습하고있습니다.제 목표는 Spring과 JAVA를 이해한 뒤, 토이 프로젝트를 진행해 보고자 하는것입니다.질문드리고 싶은 것은,1. JAVA 어느 정도까지 강의를 본 다음 Spring을 병행하여 공부하면 좋을지 궁금합니다.또는, JAVA의 어떤 개념까지 이해를 하고 Spring을 병행하여 공부하면 좋을지 궁금합니다.(토이프로젝트 진행을 위해 Spring을 미리 공부해보고 싶습니다.)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
4분에 실행시 MemberserviceTest에서 오류가 나요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]사진과 같은 오류가 나서 실행이 안 되는데, 어떻게 고쳐야 하나요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
zip파일 다운받아서 풀었는데도 계속 오류가 생기네요
Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Oct 10 12:40:49 KST 2024There was an unexpected error (type=Not Found, status=404).No message availablezip파일 풀었는데 저 오류가 나왔어요 왜그런걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName(String name) 메소드
[질문 내용]강의에서 배운대로 JpaRepository 인터페이스에 findAll(), findByName(), findById(), save() 메소드들이 다 수록이 되어 있어 개발자가 임의로 새로운 이름의 메소드만 선언할 때 작성하는 것으로 알고 있습니다.그렇다면 SpringDataJpaMemberRepository 인터페이스에서 MemberRepository 인터페이스를 상속하니까 findbyName(String name)메소드도 생략해도 상관없지 않나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 사이트 안열림 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.3:40초 근처에 h2/bin폴더안에서 cmd를열고 ./h2.sh를 입력하는 것을 따라 했으니 visual studio에서 h2.sh파일이 열린것 외엔 아무것도 나오지 않았습니다.cmd를 확인해보니 이러한 문구가 나와 있었습니다.[main 2024-10-09T21:04:03.696Z] update#setState idle[main 2024-10-09T21:04:33.705Z] update#setState checking for updates[main 2024-10-09T21:04:33.793Z] update#setState idle큰 문제는 없는것 같은데 왜 아무것도 안나오는지 모르겠습니다 ㅠㅠ이러한 문제는 어떻게 해결해야할까요?
-
미해결스프링 시큐리티 OAuth2
openid 질문입니다.
Scope 에 openid 가 포함되어 있으면 OidcAuthorizationCodeAuthenticationProvider 를 호출하고 아니면 OAuth2AuthorizationCodeAuthenticationProvider 를 호출하도록 제어된다고 돼있는데, 최신버전의 keycloak에선 scope에 openid가 없으면 에러가 발생하도록 돼있어서 반드시 openid를 포함시켜줘야 하는데, 그러면 인가서버로 keycloak 쓸때는 OidcAuthorizationCodeAuthenticationProvider 가 호출된다고 보면 되겠네요?