묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CloudNet@ - Amazon EKS 기본 강의
그라파나 대시보드 싱크
안녕하세요 강의 잘 듣고있습니다!그라파나 대시보드 관련해서 싱크가 안맞는? 문제가 있어서 질문드립니다!제가 테스트로 nginx 파드를 scale을 통해 2개로 늘렸다가 다시 1개로 변경했는데 여전히 2개의 파드가 그라파나에서 출력됩니다.대시보드를 지우고 다시 만들어도 동일하게 2개의 파드가 나오는데 어떻게 해결할 수 있을까요?(프로메테우스나 EKS 환경에서 확인해보면 정확히 1개의 파드만 있는 상황)
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
콜라이더
콜라이더를 이 대각선에 맞게 지정하고싶은데 박스 콜라이더는 대각선 박스모양이 안되네요 ㅠㅠ 폴리곤 콜라이더로 해야하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
google Protobuf 관련 메모리 릭
CrtDumpMemoryLeaks(); 함수 호출을 통해 메모리 릭을 검사했는데 강사님의 코드에서는 다 잘 지우는 것 같아서 강사님 코드에서의 릭은 아닌것 같습니다.. 강사님 코드에서 객체 생성을 다 막고 디버깅해도 똑같은 메모리 릭이 남았습니다.. google protobuf 에서의 릭인 것 같은데.. pb.h pb.cc 는 건들지 못하니 고칠 방법도 없고 해서 이렇게 질문 올립니다. 저 메모리 릭을 해결하는 방법이 있을 까요..?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
로그인 인증 관련하여 질문이 있습니다.
안녕하세요 Basic 토큰을 통해 로그인 인증을 하는 강의를 듣고 나서 생긴 의문점이 있어 질문 남깁니다.현재 강의 내용 중 사용자의 이메일과 비밀번호 그리고 Basic 토큰을 입력 받아서 login 함수를 실행하는 로직이 있는데, 제가 강의를 제대로 들은 것이 맞다면 해당 로그인 로직 상 이메일과 비밀번호를 Basic 토큰으로 변환하는 로직이 없는 것 같습니다.그렇다면 이 경우 로그인 로직을 검증하면서 Basic 토큰으로 변환을 해야하는 것인지, 아니면 이러한 경우에는 이메일과 비밀번호만 입력받아 데이터베이스에서 검증을 해야하는 것인지 이도 아니라면, 따로 특정 기능이나 로직을 통해 자동으로 검증하는 방법이 있는지 궁금합니다!
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
지속적인 오류 베이스맵 로드오류
Failed to load prefab : BaseMapUnityEngine.Debug:LogError (object)ResourceManager:Instantiate (string,UnityEngine.Transform,bool) (at Assets/@Scripts/Managers/Core/ResourceManager.cs:28)GameScene:Init () (at Assets/@Scripts/Scenes/GameScene.cs:16)InitBase:Awake () (at Assets/@Scripts/Utils/InitBase.cs:20) NullReferenceException: Object reference not set to an instance of an objectGameScene.Init () (at Assets/@Scripts/Scenes/GameScene.cs:17)InitBase.Awake () (at Assets/@Scripts/Utils/InitBase.cs:20)지속적인 오류가나는데 원인을 못찾겠습니다
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요!!
안녕하세요!오늘부터 강좌 수강입니다!강의자료 부탁드립니다. 감사합니다. hahnjae29@gmail.com
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
패딩에 값을 입력했는데 박스 크기 차이가 안나요ㅠㅠ
첫번째처럼 코드 작성했는데, padding을 입력하기 전과 후가 차이가 안 나고 박스1,2,3이 계속 같은 크기예요. 제가 뭘 잘못한 걸까요?ㅠㅠ contentbox와 borderbox 크기 차이가 강의영상처럼 안 나타나서 뭘 잘못했나 싶네요.... 알려주시면 감사하겠습니다!
-
해결됨자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
lock을 사용했음에도 병렬처리가 더 빠른 이유가 궁금합니다.
안녕하세요 강사님 강의(싱글스레드 & 멀티스레드)를 듣다가 궁금한 점이 생겼습니다.예제 코드에서 1 ~ 1000을 더하는 for문의 실행시간은 약 2초 정도가 나오고 이를 2개의 스레드로 처리하면 약 1초 정도가 나왔는데요.synchronized키워드를 이용해서 lock을 걸 경우 해당 자원에는 하나의 스레드만 접근하게 되므로 예제의 경우 사실상 병렬처리가 불가능함에도 처리속도가 더 빠른 이유는 무엇인가요?사양은 다음과 같습니다 : 인텔® 코어™ i5-7500 프로세서 ; 스레드 수. 4 ;GPT 도움을 받아 아래와 같이 추측해 봤는데 맞을까요?싱글스레드 프로그램 : sleep(1)초에 의해 for루프 안에서 sleep 상태 발생멀티스레드 프로그램 : thread1의 sleep동안 thread2가 연산 수행 -> 싱글스레드와 다르게 sleep 상태에 의해 지연되는 시간이 없음
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 정말 모르겠습니다 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/ea14b76bba984f7d95c8c9a8ba109d94선생님 ㅠㅠㅠ 이게 도대체 왜 안되는건지 잘 모르겠습니다...
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
context에서 useEffect 선언 부분 질문 있어요.
AuthProvider에서 useEffect를 추가해서 loadUser가 호출되도록 해주었는데 모든 페이지 접근시 2번씩 호출되는 원인이 무엇일까요?// app.tsx <AuthProvider> <Component {...pageProps} /> </AuthProvider> // AuthProvider useEffect(() => { async function loadUser() { try { const res = await axios.get("/auth/me"); dispatch("LOGIN", res.data); } catch (error) { console.log(error); } finally { dispatch("STOP_LOADING"); } } console.log("loadUser"); loadUser(); }, []);그리고 커뮤니티 생성 페이지에서는 getServerSideProps를 선언해두었기 때문에 여기서도 /auth/me api 를 호출해주어서 결국 커뮤니티 생성 페이지에서만 총 3번이 호출되고 있어요.제가 잘못 구현한 것일까요?정리하자면,1. 현재 코드에서는 loadUser() 메서드가 1회만 호출되어야 할 것 같은데, 2번 호출되는 이유는 무엇인지?2. 커뮤니티 생성 페이지에서는 /auth/me api를 3번 호출하고 있는데, 횟수를 줄일 수 있는지? (이건 url 직접 입력해서 들어가지 않으면 1회만 호출할 것 같긴 하네요.)서버 로그입니다.(각각 커뮤니티 생성 페이지, 로그인 페이지)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
속성 인식 안되고 텍스트로 인식될 때
css배우기 예제 실습 중에 질문이 생겼습니다! <link href="./02-signup.css" 까지 연결하고 난 이후에, tㅓㄴ생님께서 rel 입력하신 것처럼 바로 아래에 자동으로 속성 연결할 수 있는 리스트들이 안 뜨고, 그냥 흰색으로 텍스트로 인식되는 것 같아요! 이럴 때는 어떻게 해야하나요?ㅠㅠ 선생님께서 작성하신 코드랑 똑같이 작성했습니다!
-
미해결Next + React Query로 SNS 서비스 만들기
useQuery와 redux-toolkit은 같이 사용해도되나요?
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 수업내용과 관계없이 궁금해서 질문드립니다.두개를 같이 사용했을 때 안 좋은 점이라던지 한가지만 사용해야된다면 그 이유가 궁금합니다.
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
파일취합 변수
안녕하세요. 8-7번 파일취합 강의 질문입니다. Dim 파일선택 as variant 에서 이 variant란 변수는 어떤 변수 대신 사용한 건가요?강의에서 variant 변수는 모든 변수라고 나와 있는데 정확히 어떤 변수 대신 사용한 건지 궁금합니다.파일선택은 숫자, 문자, 개체 중 어떤 성격의 변수인지도 궁금합니다.
-
해결됨CloudNet@ - Amazon EKS 기본 강의
프로메테우스의 클러스터링
안녕하세요!프로메테우스의 아키텍쳐의 문제는 클러스터링(여러 노드에 분산)이 되지 않아 단일 노드에서 모든 메트릭이 처리되므로 대규모 환경에서 성능 저하가 발생할 수 있는것으로 알고있습니다.- AMP & AMG 수업 당시 내용입니다 😀 하지만 실제로 헬름으로 배포해보니 각 노드로 쪼개져서 배포가 되더라구요..??왜 이런건지 궁금합니다.
-
해결됨Flutter로 SNS 앱 만들기
4섹션중 로그인 인증 상태에 따라 메인 또는 로그인 화면으로 이동
저는 로그인 화면으로 나오지 않고CircularProgressIndicator() 실행 되고 있는것 같습니다.왜 로그인 화면이 뜨지 않습니까...혹시나 해서 멜로 파일 전체파일 보냈습니다..
-
해결됨Next + React Query로 SNS 서비스 만들기
redirect를 false하는 이유가 서버쪽을 끈다 하였는데
이게 배포 지금 단계에서만 이렇게 하는 건가요?추후 강의에서 백엔드 완료 후 DB랑 연결하면 켜주는 건가요? 배포할 때도 키고요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2연동문제가 생겼습니다. 계속 되지를 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강의 정말 잘보고있고, 차분히 잘 따라하고 있습니다.처음엔 되다가 한번 끄고나서 다시 해보니, h2연동이 안되서 질문드립니다. mac 환경이며, rm test.db도 해보고 통합환경테스트를 할때, 더이상 업데이트 반영이 안되고, 검색해서 연동하란대로 해봤는데 전혀 되지가 않습니다...항상 좋은 강의 해주셔서 감사하며, 시간날때 답변 부탁드립니다. 감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
삽입정렬로 생각이 안나서 다르게 풀어봤습니다.
삽입 정렬로 혼자 풀어보려고 했는데 도무지 생각이 안나서 버블정렬? 로 푼것 같습니다사실 버블정렬도 아닌것 같긴한데혹시 이렇게 풀면 너무 비효율적이거나 반례가 있을까요?function solution(s, arr) { let answer = new Array(s).fill(0); answer[0] = arr[0]; for (let i = 1; i < arr.length; i++) { if (answer.includes(arr[i])) { for (let j = s - 1; j > 0; j--) { if (answer[j] === arr[i]) { [answer[j], answer[j - 1]] = [answer[j - 1], answer[j]]; } } } else { answer.pop(); answer.unshift(arr[i]); } } return answer; }
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TSoftObjectPtr로 변경하여도 Weapon에셋이 로드가 됩니다.
8강 아이템 시스템 이해 39분 쯤 UPROPERTY(EditAnywhere, Category = "Weapon")TSoftObjectPtr<USkeletalMesh> WeaponMesh; 으로 코드를 변경한 후, 언리얼을 종료하고 VS에서 ctrl + F5로 다시 빌드해서 언리얼을 열고 게임을 실행 후 Obj List Class=SkeletalMesh를 쳐도 드래곤 소드 에셋이 계속해서 존재합니다. 제가 쓰고 있는 버전이 5.3이라 무언가의 차이점이 있는 것일까요..?
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
수익률이 맞는지 코드 문의 드립니다.
안녕하세요 수강을 하여 만족스러운 강의를 들었습니다. 개인적으로 궁금한 것을 구현했는데 소스가 맞는지 검증 부탁드려도 될까 합니다. 생각해 본 부분을 짜보긴 했지만 수익률이 잘못 나온 듯하여 오류를 아무리 검증해보려고해도 알 수가 없어서 문의드립니다. 추가로 다른 분에게도 도움이 되길 바라고, 또한 제 코드에서도 최적화 할 부분이 보일 듯하니 조언 부탁드립니다. 강의에서 나온 부분이 많기에 주석과 맥락등은 일부 제거 했습니다. [조건] 종목 TQQQ, SCHDadj_close 값TQQQ RSI<30 : TQQQ 3% 비중 증가 , SCHD 3%비중 감소리밸런싱 5:5 매 반기마다 실행 !apt-get update -qq !pip install yfinance import yfinance as yf import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm import numpy as np # 수정종가 def getAdjCloseData(ticker, end=None): return yf.download(ticker, period='12y')['Adj Close'] # RSI 데이터 def getRSIData(closeDataSet, periods=""): average_periods = 14 # 이평 초기에 값은 나오지 않기 때문에 더 계산하고 자름 delta = closeDataSet.diff() # closeDataSet - closeDataSet.shift(1) # 변화량 if periods != "": delta = delta.iloc[(periods + average_periods) * -1:] AU = pd.DataFrame(np.where(delta>=0, delta, 0), delta.index, delta.columns) AD = pd.DataFrame(np.where(delta<0, delta.abs(), 0), delta.index, delta.columns) # SMA AU_MA = getSimpleMovingAverage(AU, average_periods) AD_MA = getSimpleMovingAverage(AD, average_periods) rsi = AU_MA / (AU_MA + AD_MA) * 100 # RSI Signal rsiSignal = getSimpleMovingAverage(rsi, 9) if periods != "": rsi = rsi[average_periods:] rsiSignal = rsiSignal[average_periods:] return rsi, rsiSignal # RSI 값에 따른 리밸런싱 날짜 def getRSIRebalancingDate(closeDataSet, RSI = 30): rsi, rsiSignal = getRSIData(closeDataSet) data = rsi.copy() data = pd.DataFrame(data) dataIndex = data[data.iloc[:, 0] <= RSI].index return dataIndex def getWeightByRSI(closeDataSet): RSIrebalancingDate = getRSIRebalancingDate(closeDataSet, 30) # RSI가 30이하일 때 리밸런싱 날짜 rebalancingDate = getRebalancingDate(closeDataSet, 'half') # 동일비중 리밸런싱 할 날짜 rebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(rebalancingDate), index=rebalancingDate, columns=closeDataSet.columns) rebal['period'] = 1 # 기간에 따른 리밸런싱 rsiRebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(RSIrebalancingDate), index=RSIrebalancingDate, columns=closeDataSet.columns) rsiRebal['period'] = 0 # RSI에 따른 리밸런싱 weightDf = pd.concat([rebal, rsiRebal], axis=0) weightDf = weightDf.sort_index() # 리밸런싱 날짜 별 for i in range(1, len(weightDf)): if weightDf.iloc[i]['period'] == 1: # 기간에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[0, weightDf.columns.get_loc("TQQQ")] weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[0, weightDf.columns.get_loc("SCHD")] else: # RSI에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[i-1, weightDf.columns.get_loc("TQQQ")] * 1.03 weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[i-1, weightDf.columns.get_loc("SCHD")] * 0.97 return weightDf def getRSIPortfolioResult(closeDataSet): weight = getWeightByRSI(closeDataSet) weightDf = pd.DataFrame(weight) rebalancingDate = weightDf.index portfolio = pd.DataFrame() # 빈 데이터 프레임 생성 totalAsset = 1 # 총 자산, 초기값 1 start = rebalancingDate[0] # 리밸런싱 날짜, 초기값 첫 투자일 for end in rebalancingDate[1:]: weight = weightDf.loc[start] # 당월 리밸런싱 비율 weight = weight.drop('period') priceData = closeDataSet.loc[start:end] # 당월 가격 데이터 cumReturn = getCumulativeReturn(priceData) # 당월 누적 수익률 weightedCumReturn = weight * cumReturn # 당월 리밸런싱 비율이 반영된 누적 수 netCumReturn = totalAsset * weightedCumReturn # 전월 투자 결과 반영 (이전 블록의 누적 수익을 포함시킴) start = end # start 갱신 totalAsset = netCumReturn.iloc[-1].sum() # 총 자산 갱신 portfolio = pd.concat([portfolio, netCumReturn]) # 매월 데이터 추가 portfolio = portfolio.loc[~portfolio.index.duplicated(keep='last')] # 중복 데이터 제거 portfolioCumulativeReturn = portfolio.sum(axis=1) # 포트폴리오 누적 수익률 portfolioDayReturn = (portfolioCumulativeReturn / portfolioCumulativeReturn.shift(1)).fillna(1) # 포트폴리오 일간 수익률 return portfolioDayReturn, portfolioCumulativeReturn closeDataSet = pd.DataFrame() TQQQ = getAdjCloseData("TQQQ") # TQQQ SCHD = getAdjCloseData("SCHD") # SCHD closeDataSet = pd.concat([TQQQ , SCHD ], axis=1) closeDataSet.columns = asset closeDataSet.dropna(inplace=True) _, rsiCumReturn = getRSIPortfolioResult(closeDataSet) rsiMomentumCAGR, rsiMomentumDD, rsiMomentumMDD = getEvaluation(rsiCumReturn)