묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Practical Testing: 실용적인 테스트 가이드
만료되었는지 확인하는 메서드 검증
유익한 강의 만들어주셔서 감사합니다. 무분별하게 FakeRepository를 만들면서 실제 프로덕션 코드에서 작동하는것과 똑같이 내가 FakeRepository를 만들었을 거란 확신이 없이 테스트를 작성하던 와중에 이 강의를 보고 좀 깨우친 바가 많았습니다.해당 강의를 듣다가 이 케이스에서는 어떻게 검증하기 쉽도록 개선해볼 수 있을까 해서 질문드립니다.인증 코드라는 도메인 객체가 있습니다. 인증코드는 만료시간이라는 속성을 가지고 있고, isExpired()라는 메서드를 통해 해당 인증코드가 만료되었는지 확인할 수 있습니다.public boolean isExpired() { return LocalDateTime.now().isAfter(expirationTime); }강의를 듣기 전에는 이런 식으로 작성했습니다. 그런데 이런 식으로 작성하니 테스트 코드를 짜려고 하면 Fixture 설정 시 LocalDateTime.now()를 사용해서 만료일자를 설정해야 한다는 생각이 듭니다. 이런 경우에도 만료되었는지 검증할 수 있는 시간을 파라미터로 받도록 리팩토링해주는 것이 맞을지 궁금합니다!
-
해결됨토비의 스프링 부트 - 이해와 원리
여러 DataSource 빈 등록 우선순위를 가늠할 수 없었습니다
안녕하세요 토비님. 우선, 감동으로 청강을 이어갈 기회를 얻게되어 참 감사드립니다.아래는 섹션8 - DataSource 자동 구성 클래스 파트의 @Bean 메서드 등록과정에 생긴 문제입니다.의문점은 메서드 선언 순서에 영향을 받는다는것을 알게되서 다음처럼 2번의 테스트를 진행했습니다.@Bean 메서드 선언순서 에 따른 등록 테스트simple , hikarihikari, simple 1 결과: simple 이 등록됨 /* DataSourceConfig.java */ @Bean @ConditionalOnMissingBean public DataSource simpleDriverDataSource() { ... } @Bean @ConditionalOnMissingBean @ConditionalMyOnClass("com.zaxxer.hikari.HikariDataSource") public DataSource hikariDataSource() { ... }hikari 에 `@ConditionalMyOnClass` 가 있기때문에 등록될 것으로 예상했지만, simple 이 등록되었습니다. 2 결과: hikari 가 등록됨 @Bean @... public DataSource hikariDataSource() { ... } @Bean @... public DataSource simpleDriverDataSource() { ... } 기묘하게도 @Bean 메서드 선언순서를 바꾸니 Hikari 빈이 등록되었습니다. 이상하다 싶어, @Primary 와 @Order(n) 을 주고 다시 테스트 해봤지만, 영향을 주지 않았습니다. 질문: 위와 같이 @Bean 메서드 순서에 영향을 받는 이유가 궁금합니다.이 결과로 @ConditionalOnClass 의 인식되는 FQCN 의 조건을 바꿔보기도 하고, 위치도 바꿔봤는데, 이렇다할 동작방식을 파악하기 힘들었습니다.그리고 @Primay 나 @Order 를 붙여가며 추가적인 등록순서에 대해 테스트를 진행했으나, 이것들 역시 영향을 주지 않았습니다.여러 곳에서 알아본 바, @Bean 메서드는 등록순서에 영향을 주지 않는것으로 알고있었는데, 이런 경우에는 어떤 매커니즘이 동작하는지가 궁금합니다. 이 결과를 보고 생각에 혼란이 와서 질문을 드리게 되었어요. 혹시 제가 놓친것이 있다면 조언을 부탁드려도 되겠습니까? 읽어주셔서 감사합니다☺️
-
미해결
custom데이터로 학습한 yolo 전이학습
안녕하세요!이번에 yolov7-tiny로 머리만 학습하여 사람들의 머리를 감지하는 모델을 만들었는데요,학습 시에 프리트레인된 yolov7-tiny.pt를 받아서 학습을 했어요! 근데 이게 전이학습으로 이해를 하고 있습니다. 그런데 아무래도 tiny모델이라 성능이 좋지않아 학습된 모델을 이용하여 다시 전이학습을 해보고싶습니다. 그렇다면 이 상황은 전이학습을 두번하는것이라고 이해하고있는데 그래도 되나요? 처음 학습시킨 vscrowd데이터셋은 이미지가 4~5만 장 사이 되고 새로 학습 시키는 데이터셋은 3천장 미만입니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
darknet 으로 학습?
yolov3 과 darknet 의 차이좀 명괘하게 알려주세요. 학습 시키려면 어떤걸로 사용해야 하는지?
-
미해결홍정모의 따라하며 배우는 C++
13.4 if문
강의 13.4에서 2분 30초쯤에T가 char타입일 때 어떤 동작을 더 추가해서 실행하기 위해서 컴파일 타임에 해야 되기 때문에 if문을 사용할 수 없다고 하셨는데템플릿 매개변수는 컴파일 타임에 다 정의되어야 한다고 이해했는데 그러면 왜 if문으로 쓸 수 없나요?밑에 코드처럼 작성하면 되지 않나요??template<typename T> T getMax(T x, T y) { if (std::is_same<T, int>::value) { // x와 y가 int 타입인 경우에 대한 동작 // ... } else if (std::is_same<T, double>::value) { // x와 y가 double 타입인 경우에 대한 동작 // ... } else { // 기타 타입에 대한 동작 // ... } return (x > y) ? x : y; }
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
혹시 2번째 프로젝트도 코드좀 제공해주실수 있나요?
요번에 프로젝트 2를 시작했는데 뭐가 문제인지 모르겠는데 계속 오류가 뜨면서 문제가 발생하네요 분명히 아침에 작성했을때는 오류가 없이 잘 작동되었는데 말이죠... 혹시 프로젝트 1 처럼 관련 코들를 codesandbox에 제공이 가능할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa fetch join 페이지네이션에 대해서 질문이 있습니다.
안녕하세요. JPA N+1 문제를 공부하고 이를 해결하기 위해서 fetch join을 사용하고 있는데 fetch join의 단점으로 페이지네이션이 적용이 안되는 것으로 강의와 책을 보고 학습했습니다.이를 직접 실습하기 위해서 실습을 해보면 한 엔티티와 연관관계를 가지는 2개의 연관관계 엔티티를 fetch join한 결과 페이지네이션이 잘 적용되어서 혹시 제가 모르는 예외적인 상황이 있나 해서 질문 드립니다.아래는 코드이고, (피드와 책은 다대일 관계이고, 피드와 유저는 다대일 관계입니다)실제로 호출된 쿼리는 아래 사진과 같습니다.limit 처리가 잘 된것처럼 페이지네이션이 잘 적용이 됩니다. 제가 알기로는 분명 fetch join을 사용하면 페이지네이션이 적용이 안되어야 하는데 뭐가 문제인지 해서 질문 드립니다...!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
선생님 질문있습니다
간단한 질문이지만 int price = 7000; int grade = 1; switch(grade){ case 1 : price += 1000; case1 에서 왜 결과값이 8000원이아닌 10000원이 나오는 건가요??아직 연산식에 대해서 개념이 부족한건가요?? ㅠㅠㅠ
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
생성자 파트에서 사용된 this부분코드 관련해서 질문있습니다.
생성자 파트부분 06:55분쯤에 기본 생성자에서 시리얼 넘버를 추가할때 this를 사용하는데요. 저는 this는 메소드 내에서 사용하려는 인스턴스 변수와 전달받은 파라미터의 이름이 같은 경우 사용하는 것으로 알고 있는데메소드와 생성자에서 this의 쓰임이 다른걸까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UE5 입력 내용을 듣다가, 궁금한 부분이 있어 질문드립니다.
안녕하세요, Part 1에 이어 Part 2 강의를 듣고 있는 문민철입니다.입력 시스템 내용을 듣다가, 궁금한 부분이 있어 질문드립니다. (어쩌면 본 강좌의 내용 외의 질문일 수도 있는데, 양해 부탁드립니다)1. RTS와 같은 게임에서는 입력 처리를 Widget에서 처리하는 것이 효율적일 것으로 보입니다. (ex: 스타크래프트에서 Move 아이콘 클릭과 'M' 단축키 입력은 같은 동작을 수행) 1) Widget은 Actor도, Pawn도, Controller도 아닌 언리얼 오브젝트입니다. Widget이 사용자 입력을 어떻게 받아들이고, 처리하는지 궁금합니다. 2) Widget이 가질 수 있는 여러 가지 상태가 있을 수 있을텐데, (ex: overlay된다거나, visible이 아닌 hidden상태거나 등) 어떤 경우에 입력이 처리되고, 어떤 경우에 입력이 무시되는지 궁금합니다.2. 언리얼엔진을 사용하다 보면, 이런 종류(1번 질문과 같은)의 디테일한 궁금함...은 계속해서 생길 것으로 보입니다. 실제로 내부 동작에 대한 디테일한 정보는 게임 개발에 필요한 아키텍처 설계를 위해 필수적인 부분일 것으로 판단됩니다. 특히 마이너한 기능들일수록, 참고할만한 자료들은 적어질 것으로 보이고요. (ex: 언리얼 엔진을 이용한 RTS 개발 등) 공식 문서에서 얻을 수 있는 자료 역시 한계가 있는 것으로 보이는데, 이런 '모르는 내용'이 있을 때 올바른 접근 방법을 추천해 주시면 감사하겠습니다.감사합니다.
-
해결됨Svelte REST-API 프로젝트
[인증 구현 - 컴포넌트] error 처리 관련 질문
2분 12초인증 컴포넌트를 테스트해보는 과정에서 질문이 생겼습니다.만약 백엔드 서버가 작동하지 하고 있다면,이메일/패스워드 입력 후 로그인 버튼을 클릭하면auth 스토어의 login 메소드에서 에러가 발생합니다.그럼 이때 try/cath로 인해 "오류가 발생했습니다. 로그인을 다시 시도해 주세요."라는 alert 문구를 띄우게 됩니다. 만약에 AuthLogin 컴포넌트에서 정의한 try/catch으로alert를 보여주고 싶다면 Auth 스토어의 login 메소드에서 try/catch를 하지 않으면 되는데, 이는 좋은 방법같지 않은거 같습니다. 아니면 on:click 이벤트 정의 메소드에서는 try/cathc를 안해는게 나을까요? error를 catch 하는 것을 한 곳에서 관리(?)하여 에러 발생시 내가 원하는 동작(화면)을 보여주고 싶다면 어떻게 코드를 작성하는게 좋을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Unexpected token ```, Expected a string literal 이게 뭐죠??
항상 이런데 도대체 뭐가 문제인지 모르겠네요 import {useRouter} from `next/router`에서 오류가나네요
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
asset 위치 문의
안녕하세요.실례지만 프로젝트 asset은 어디서 확인이 가능할까요? 동일한 질문에서 답변 주신 것과 같이, 강의 상세 내역에서 찾으려 했으나 보이지 않아 문의드립니다.
-
미해결홍정모의 따라하며 배우는 C++
1.5 복습문제
선생님께서 이걸 복습으로 만들어보라고 하셨습니다.숫자 2개를 입력 받아서 그 더하기를 출력하는 프로그램 만들기그걸 function로 쪼개서 숫자 2개를 사용자로부터 여러 번 입력을 받고그 더하기를 여러 번 출력하는 것 만들어보기. int addTwoNumbers(int a, int b){ return a + b;}int main(){ int c, d; cin >> c >> d; int sum = addTwoNumbers(c, d); cout << sum << endl; return 0;} 이렇게 만들었는데 이게 선생님께서 원하시는 것일까요?ㅠ
-
미해결홍정모의 따라하며 배우는 C++
1.5 void 함수
15:00 부근에서 선생님께서 "이 void function는 기능을 수행하기 때문에 main function한테 다시 return해줄 게 없다"고 하셨는데 살짝 헷갈려서 질문드립니다! void function은 출력을 하기 때문에 메인 함수에 리턴 해줄 것이 없다는 것은 확실히 이해했습니다.근데 이것을 기능을 수행한다고 표현하셔서 헷갈리는데 그럼 일반적으로 리턴하는 함수(ex 2개의 수를 더하는 함수)들은 기능을 수행하지 않는다고 보시는 건가요? 그렇다면 이 일반적인 함수들은 무엇을 한다고 표현해야 하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
지훈이가 불에 뛰어드는 건에 관하여 질문
안녕하세요 큰돌님~!https://www.acmicpc.net/source/share/d9a60c043e7d428bac7374f83c5ca09d제공해주신 소스 지훈이의 while문에서요if(!in(ny,nx)) continue;if(person_check[ny][nx] || a[ny][nx]=='#') continue;if(fire_check[ny][nx] <= person_check[y][x] + 1) continue;위 if문들만 체크한다면 지훈이가 이미 불이 난 위치에 뛰어드는 경우까지 큐에 푸시되지 않나요? 통과는 되는데 히든 테스트 케이스에 위 로직을 체크하는 케이스가 있어도 통과될 수 있는 것인가용? 제가 놓치고 있는 것이 무엇인지 질문드립니다!
-
해결됨홍정모의 따라하며 배우는 C++
매개 변수 / 인자 / 인수
안녕하세요?선생님께서 설명해주셔서매개변수(parameter)와 argument(인수)의 차이점은 확실히 이해했습니다.그런데 여기서 <인자>라는 용어가 또 나오는데 인자는 매개변수와 인수와 어떻게 다른 건가요?인자와 다른 것들의 차이점이 궁금합니다!
-
미해결퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 2
sell in may heatmap
sell in may... 가 맞는지 알아 보기 위해서 heatmap 그릴 때, 모든 ETF의 연도별 월별 수익률 평균을 구해 보는 것은 의미가 있을까요? 이렇게 구해보면 sell in may... 라는 말은 맞이 않는 것 같습니다. 이렇게 하는 것도 의미가 있을까요?import pandas as pdimport numpy as npimport plotly.graph_objects as godf = pd.read_excel('df_etf.xlsx', index_col = 0)df_copy = df.copy()# KODEX ETF data 추출condition_kodex = [df_copy.columns[i] for i in range(df_copy.shape[1]) if 'KODEX' in df_copy.columns[i]] # list comprehensiondf_copy_kodex = df_copy.loc[:, condition_kodex]df_copy_kodex['YEAR'] = df_copy_kodex.index.yeardf_copy_kodex['MONTH'] = df_copy_kodex.index.month# 년도별 월별 모든 ETF 수익률 평균 YEAR = 2012 # ETF data 기간 : 2012 ~ 2022empty_df = pd.DataFrame()while YEAR < 2023 : YEAR = YEAR df_copy_kodex_yr = df_copy_kodex[df_copy_kodex['YEAR'] == YEAR] df_copy_gr = df_copy_kodex_yr.groupby('MONTH') df_sell_in_may = df_copy_gr.mean() df_month_return = np.round((df_sell_in_may.mean(axis = 1).pct_change(periods = 1))*100, 2) empty_df[YEAR] = df_month_return YEAR = (YEAR + 1)trace = go.Heatmap(x = empty_df.columns, y = empty_df.index, z = empty_df)fig = go.Figure(data = trace)fig.show()
-
해결됨Practical Testing: 실용적인 테스트 가이드
패키지 구조에 대한 질문
안녕하세요 강의에서는 패키지 구조를 api 아래에 api - service - productapi - controller - product 이렇게 구현하셨는데이렇게 구현하면 도메인이 많아지면 가독성이 떨어질 것 같아서 각 도메인마다 service, controller를 가지게 하는 구조는 어떻게 생각하시나요? api - product - service, controller가독성보다 더 중요한 장점이 있을까요?실무에서는 어떻게 하시는지 궁금합니다. 감사합니다~!
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
eslint, prettier 사용 중단하는 방법 없을까요 ??
저같은 경우는 애초에 eslint나 prittier를 사용하고 싶지 않아서 설정을 중단하고 싶은데 어떻게 방법이 없을까요 ?5분짜리 강의를 멈추고 수정하는대만 10분을 쓰고 있습니다