묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
AuthorizationHeaderFilter 에 추가한 @component 관련 오류
안녕하세요 강사님! 서버를 실행 시키면 다음과 같은 오류가 나오는데 도무지 원인을 못찾겠어서 질문 드립니다 ㅠㅠ java.lang.ClassCastException: class java.lang.Object cannot be cast to class com.example.apigatewayservice.filter.AuthorizationHeaderFilter$Config (java.lang.Object is in module java.base of loader 'bootstrap'; com.example.apigatewayservice.filter.AuthorizationHeaderFilter$Config is in unnamed module of loader 'app') at com.example.apigatewayservice.filter.AuthorizationHeaderFilter.apply(AuthorizationHeaderFilter.java:17) ~[classes/:na] at org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator.loadGatewayFilters(RouteDefinitionRouteLocator.java:154) ~[spring-cloud-gateway-server-3.1.0.jar:3.1.0] ... 오류가 너무 길어서 잘랐는데 전문을 보여드려야 할까요??
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
ARPU와 LTR, 롤링 리텐션
안녕하세요. Revenue 강의 중에 헷갈리는 부분이 있어 질문 드립니다. LTR을 계산할 때 월별로 "매출 / 전체 가입자수"로 계산한다고 이해했는데, ARPU과 같은 건지 헷갈리네요. 월별로 ARPU를 구해서 평균을 낸 게 LTR이라고 이해하면 될까요? 그리고 Retention과 Revenue 쪼개보기 엑셀 실습 강의에서도 궁금한 점이 있습니다. 최근 3년 동안 잔존율과 ARPPU가 좋아지고 있는지 구하고 연도별로 비교해보고 싶다면, 이때도 롤링 리텐션으로 계산해도 될까요? 기간을 길게 잡을수록 돌아오는 유저가 많아져서 over-estimated 되는 게 아닐까? 하는 의문이 들어서... 답변 부탁드리겠습니다!
-
해결됨[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Failed to convert value of type 'java.lang.String' to required type 'java.util.Locale 오류 문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 POSTMAN에서 Accept-Language에 값을 아무것도 설정 안하거나 en으로 설정했을때 다국어 처리가 잘 되는 것을 확인할 수 있었습니다. 이번에는 호기심에 크롬에서 URI를 입력하고 테스트를 해봤는데 제 예상으로는 한국어로 브라우저에 결과값이 찍혀야 되는데 Boot로그를 보니 다음과 같은 에러를 확인할 수 있었습니다. 로그를 보고 크롬 개발자 Accept-Language 헤더 값을 살펴본 결과 요청 헤더의 Accept-Language 값에 다음과 같이 값을 포함하고 있는 것을 확인하였습니다. 이럴 경우 부트에서 파싱을 못해서 저런 상황이 발생하는 것 같은데 해결방법이 있을까요? 구글링을 해보니깐 헤더 말고 쿼리 파라미터를 이용해서 ISO언어코드를 넘겨서 처리하는 방법이 있던데 헤더로 넘길 경우 이렇게 발생할 에러에 대비해서 쿼리파라미터로 처리 방식으로 바꿔야 하는지 궁금합니다
-
미해결스프링 시큐리티
원래 Method 방식은 권한계층이 적용되지 않는건가요 ?
Url 방식은 정삭적으로 권한계층에 맞게 manager 권한을 요청하면 manager, admin은 접근 가능하지만, user는 접근 불가하게 설정되는 반면, Method방식은 manager 권한을 요청하면 manager을 제외한 user와 admin 은 접근이 불가능합니다. 왜 이런걸까요 ?
-
미해결스프링 시큐리티
본인글 삭제 아래 질문 이어서..
안녕하세요. 댓글로 다시 질문드렸는데 못보시는것 같아서 한번 더 질문드립니다. 인증을 받은 상태라서 로그인 유저 정보를 가져오는데는 어려움이 없습니다. 그럼 작성한 게시글의 작성자 id는 어떻게 가져오는가가 문제입니다. @PreAuthorize("isAuthenticated() and (( #board.createdBy == principal.userId ) or hasRole('ROLE_ADMIN'))") @RequestMapping( value = "/{id}", method = RequestMethod.PUT) public ResponseEntity<Message> updateUser(Board board, @Pathvariable String id){ messageService.updateMessage(id); return new ResponseEntity<Message>( new Message("수정성공"), HttpStatus.OK ); } 구글링을 해보니 바디에 삭제 혹은 수정할 글의 정보를 담아서 위 코드와 같이 요청을 보내더라구요.. 그럼 의미가 없는게 아닌가 싶습니다. 해당 글쓴이의 id(pk)를 제 id와 같게 담아서 보내면 삭제할수 있는 권한만 있으면 다른 글도 삭제 혹은 수정이 되지 않는가? 라는 생각이 들더라구요.. 제가 이상하게 생각하는건가요??ㅎㅎ;;
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
getter와 mutations 의 차이점
두개의 차이점이 정확히 어떤건가요?? 두개다 결국은 state값을 변경해주는거 라고 이해했는데 차이점을 잘 모르겠습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Assertions 클래스 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 강사님 다름이 아니라 강의때랑은 다른 버전이 start.spring.io 에 보여서 그래들, 자바 , 2.5.9 버전을 사용했습니다. 그런데 assertThat 과 assertThrows 메소드가 임포트 되지 않는 것을 확인했는데 왜 그럴까요? 라이브러리 디펜던시 쪽이 강의랑 다른 부분때문에 그런건가요?
-
미해결제대로 파는 Git & GitHub - by 얄코(Yalco)
Git Flow 에 대해서도 강의 부탁드립니다.
깃플로우에 대해서도 강의 부탁 드립니다.
-
미해결Illustrator CC 2021 기초 다지기
활용편2강의 크롬아이콘 만들때 나누기
활용편 2강에서 크롬아이콘 만드는데 원에 직선 그려서 세 면으로 나눠서 각 각 다른 색으로 만들어야하는데 나누기(divide)가안되는건지 ungroup이 안되는건지 나눠지지가 않아요. 왜이런지 아시는분,,ㅠㅠ??
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
pod metadata의 label
안녕하세요 좋은 강의 잘 듣고 있습니다. 현재 ch3을 진행중에 있습니다. 간단한 질문인데요 pod의 metadata에서 label로 run을 사용하는데요 이 label은 어디에서 사용되고있는건가요? 혹은 왜 들어가있는건가요? metadata 및 label의 사용법에 대해서 이해가 조금 안되는 것 같습니다. pod metadata label run 키워드로 구글링 해봤는데 정보를 찾기 어려워 문의 드립니다. 감사합니다.
-
미해결초보를 위한 쿠버네티스 안내서
ingress 질문
강사님 안녕하세요! ingress의 nginx에서 각 host에 따라 분기를 해준다고 이해했는데 그럼 결국 어떤 도메인을 향한 요청이든 처음에는 nginx를 거쳐야 할것 같은데 어떤 도메인을 입력해도 nginx 80번 포트로 요청이 가는 원리가 궁금합니다.!
-
미해결파이썬(Python) 기초부터 실무까지 part.2
함수(실습-3) ex05.py 소수구하는 방법요
실제로 코드 동작시켜서 예시로 정수에 소수가 아닌 숫자 21을 입력하면 소수가 맞다고 나오는데 ... for문 안에서 입력한 숫자 21%2가 0이아니라 temp = True가 되고 for문을 더이상 타지않고True로 Return 되는 것 같습니다.. 또한 숫자 2를 입력했을 때도 해당하는 조건이 없어서 None으로 나오는 것 같구요.. 2에 해당하는 예외처리를 추가하고 이전에 False가 되는 조건이 나오면 소수가 무조건 아니게 되므로 더이상 for문 타지않게 Break문 추가해주고 return 위치를 바꿔서 for문이 계속 동작하도록 수정해봤습니다. 혹시 틀린 부분이 있을까요..?! def is_prime(num): temp = True if(num == 2): temp = True for i in range(2, num): if (num%i) == 0: temp = False break else: temp = True return temp
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
스크래피 - 여러 웹페이지 크롤링하기
안녕하세요 :) 34강 scrapy 다양한 사용법 - 여러 웹페이지 한번에 크롤링하기 강의 관련 간단한 질문이 있습니다. def start_requests(self): yield scrapy.Request('http://davelee-fun.github.io/', self.parse) 위 코드의 self.parser에 대해 궁금한 점이 있습니다. 이전에 객체 지향 관련 강좌를 들었을 때 객체.함수 이런 식으로 작성하는 경우를 봤는데 위의 경우 self.parser에서 self는 객체가 아닌 것 같은데 왜 self.parser로 작성되는지 궁금합니다. 제가 모르고 있는 다른 문법이 있는건가 싶어서요. 답변 부탁드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplication 실행 후 오류
https://github.com/heoeuntaek/hello-spring.git HelloSpringApplication 실행한 뒤이고요 거부했다고만 뜨네요. 서버 자체가 실행 안되는 것 같은 느낌이 드는 것 같은데 뭐가 문제일까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
인피니티 스크롤 적용시 정렬
인피니티 스크롤로 구성할때 해당 게시물들의 정렬들은 어떻게 동작을 하게 되는 것인가요? 현재 불려온 데이터들만 정렬하는건 아닌거같아서정렬할때마다 전체 데이터를 조회해서 상위 10개씩 뽑는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplicationTests 실행 오류
https://github.com/heoeuntaek/hello-spring.git package hello.hellospring.repository;import hello.hellospring.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() { Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); //System.out.println("result = " + (result ==member)); //result가 member와 같냐 // 글자로 가져올 수 없기 때문에 사용x 아래 거 사용 assertThat(member).isEqualTo((result)); } @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test public void findAll(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); List<Member> result = repository.findAll(); assertThat(result.size()).isEqualTo(2); } } plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java'}group = 'hello'version = '0.0.1-SNAPSHOT'sourceCompatibility = '11'compileJava.options.encoding = 'UTF-8'tasks.withType(JavaCompile) { options.encoding = 'UTF-8'}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' }}test { useJUnitPlatform()} 오류 Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/taek/OneDrive%20-%20inu.ac.kr/바탕%20화면/hello-spring/hello-spring/build/reports/tests/test/index.html * 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. 예전엔 됬었는데 갑자기 안되네요
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커 실습자료는 어디서 다운받나요?
안녕하세요 도커 강의 수강생입니다. 공지사항을 봐도 실습자료는 다음챕터에서 받을수 있다고만 나오는데 다음 챕터가 어디인가요? 도커 실습자료를 어디서 받을수 있는지 알려주시면 감사하겠습니다~
-
미해결홍정모의 따라하며 배우는 C++
placeholder
bind, placeholder라는 개념이 잘 이해가 안되는데요! 1. bind를 사용하는 이유가 무엇인가요?2. placeholder의 의미가 무엇인가요?
-
미해결홍정모의 따라하며 배우는 C언어
실수형의 최댓값과 최솟값
안녕하세요 선생님 float.h 에서 FLT_MIN과 FLT_MAX를 출력해봤는데요 둘 다 %e는 잘 표현이 되었지만 %f는 FLT_MIN의 경우에는 표현이 되지 않았습니다.(0으로 떴네요) %e가 %f보다 더 넓은 범위를 표현할 수 있다고 이해했기에 자연스러운 현상이라고 생각했는데 왜 FLT_MAX는 잘 뜨는데 FLT_MIN만 표현이 안되는지는 궁금합니다. MIN 값을 표현하는데에 있어서 메모리가 더 요구된다고 생각하면 되나요??
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
WHERE 조건 질문드립니다.
강사님께, 안녕하세요. 우선 SQL 강의를 초급부터 계속 따라오고 있는데 흥미롭게 잘 듣고 있습니다. 좋은 강의에 감사드립니다. 그리고 이번 문제를 풀면서 의문점이 생겨 이렇게 질문 드립니다. 제가 처음에 작성한 코드는 SELECT DISTINCT L1.num AS ConsecutiveNums FROM Logs AS L1 INNER JOIN Logs AS L2 ON L1.id = L2.id-1 INNER JOIN Logs AS L3 ON L2.id = L3.id-1 WHERE L1.num = L2.num = L3.num 이것인데요. Run Code시에는 문제가 없었지만, Submit에선 WrongAnswer이 되었습니다. 그런데 강의 내용과 동일하게 WHERE 조건을 설정하여 아래와 같이 작성한 경우에는, Submit에도 통과되었습니다. SELECT DISTINCT L1.num AS ConsecutiveNums FROM Logs AS L1 INNER JOIN Logs AS L2 ON L1.id = L2.id-1 INNER JOIN Logs AS L3 ON L2.id = L3.id-1 WHERE L1.num = L2.num AND L1.num = L3.num 제가 느끼기엔 두 가지가 동일한 조건처럼 느껴지는데, 왜 이런 차이가 발생하는지 여쭙고 싶습니다. 그럼 답변을 기다리겠습니다! 감사합니다.