묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 2.2.224버전 MVCC
저는 현재 스프링 부트 최신 버전 3.2.2 를 쓰고H2는 2.2.224 버전을 사용하고 있습니다.테스트를 할 때 실패가 떠서 확인해보니org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported connection setting "MVCC" [90113-224] 위와 같은 오류가 생겼습니다.H2 데이터베이스의 MVCC 옵션은 1.4.200 버전부터 deprecated 되었고, 이후 버전에서는 완전히 제거되었다고 합니다.url: jdbc:h2:tcp://localhost/~/jpashop저와 같은 오류가 생기시는 분이 있으시다면 이렇게 MVCC 부분을 제거하고 실행하시면 테스트가 잘 돌아갑니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이미 존재하는 회원이라고 오류가 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.전 강의에서 통합테스트할 때는 잘 돌아갔는데 jdbc 템플릿으로 코드를 수정하니 이런 오류가 뜹니다. 코드에는 빨간불이 안 떠요. 문제가 뭘까요?껐다 다시 키고 실행하니 이렇게 뜹니다. integrationtest클래스랑 회원가입, 중복회원예외에 다 빨강느낌표 표시가 뜨고 저런 오류가 떠요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
CascadeType.ALL 질문
엄청난 질문은 아니짐만 궁금한점이 있어 질문드립니다. CascadeType.ALL을 사용하면 자동으로 연관된 엔티티나 자식 엔티티들의 영속성을 관리해주는것으로 이해했는데 그렇게되면 fetch = EAGER을 사용할때와같은 데이터베이스 과부하 문제가 발생하지는 않는지 질문드립니다.실무에선 CascadeType.ALL을 잘 사용하는지 경우를 나누어서 사용한다면, 언제는 부적절하고 언제는 사용하는 것이 적절한지 궁금합니다. 사용하지 않는다면 대안은 무엇인지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
application.yml을 꼭 main/resources/application.yml 경로에 넣자
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]application.yml파일을 main/resources/application.yml에 넣었다고 생각했는데 폴더 바깥에 두어서 한동안 뭔지도 모르고 헤맸습니다.. 혹시 저와 똑같이 헤매시는 분이 있을까 해서 글 남깁니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
버전 3.2.2 테스트 오류 - 해결은 했지만 궁금한 점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] id 'java' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4'java { sourceCompatibility = '17'}현재 쓰는 버전입니다.애플리케이션 실행에는 문제가 없지만 테스트시에 아래와 같이 오류가 뜹니다.Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Workspace/jpa_%EA%B0%95%EC%9D%98/jpashop/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 1s4 actionable tasks: 1 executed, 3 up-to-date이에 대한 해결 방법을 찾아 보던 중파일 - 설정 - 빌드,실행,배포 - gradle - 다음을 사용하여 테스트 실행 - IntelliJ IDEA 로 변경을 하여 해결하였습니다.해결은 했지만 왜 이와같은 오류가 일어났었는지 IntelliJ IDEA 로 테스트를 실행하도록 했을 때 왜 동작하는지 앞으로 다른 문제가 발생하지는 않을지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
내장 톰캣에 대해 궁금한게 있습니다.
스프링부트에부터는 내장 톰캣을 사용하는거엔 익숙해져 있는데,과거에는 RedHat JBoss와 같은 외장 WAS들을 사용했다고 하던데 이로 인해 발생하는 단점 같은 것은 없을까요? 예를 들어 기술 지원을 더이상 받지 못한다던가.. 외장 WAS들이 가지고 있는 장점이 사라진다거나 성능의 차이같은 것은 없는지 궁금합니다. 검색을 해보았을 땐 내장 톰캣이 아파치 톰캣 개발자들도 내장 톰캣의 사용에 문제가 없다라고 했다던지, 성능 차이가 크지 않다는 자료들은 찾았는데 아직 여전히 스프링부트를 사용하지 않는 회사들이 많다고 알고 있습니다. 강의 내용처럼 이렇게 편리하다면 스프링부트의 버전업은 몰라도 스프링'만' 쓰는 회사들이 시스템을 스프링부트로 업그레이드 하지 않을 이유는 없을 것 같아서요! 친절한 강의 감사드립니다. 태현님!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080/hello 에러 발생
안녕하세요. localhost:8080/hello 을 실행하면 whitelabelerror 500이 발생 합니다. 경로도 영어로 바꿨고, 코드도 확인했고, 실행 중인지도 확인 했는데 안 됩니다.해결 방법이 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemoryMemberRepositoryTest 실행시 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]package msj9965.project1.repository; import msj9965.project1.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.*; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach public void afterEach(){ repository.clearStore(); } @Test public void save(){ //given Member member = new Member(); member.setName("spring"); //when repository.save(member); //then Member result = repository.findById(member.getId()).get(); assertThat(result).isEqualTo(member); } @Test public void findByName(){ //given Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); //when Member result = repository.findByName("spring1").get(); //then assertThat(result).isEqualTo(member1); } @Test public void findAll(){ //given Member member1 = new Member(); member1.setName("Spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("Spring2"); repository.save(member2); //when List<Member> result = repository.findAll(); //then assertThat(result.size()).isEqualTo(2); } } 위와 같이 MemoryMemberRepositoryTest을 작성했는데 테스트 코드 실행 시 아래와 같은 오류가 뜹니다.Execution failed for task ':test'.> Process 'Gradle Test Executor 14' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 1s4 actionable tasks: 2 executed, 2 up-to-date
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트를 실행해도 db에 반영이 안되는 것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.처음에 db delete 안 해주고 실행했을 때도 체크 표시가 떴고 delete 해주고 실행, db에서 회원 목록 조회하니 목록에 아무도 없습니다. test가 db에 연결이 안된 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
itemId 파라미터
주문하고 제출하면 이렇게 뜨는데 itemId 파라미터가 제대로 연결이 안된거인가요?? 코드 똑같이 작성했는데 뭘 제대로 다시 봐야하는지 잘 모르겠어요...
-
미해결백엔드 개발자 성능 개선 초석 다지기
LRU 알고리즘 질문
memoryStoreEvictionPolicy 에 가장 최근에 액세스된 항목을 먼저 제거하는 LRU 알고리즘을 사용했습니다. 라고 자료에 나와있는데, 제가 알기로 LRU 알고리즘은 가장 오랫동안 사용되지 않은 데이터를 삭제하는 것으로 알고 있습니다. 자료에서 설명하신 의미가 잘 이해가 되지 않아서 질문 드립니다.
-
미해결스프링 시큐리티 OAuth2
ExceptionTranslationFilter에서 this.authenticationEntryPoint.commence(request, response, reason)에 중단점이 걸리지 않습니다ㅠ
안녕하세요.거의 동일한 환경에서 실습 진행 중입니다.스프링부트 2.7.2 버전입니다.리소스 서버 인증 방식으로 해서 루트 경로 접근 시 401 error가 뜨려면 기본 엔트리포인트 객체인 BearerTokenAuthenticationEntryPoint의 commence 함수가 호출되어야 할 텐데요..그 로직을 안 탑니다. 그런데 401 error은 정상적으로 떠요.ExceptionTranslationFilter의 sendStartAuthentication 함수 안에도 중단점을 걸어보고 BearerTokenAuthenticationEntryPoint의 commence 함수에도 중단점을 모두 걸어봤는데도 안 되네요. 미스테리입니다. yml 파일만 작성했으므로 코드 상의 실수도 없을 텐데 말이죠ㅠ+다른 엔트리 포인트에도 전부 중단점을 걸어보았는데 어디에도 걸리지 않네요브랜치 링크입니다!
-
미해결백엔드 개발자 성능 개선 초석 다지기
모니터링 관련 질문
스카우터를 사용하면 트랜잭션 마다, 소요시간을 볼 수 있고, 로그도 확인이 가능한 것이 굉장히 매력적으로 느껴졌는데요실무에서도 많이 사용하는 툴 인가요? AWS 환경에서도 한 번 적용을 해보고 싶은데, AWS와도 같이 사용하는 편인가요?그리고 서버가 여러 대 있는, 스케일 아웃 환경에서는 어떤 식으로 사용되나요? 인스턴스마다 스카우터를 설치를 하고, 모니터링을 하는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
수정이라는 작업을 할 때 PUT을 더 사용하는 이유가 있을까요?
HTTP 메서드에 처음 공부할 때 수정의 경우에는 PUT과 PATCH를 사용한다고 배웠는데요. PUT의 경우에는 통째로 갈아끼우는 방식의 갱신이고PATCH의 경우에는 부분 수정이 가능하다고 배웠습니다.이 강의에서는 USER의 정보중에 이름만받고 있어서(PUT은 전체 필드를 명시해주어야 한다고 배웠습니다.) PATCH가 더 적당한 방식이 아닌가라는 생각이 들었습니다. PATCH가 아닌 PUTMapping을 사용하신 이유가 있으실까요? 그리고 이와 관련된 블로그 글들이 많은데 저마다 내리는 결론이 달라서 조금 혼란스럽습니다. 강사님의 생각을 듣고 싶습니다.좋은 강의 만들어주신 태현님을 존중하고 존경하며 이만 글 줄이겠습니다!
-
해결됨토비의 스프링 부트 - 이해와 원리
@Conditional 학습테스트 << 강의중 질문있습니다!
안녕하세요 토비님. 수업 잘 듣고있습니다다름이 아니라,학습테스트 강의 중에, @Conditional() 괄호 안에 있는 클래스의 리턴값에 따라 true/false를 반환하는 void conditional() 테스트 메서드에 대해 질문이 있습니다. true를 리턴하는 경우 코드가AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();ac.register(Config1.class);ac.refresh();MyBean bean = ac.getBean(MyBean.class);이고, false를 리턴하는 경우는AnnotationConfigApplicationContext ac2 = new AnnotationConfigApplicationContext();ac2.register(Config2.class);ac2.refresh();MyBean bean2 = ac2.getBean(MyBean.class);인데요..여기서 true 테스트는 성공하고 false테스트는 실패를 합니다.여기서 생긴 의문점은, ac와 ac2 둘다 스프링 컨테이너를 가리키는 것인데, ac.getBean의 결과와 ac2.getBean의 결과가 다르다는것은 앞서 ac.register()해서 등록한 MyBean이 ac2 스프링 컨테이너에는 없다는 것으로 해석이 되는데요.. 스프링에서는 스프링 컨테이너라는것이 하나 존재하고 그 안에 여러 빈들이 들어있다고 지금까지 생각하고 있었습니다.그래서 ac에서 bean을 등록했기때문에 ac2.getBean을 해도 똑같이 MyBean이 존재해야 하는것이 아닌가?? 라는 의문점이 듭니다. Q1. ac와 ac2 는 다른 스프링 컨테이너인가요 ??Q2.다른것이라면 , 스프링에서는 스프링컨테이너가 여러개 존재하는 것인가요??읽어주셔서 감사합니다. 새해 복 많이 받으세요
-
미해결코틀린 문법부터 실무까지 (실전 자바->코틀린 변환)
강의교재 PDF
안녕하세요 제공해주신 PDF 파일14_코틀린 사용을 위한 그레이들 스크립트변환.pdf 파일내용이 잘려있어서 복붙하는데 어려움이 있습니다.해결은 했습니다만 나중에 다른분들을 위해 수정해주시면 감사합니다 !
-
해결됨스프링 시큐리티
AjaxLoginAuthenticationEntryPoint 관련 질문입니다.
안녕하세요 강의 잘 듣고 있습니다!!저는 [스프링 부트 v3.1.3 , 스프링 시큐리티 6.2 버전]으로 강의를 듣고 구현해보고 있습니다!AjaxLoginAuthenticationEntryPoint(), ajaxAccessDeniedHandler()에서 계속 401 에러 [로그인이 안되어 있음]가 발생하여 해결 방안을 찾지 못하고 질문 올립니다.테스트 사진에서 admin() 버튼을 눌렀을 때, manager 권한으로 provider에서 잘 실행이 된 후, 곧이어 "/api/message.do" get 방식으로 호출한 상태를 나타냅니다. (결과 : 401 에러, 예측 값 : message ok가 되야함) 세션 쿠키도 잘 생성이 되고 있지만, 다시 /api/message.do으로 보낼때, AnonymousAuthenticationToken으로 넘어가고 있습니다... 어디선가 초기화가 되는 것일까요...? @Bean public SecurityFilterChain allfilterChain2(HttpSecurity http) throws Exception { http.csrf(csrf ->csrf.disable()) .securityMatcher("/api/**") .authorizeHttpRequests(request -> request .dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll() // 맨 처음 .requestMatchers(new AntPathRequestMatcher("/api/login")).permitAll() //여기 경로만 탈때 ajaxSecuriyConfig가 작동을 하게 되는 것이다. .requestMatchers(new AntPathRequestMatcher("/api/messages.do")).hasRole("MANAGER") .anyRequest().authenticated() // 어떠한 요청이라도 인증필요 ) .exceptionHandling(handling ->handling .accessDeniedHandler(ajaxAccessDeniedHandler()) .authenticationEntryPoint(new AjaxLoginAuthenticationEntryPoint()) ) .addFilterBefore(ajaxLoginProcessingFilter(authenticationManager(http)), UsernamePasswordAuthenticationFilter.class); ; return http.build(); } function getMessege() { $.ajax({ url: '/api/messages.do', type: 'get', dataType: 'json', contentType: "application/json", data: {}, success: function(res){ // ajax 통신 성공시 호출 console.log(res); }, error: function(xhr, status, error) { // 요청이 실패했을 때 실행될 콜백 함수 console.log('Error:', xhr.responseText); } }); } function admin() { $.ajax({ url: '/api/login', type: 'post', dataType: 'json', contentType: "application/json", data: JSON.stringify({ user_name : "manager", password : "1234rf" }), success: function(res){ // ajax 통신 성공시 호출 console.log(res); getMessege(); }, error: function(xhr, status, error) { console.error('Error:', xhr.responseText); } }); }
-
해결됨실습으로 배우는 선착순 이벤트 시스템
consumer에서 숫자가 출력되지 않습니다ㅠ
안녕하세요제가 누락된 곳이 있는건지 테스를 시작하면터미널에서 컨슈머쪽에 숫자가 찍히지 않는데 무슨 문제일까요....?아예 실행자체가 안되는 것 같은데 혹시 터미널로 Producer테스트 코드 여쭤볼 수 있을까요..혹시 아니면 프로젝트 코드 문제가 있을 것 같아서주소 첨부드립니다..감사합니다 https://github.com/KMSKang/coupon-system [터미널에 입력한 consumer 명령어]docker exec -it kafka kafka-console-consumer.sh --topic coupon_create --bootstrap-server localhost:9092 --key-deserializer "org.apache.kafka.common.serialization.StringDeserializer" --value-deserializer "org.apache.kafka.common.serialization.LongDeserializer"ProducerConfig values: acks = -1 batch.size = 16384 bootstrap.servers = [localhost:9092] buffer.memory = 33554432 client.dns.lookup = use_all_dns_ips client.id = producer-100 compression.type = none connections.max.idle.ms = 540000 delivery.timeout.ms = 120000 enable.idempotence = true interceptor.classes = [] key.serializer = class com.fasterxml.jackson.databind.ser.std.StringSerializer linger.ms = 0 max.block.ms = 60000 max.in.flight.requests.per.connection = 5 max.request.size = 1048576 metadata.max.age.ms = 300000 metadata.max.idle.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partitioner.adaptive.partitioning.enable = true partitioner.availability.timeout.ms = 0 partitioner.class = null partitioner.ignore.keys = false receive.buffer.bytes = 32768 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retries = 2147483647 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.connect.timeout.ms = null sasl.login.read.timeout.ms = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.login.retry.backoff.max.ms = 10000 sasl.login.retry.backoff.ms = 100 sasl.mechanism = GSSAPI sasl.oauthbearer.clock.skew.seconds = 30 sasl.oauthbearer.expected.audience = null sasl.oauthbearer.expected.issuer = null sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100 sasl.oauthbearer.jwks.endpoint.url = null sasl.oauthbearer.scope.claim.name = scope sasl.oauthbearer.sub.claim.name = sub sasl.oauthbearer.token.endpoint.url = null security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 socket.connection.setup.timeout.max.ms = 30000 socket.connection.setup.timeout.ms = 10000 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.3] ssl.endpoint.identification.algorithm = https ssl.engine.factory.class = null ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.certificate.chain = null ssl.keystore.key = null ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLSv1.3 ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.certificates = null ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS transaction.timeout.ms = 60000 transactional.id = null value.serializer = class org.apache.kafka.common.serialization.LongSerializer
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
안드로이드 앱 서버개발 질문
안드로이드 앱 개발에서 백엔드를 맡아 서버를 개발해야 하는데요 강좌는 웹을 기반으로 rest api를 작성하는데 앱에 적용 시켜도 별반 차이가 없을까요?
-
미해결스프링 시큐리티 OAuth2
ClientRegistrationRepository 커스터마이즈
ClientRegistrationRepository 를 구성하는 방법으로 client_id, secret 을 properties 나 빈으로 만들어 준비하는 방식으로 많이 예제가 있는데 Resource Owner 와 Client 가 동일해 client_credentials 방식으로 인가를 진행하고 싶을 경우 어떻게 customizing 할 수 있을까요? 고객사마다 가입해 client_id, secret 을 발급받는 상황에서는 미리 properties 나 bean 으로 하드 코딩 해둘 수 없을 것 같습니다.