묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
cannot resolve property
application.yml 파일에서 글로벌 필터의 속성 ( baseMessage, preLogger, postLogger) 는 인식하는데 로깅 필터의 속성은 인식하지 못해 cannot resolve property 에러가 납니다. 왜인지 이유를 알 수 없어 질문드립니다.LoggingFilter.java 파일입니다.package com.todaypills.apigatewayservice.Filter; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.OrderedGatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.stereotype.Component; import reactor.core.publisher.Mono; @Slf4j //for print log @Component /**커스텀 필터의 일종임, 단지 로그를 찍기 위한 필터이므로 이름을 Logging 이라고 지은 것*/ public class LoggingFilter extends AbstractGatewayFilterFactory<LoggingFilter.Config> { public LoggingFilter() { super(Config.class); } @Override public GatewayFilter apply(Config config) { /** * 위쪽 주석부분은 람다 표현식으로 바로 리턴한 것이고 이것은 람다를 사용하지 않고 리턴한 것임, * 따라서 인스턴스부터 만들어주어야 하고 GatewayFilter는 인터페이스이기 때문에 직접 인스턴스를 생성할 수는 없고, OrderedGatewayFilter() 를 이용하여 인스턴스를 만들어주어야함 * */ GatewayFilter filter = new OrderedGatewayFilter(((exchange, chain) -> { /** exchange: request와 response 객체를 얻기 위함 */ ServerHttpRequest request = exchange.getRequest(); ServerHttpResponse response = exchange.getResponse(); log.info("logging filter: request id -> {}", config.getBaseMessage()); if(config.isPreLogger()){ log.info("logging pre filter start: request id -> {}", request.getId()); } return chain.filter(exchange).then(Mono.fromRunnable(() -> { if(config.isPostLogger()){ //Mono 객체: 웹플럭스(스프링5)에서 지원하는 기능으로 비동기방식의 서버에서 단일값을 전달할 때 모노타입으로 전달 log.info("logging post filter end: response code -> {}", response.getStatusCode()); } })); }), Ordered.HIGHEST_PRECEDENCE); //HIGHEST_PRECEDENCE 는 적용할 필터가 여러개일 때 어느것이 먼저 실행될지 우선순위를 부여함 return filter; } @Data // setter getter 함수 생성 (isPreLogger(), isPostLogger() 등) public static class Config{ // 여기에 configuration 이 있다면 삽입 private String baseMessage; private boolean preLogger; private boolean postLogger; } } application.yml 파일입니다.server: port: 8000 eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka spring: application: name: apigateway-service cloud: gateway: default-filters: - name: GlobalFilter args: # 우리가 정의한 변수 baseMessage: 게이트웨이 글로벌 필터입니다. preLogger: true #prefilter의 유무 postLogger: true routes: #FilterConfig의 라우팅 정보를 yml 파일로도 설정할 수 있음 - id: nutrients-service uri: http://localhost:8081/ predicates: - Path=/nutrients-service/** filters: # - AddRequestHeader=nutrients-request, nutrients-request-heaer-value # - AddResponseHeader=nutrients-response, nutrients-response-header-value - name: CustomFilter - name: LoggingFilter args: baseMessage: 커스텀 로깅 필터입니다. preLogger: true postLogger: true
-
미해결실전! Querydsl
질문드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]기초적인거라서 예전에 강의를 전부 보고 다시 찾으려고 하니 잘 못찾겠습니다.. (있었는지도 의문?)select 시에 getter 로 가공을 거치는 방법이 있나요?jpaQueryFactory.select( Projections.bean( UserHistoryOutput.Chart.class, userHistory.bodyHeat.avg().divide(10).floatValue().as("bodyHeat"),public class UserHistory extends BaseCreateTimeEntity { ..... public Float getBodyHeat() { return Optional.ofNullable(bodyHeat).orElse(0f) / 10f; } userHistory 에서 getter를 이용하여 뽑아올 경우 divde 10을 해주고 있습니다하지만 querydsl 을 이용해서 하면 순수 데이터를 가공없이 그대로 뽑아오던데dto를 통해서 뽑아오는 방법이 있을까요?
-
미해결스프링부트 시큐리티 & JWT 강의
httpBasic방식
httpBasic방식은 authorization에 id와 pw를 넣어서 보낸다고 하셨는데 그럼 이전강의에서는 httpBasic방식을 disable안하셨으니까 이전강의에서는 id와 pw를 넣어서 보냈다는 건데 그 말이 로그인시를 말하는 건가요?? 로그인이 한번되면 sessionId로 확인하면 되니까 로그인시에만id와 pw을 보낸다는 건지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
assertThrows에 대해 구글링 해서 정리해봤는데 이렇게 이해하는게 맞을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Test@DisplayName("빈 이름으로 조회X")void findBeanByNameX() {//MemberService xxxxx = ac.getBean("xxxxx", MemberService.class);Assertions.assertThrows(NoSuchBeanDefinitionException.class,() -> ac.getBean("xxxxx", MemberService.class));}
-
미해결홍정모의 따라하며 배우는 C언어
잘 모르겠어요
왜 Enter next integer (q to quit) : 두 번 출력 되고 Sum 값이 이상하게 출력 되는지 잘 모르겠습니다..#include <stdio.h> int main() { int sum = 0; char input = ' '; printf("Enter an integer (q to quit) : "); scanf("%c", &input); if (input != 'q') { sum += (int)(input - 48); while (1) { printf("Enter next integer (q to quit) : "); scanf("%c", &input); if (input == 'q') break; sum += (int)(input - 48); } } printf("Sum = %d", sum); return 0; }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
임베디드 타입은 비교 지원하지 않는다는데 왜 비교가 되는걸까요
책 399페이지를 보면 비교를 지원하지 않는다고 되어있는데 제코드에서는 비교연산이 되는 것 같아요.. 왜그러는걸까요 제가 잘못이해한건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
설치가 안되어서 강의진행을 못하고있어요...
이런 오류가 떠서sudo chown -R $USER 위에에러뜬경로위 처럼sudo chown -R $USER '/usr/local/lib/node_modules/create-react-app'이렇게 입력을 해도 계속 오류가나는데 어떻게해야하나요ㅠㅠ
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
index.js 파일명이 같은 파일이 폴더마다 있는데 혹시 이유가 있나요?
안녕하세요.제가 강의 정주행 중인데 궁금한게 생겨서요.index.js 파일이 routes 폴더에도 있구 api 폴더에도 있는데 state 폴더에도 만드셔서.. 같은 파일명으로 여러개 있으면 햇갈리지 않나 해서요.뒤쪽에 강의 따라 듣다보면 설명이 나오는지 궁금합니다.아니면 네이밍 규칙 같은게 있는것인가요? (관습적이라던가.. 오픈소스가 주로 그렇다던가.. 공식사이트 샘플소스가 그렇다던가..)아니면 경험적으로 동일파일명으로 하는게 좋다거나..조언 부탁드립니다.감사합니다.
-
미해결그리드(Grid) 핵심이론 및 실전 활용
holly grail layout에 대한 질문 입니다.
안녕하세요 그리드 수강생입니다.항상 좋은 강의에 감사 드립니다.그리드로 메인화면을 레이아웃 할때 어떤 것이 효율적인지 한번 봐주셨으면 합니다.제가 두개를 코딩해 보았는데요.http://soopsok.dothome.co.kr/grid/index6_1.html위의 링크에 있는 레이아웃은 row 3개를 잡고 컨텐츠 부분은 1200px/가운데 정렬로 해서 레이아웃 한 다음에 메인컨텐츠 부분만 그리드로 처리 한거구요.http://soopsok.dothome.co.kr/grid/index6_2.html위의 링크는 bg 부분도 모두 그리드로 잡아 보았습니다.현재 모바일 변환은 안된 상태구요.모바일로 변환 할때 문제점도 있을 것 같기도 합니다만.최근에는 메인화면에서도 배경 처리가 함께 되어야 하기 때문에 어떤 식으로 레이아웃을 하는 것이 좋을까? 고민이 되어서요.한번 보신후에 조언 부탁 드립니다^^감사합니다!
-
미해결따라하며 배우는 NestJS
nested json을 dto로 전달하려면 어떻게 해야하나요?
1개의 json 객체 안에 프로퍼티가 다른 여러 객체들이 들어있는 리스트가 담겨있는 것을 dto로 전달하려면 어떻게 해야하나요?구글링해보니까 nested 인터페이스를 사용하기도 하던데,Entity는 일반적으로 class로 만드니까 nested class는 어떻게 생성하는지가 궁금합니다.그리고 제 목표는 저 json 인에 들어있는 2가지 종류의 객체( slider type과 selecrive type)를 1번의 post메소드로만 보내고 싶습니다. 그런데 아래처럼 두 객체의 프로퍼티가 다를때, 하나의service,controller,repository를 이용해서 전달하려면 어떻게 해야하나요?json 객체의 형태는 아래와 같습니다.{ "questions_count": 8, "results_slider": [ { "type": "slider", "main_criteria_id": 0, "main_criteria": "Mollit mollit qui sint irure do ad laborum quis ullamco eu dolor.", "sub_criterias": [ "Eu occaecat pariatur sunt duis amet in sint velit amet consequat deserunt.", "Culpa Lorem nisi ut ea irure et eu do cupidatat ipsum duis veniam elit." ], "results": [ { "sub_criteria_id": 0, "sub_criteria_score": 4.7748 }, { "sub_criteria_id": 1, "sub_criteria_score": 7.091 } ] }, { "type": "slider", "main_criteria_id": 1, "main_criteria": "Qui consequat ullamco aliquip Lorem minim commodo irure magna cillum.", "sub_criterias": [ "Velit eu ullamco id nisi quis consequat non non commodo aliquip qui mollit.", "In esse amet proident dolore do aliquip est deserunt commodo eu eiusmod cillum.", "Nisi laboris velit Lorem irure." ], "results": [ { "sub_criteria_id": 0, "sub_criteria_score": 8.1561 } ] } ], "results_selective": [ { "type": "selective", "selective_criteria_id": 0, "selective_criteria": "Aute veniam quis adipisicing sint est amet aliquip elit.", "results": [ { "option_id": 0, "option_score": 3 }, { "option_id": 1, "option_score": 4 }, { "option_id": 2, "option_score": 5 }, { "option_id": 3, "option_score": 2 } ] }, { "type": "selective", "selective_criteria_id": 1, "selective_criteria": "Ipsum culpa dolore ad culpa amet aute ad.", "results": [ { "option_id": 0, "option_score": 3 } ] } ]}
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 요청
강의자료 부탁드립니다. cmh8941@hanmail.net
-
해결됨대세는 쿠버네티스 (초급~중급편)
Authorization 실습
안녕하세요 강의 잘 보고 있습니다.Authorization 실습예제에서 궁금한 부분이 있는데nm-02 네임스페이스를 생성하면default serviceaccount가 같이 생성되자나요?근데 clusterRole을 default serviceaccount와 연결하지 않고sa-02라는 serviceaccount를 새로 만들어서 연결하는 이유가 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
html 파일이 파일목록에 안보여요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]html 파일을 생성했는데 파일이 보이지 않아요.. 인텔리제이 대신에 sts 사용하고 있는데 뭐가 문제일까요.. IDE 재시작, 컴퓨터 재시작, project clean, refresh 등 해봐도 안되네요..단순 IDE 문제일까요 세팅문제일까요..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료요청
안녕하세요 강의자료 요청드립니다!bjdj323@naver.com
-
미해결
스칼라 반환 함수와 테이블 반환 함수의 성능 차이
Ms sql에서 스칼라 반환 함수와 테이블 반환 함수의 성능 차이가 궁금합니다. 되돌려 받는 값이 하나라고 한다면. 스칼라 반환 함수와 테이블 반환 함수의 성능에 차이가 있을까요?최근 스칼라 함수를 추가하였는데 다른 sql 버젼에서는 문제가 없는데 sql2017과 sql2019를 사용하는 곳에서 스칼라 함수로 인해 속도가 현저히 다운되는 현상이 발생이 되고 있어서요. 속도를 올리고자 추가한 스칼라 함수가 오히려 속도를 느리게 하는 주범이 되어서요. 같은 내용을 테이블 반환 함수로 작성하면 속도가 빨라지는 것 같긴 합니다만. 이유를 잘 모르겠고. 테이블 함수로 바꾸는 것만이 꼭 정답인가에 대해서 의문이 들어 여기에 한번 질문 올려 봅니다.
-
해결됨유니티 Addressable 을 이용한 패치 시스템 구현
윈도우에서 어드레서블 테스트 할 수 없나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의를 보면 안드로이드 apk를 계속 뽑아서 테스트 진행 하시던데.. 그냥 pc에서 테스트 하는 방법이 없을까요?위 질문에 이어지는 질문인데요.. 제가 pc로 해보면 에셋을 받아야 되는데.. 이미 받을 걸로 나오는데.. ServerData,Library\com.unity.addressables등 찾아봐도 없던데.. 어느 폴더에 안드로이드 에셋이 있을까요? 아니면 어떤 설정을 해야 되는건가요?
-
미해결홍정모의 따라하며 배우는 C언어
(강의 4:49) 포인터 변수 ptr이 어떤 식으로 data[2][3]에 접근하는지 모르겠습니다.
포인터 변수 ptr이 어떤 원리로 *(ptr + 3 + COLS * 2)에 접근하는지 모르겠습니다.printf("%d\n", data[2][3]);int* ptr = &data[0][0];printf("%d\n", *(ptr + 3 + COLS * 2));위의 data[2][3]을 포인터 연산을 통해 접근한다.*(ptr + 3 + COLS * 2)에서 Row 숫자가 2로 들어가고, 그 다음 COLUMN의 개수를 곱하고Column의 인덱스를 더하고 포인터변수 ptr로 접근하면 마치 1차원 배열로 2차원 배열에 접근할 수 있다.라고 하셨었는데, *(ptr + 3 + COLS * 2)는 내부적으로 COLS * 2가 먼저 계산되어 *(ptr + 3 + 8)이 되고,그 다음 *(ptr + 11)이 되어서 결과적로 data[0][11]에 접근하게 되는게 아닌가 싶습니다.*(ptr + 3 + COLS * 2)가 최종적으로 data[2][3]으로 접근하게되는 과정을 설명해주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 h2.bat실행시 아무 반응이 없습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. h2.bat실행시 아무창도 뜨질 않습니다. 아예 반응이 없습니다.열심히 구글링하여서 3시간가량 할 수 있는 방법을 동원해보았는데 해결이 되지 않아서 질문남깁니다 ㅜㅜh2 버전은 강의에서 말씀하신 1.4.200 버전으로 다운로드 받았습니다아래 해본 방법들을 남깁니다. 모두 결과는 실행하였을 때 반응이 없었습니다.[해본 방법들]cmd창에서 h2.bat 실행 , cmd창에서 "h2.bat" 실행cmd창에서 h2.sh 실행, cmd창에서 "h2.sh" 실행cmd창에서 h2w.bat 실행, cmd창에서 "h2w.bat" 실행다운로드받은 경로 들어가서 마우스로 h2.bat 실행cmd를 관리자권한으로 실행하여 1,2번 방법h2파일 재설치 후 1,2,3,4,5 방법노트북 재부팅 후 1,2,3,4,5 방법프로젝트 폴더 안에있는 application.properties 파일에서 h2데이터베이스 연동설정(이건 아닌것같지만 혹시나해서해봤습니다.)h2포트번호 확인 후 cmd에서 포트번호 전부 확인해봤지만 사용중인 포트번호가 없어서 h2포트번호를 그냥 바꿔본 후 실행환경변수 재설정 열심히 검색중에 하단 링크를 보았는데 해결방법을 못찾으신건가요 ㅠ 답변부탁드립니다!!만약 해결방법이 없다면 Oracle을 연동하여 사용해보겠습니다. 최대한 강의와 비슷하게 진행하고 싶어서 꼭 해결할 수 있었으면 좋겠네요https://www.inflearn.com/questions/175580
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobQueue Push 부분관련해서 질문이 있습니다
Push 부분에서 LCurrentJobQueue가 nullptr이면 Execute를 하고 있는데, else 부분으로 떨어지는 경우가 어떻게 생기는지 이해가 잘 가지않습니다.LCurrentJobQueue는 쓰레드마다 고유하게 가지고있는 큐인데, Execute를 할때는 LCurrentJobQueue가 this가 되면서 nullptr가 아닐 수 있지만 while 반복문이 끝나야만 nullptr가 되고 Push가 실행될 수 있는데, 다른 쓰레드가 접근 불가능한 LCurrentJobQueue가 Push 실행 시 nullptr가 아닐 수 있나요?
-
미해결스프링 시큐리티 OAuth2
'Social Login 연동 구현' 관련 질문
'Social Login 연동 구현' 과정에서 oauth2 로그인 작업이 완료되면 로그인 과정에서 얻은 해당 유저에 대한 SecurityContext가 세션 스토리지에 저장되는 건가요?그래서 로그인 이후 다음 요청부터는 세션 스토리지에서 해당 유저의 SecurityContext를 가져오는식으로 Authentication 객체에 접근하는 건가요?