묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결언리얼 엔진4 입문 (C++ 기반)
TWeakObjectPtr
안녕하세요제가 루키스님의 강의가 이번이 처음이라 늘 말씀해주셨다는 WeakPtr의 개념이 많이 부족한거같습니다.30:00 내용입니다.1.UMyStatComponent를 쌩포인터로 변수를 가질 경우의 문제점을 알고싶습니다.2.Character에서는 UMyStatComponent를 쌩포인터로 변수를 갖고있는데 이 경우는 CreateDefaultSubobject를 해주기에 문제가 없는걸까요?3.굳이 생성자나 Begin()말고 왜 PostInitializeComponent()를 사용하는지 어떨 때 사용하는지 궁금합니다. 4.번외 질문으로써 사용하고 계신 Visual Assist가 어떤건지 궁금합니다 혹여나 저도 구매를 하여 사용할 경우, 회사 입사시 회사내의 개발규칙과는 상관이없는지도 궁금합니다.(사용하면 안된다거나, 회사내 자체적으로 사용하는 Assist가 있는지)답변주시면 감사드리겠습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
Typeorm Connection 시 @Module 하위 useFactory 오류
Typeorm 을 이용하여 DB Connection을 맺는 부분에서 만약 .env 파일을 사용하지 않고서 app.module.ts 내에 관련 정보를 입력할시에 @Module 부분의 useFactory 가 형식을 할당할 수 없다는 에러를 자꾸 나타냅니다..... 이럴경우 어떻게 해결할까요?(슬랙에도 같은 질문 올렸습니다)
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
Script 뒤에 type=“text/javascript”를 넣으면 오류
검사시 오류가 뜨는데요 시험볼때 저부분만 빼고 작업해도 감점 안되나요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
파이썬 코루틴 사용하기 - aiohttp로 crawling시에 ssl error 발생
질문은 아니고, 에러가 발생하는 부분이 있어 나중에 문제를 겪고 있으신 분들에게 도움이 될 것 같아 남깁니다.https://github.com/amamov/teaching-async-python/blob/main/1-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BD%94%EB%A3%A8%ED%8B%B4%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%95%A8%EC%88%98/04-2-coroutine-fetcher.py위 링크에 있는 코드 입니다. # https://docs.aiohttp.org/en/stable/ # pip install aiohttp~=3.7.3 import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession() as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start) # 4.8 해당 코드 실행 시 다음의 ssl 에러가 발생합니다. 왜 그런지는 모르겠지만, requests에서는 ssl 에러가 발생하지 않는데 aiohttp에서는 발생합니다.[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')]https://github.com/aio-libs/aiohttp/issues/955에서 확인한 방법을 적용하면 쉽게 해결이 가능합니다. ssl 검증 과정을 코드 상에서 false 처리하면 됩니다.async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: 전체코드는 다음과 같습니다.import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
fail() 메소드 컴파일 에러 관련 질문드립니다
fail() 메소드 매개변수로 메시지 작성시 컴파일 에러가 발생합니다. 어떤 이유에서일까요?
-
미해결외워서 끝내는 SSL과 최소한의 암호기술
디지털 서명 시 해시하는 이유가 궁금합니다.
디지털 서명시 서명원문에 대한 위,변조를 막기 위해 해시를 한다고 하셨는데요. 위,변조를 확인하기 위한 목적이라면 암호화로도 충분하지 않나 하는 생각이 듭니다. 예를들어 A라는 서명원문에 대해 개인키로 암호화하여 B라는 암호문을 얻었고, 받는쪽에서는 암호문인 B를 공개키로 복호화했을 때 다시 A라는 값이 나오지 않으면 이는 위,변조된 것으로 확인할 수있다고 생각됩니다. 중간에 서명원문이 위조되면 복호화한 값이 일치하지 않을테니까요. 서명원문이 너무 클 경우 암호화시간이 오래걸리기 때문에 해시를 하는 목적이라면 이해가 될 것 같은데 단순히 위,변조를 검증하기 위한 목적이라면 굳이 해시가 필요없다고 생각되었습니다. 제가 놓치고 있는 부분이 있다면 알려주시면 감사하겠습니다!
-
미해결실전! Querydsl
queryDsl의 쿼리를 한 클래스에 모아놓을 수 있을까요?
private final JPAQueryFactory queryFactory; List<AccountForm> fetchResult = queryFactory.select(Projections.bean(AccountForm.class, account.id .... , account.dong , account.aptName , account.dongHo)) .from(account) .where(userRoleEqCond(role)) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); return fetchResult;Service 클래스에서 위와같은 식으로 쿼리를 만들경우 회원 정보를 불러오는 쿼리가 여러군데 있을 경우 각각 클래스마다 거의 동일한 조건의 쿼리문을 만들게 됩니다.다만 조건을 다르게 해서 where(~~) 부분을 다르게 할 수는 있겠지만, 클래스가 다를 경우에는 거의 동일한 코드가 반복되고, 어떨때는 AccountForm.class 라는 DTO의 클래스도 중복 생성되는 문제가 있어서 고민을 하다가 혹시나 테이블별로 쿼리를 모아놓은 패키지를 만들어서 그쪽에 클래스들을 모아놓을려고 만들어봤는데 오류가 납니다.private final JPAQueryFactory queryFactory; public static List<AccountForm> selectAccountQuery(Pageable pageable, UserRole role) { List<AccountForm> fetchResult = queryFactory.select(Projections.bean(AccountForm.class, account.id .... , account.dong , account.aptName , account.dongHo)) .from(account) .where(userRoleEqCond(role)) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); return fetchResult;위와같은 식으로 패키지와 클래스를 따로 분리를 해서 메소드들을 static으로 만들었는데 데이터를 불러오지 못하고, 오류가 납니다.오류는 private final JPAQueryFactory queryFactory; 이 값이 static으로 되어있지 않다고 해서 static으로 바꿀려고 했는데 private static final JPAQueryFactory queryFactory = null;위와같은 식으로만 되어버려서 소스상에서 보더라도 null로 초기화를 시켜버리니까 당연히 데이터를 불러오지 못하게 되는데..혹시 실무에서 위와같은 식으로 중복되는 쿼리가 많을 경우에 처리를 어떤식으로 하는지 궁금합니다.중복되더라도 어쩔 수 없이 그대로 사용을 해야 하는지, 아니면 중복되는 부분을 제거하는 방법이 있는지 궁금합니다.줄일 수 있을 것 같은데 방법을 모르겠습니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
BFS풀이 시 높이 범위에 대한 의견공유
h를 무조건 0~99로 설정하기보다는 미리 높이의 min 값과 max값을 구한 후 min~max 범위로 for 문을 돌려주면 더 효율적인 풀이가 될 것 같습니다. from collections import deque N = int(input()) graph = [list(map(int,input().split())) for _ in range(N)] min_rain = 99999999 max_rain = -1 # 높이의 min,max 구해주기 for row in graph: min_tmp = min(row) max_tmp = max(row) if min_tmp < min_rain: min_rain = min_tmp if max_tmp > max_rain: max_rain = max_tmp dr = [1,0,-1,0] dc = [0,1,0,-1] ans = 0 for rain in range(min_tmp+1,max_rain): visited = [[0 for _ in range(N)] for _ in range(N)] cnt = 0 for rr in range(N): for cc in range(N): if visited[rr][cc] == 0 and rain < graph[rr][cc] : visited[rr][cc] = 1 q = deque() q.append((rr,cc)) while q: r,c = q.popleft() for i in range(4): nr = r + dr[i] nc = c + dc[i] if 0 <= nr < N and 0 <= nc < N and visited[nr][nc] == 0 and rain < graph[nr][nc]: visited[nr][nc] = 1 q.append((nr,nc)) cnt += 1 if cnt > ans: ans = cnt print(ans)
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
최근 등장한 CNN 아키텍처
강의 중에 나오는 최근 모델은 2017년 SENet 즈음이 마지막으로 나오는데구글링을 해봐도 SENet이 등장한 2017년이 최근 모델로 나오더라구요그나마 2019년 ResNeXt50 정도가 있는 거 같은데최근 3년 2020~2022년 사이에 개발된 CNN 모델이 있을까요?이러한 최신 CNN 경향은 어디서 확인하나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
트와이스 Androidmanifest.xml 에서 SplashActivity 조작이요
<activity android:name=".SpashActivity" android:exported="false"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> <activity android:name=".MainActivity" android:exported="true"> <meta-data android:name="android.app.lib_name" android:value="" /> </activity>일단 안드로이드 돌핀 버전(2021.3.1)기본적으로 AndroidManifest 화면에 진입했을 경우, 선생님께서 적어주신 화면과 조금 다른 게, android:exported = "false"meta-data 가 보이더라구요. 일단 선생님께서 말씀주신데로 intent-filter를 옮기긴 했는데, 실행 시 에뮬레이터에서 앱이 중단되었다고 나옵니다. ㅠ_ㅜ 이전 강의에서도 코드가 뭔가 미묘하게 다르게 표시되는 부분이 있었는데, 이게 안드로이드 스튜디오 버전의 문제일까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
redux-toolkit 사용시 postReducer에서 authState 불러오는 방법
redux-toolkit 사용시 postReducer에서 authState 불러오는 방법이 무엇이 있나요 ..? 구글링해도 잘 안나와서 질문드립니다. ㅜㅜ export const postReducer = { ... followRequest: (state: PostState, action: any) => { //다른 state : AuthState 호출 방법 state.followLoading = true; state.followDone = false; state.followError = null; }, }[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결배달앱 클론코딩 [with React Native]
혹시 반응형
Rn에서 반응형 할때 어떻게하는지 궁금합니다.폰 테블릿등 사이즈 비율과 폰트!
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
prefix 0x는 그저 16진수임을 나타내는 의미인가요?
예시로 들어주신 0xF4는 F4 로만 표현하면 일반 text로 오해할 수 있으니 명시적으로 접두어로 0x를 붙여서 16진수임을 나타냈다라고 보면 되나요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
가장 큰 값을 가져오는 다른 방법도 있을까요?
안녕하세요 선생님~! 강의를 듣다 이 문제를 다르게 푸는 방법도 있을까 궁금해져서 질문드립니다.1.스텝별로 풀이는 설명해주실 때, 3.earning 중에 가장 큰 값을 가져온다 라는 부분은 limit 1로 큰 값만 출력되게 해주셨는데요. 혹시 이 부분을 select 절에서 다른 구문으로 출력하게 하는 것도 가능할까요?select max(salary*months as earnings), count(*) from employee group by earnings(쿼리를 돌려보았을 땐 잘못된 답이라고 나오긴 하네요..ㅎㅎ)2.아래 쿼리 중에 잘못 작성된 내용이 있을까요? 똑같은 쿼리로 적은 것 같은데 계속 잘못된 답이라고 응답이 뜨네요..!/* select salary * months AS earnings, count (*) from Employee group by earnings order by earnings desc limit 1 */
-
미해결데이터 분석 SQL Fundamentals
exists 사용 쿼리 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업 내용중에 아래와 같은 쿼리를 보여주셨는데, 서브쿼리문에서 x.deptno = a.deptno를 하는 과정은 inner join이라고 생각해야할까요?select a.* from hr.dept a where exists (select deptno from hr.emp x where x.deptno = a.deptno and x.sal > 1000);
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이렇게 이해한게 맞을까요 선생님?
실행 횟수 만번쓰레드1->_lock.Acquire(); 얘가 먼저 실행-> while로 반복 -> int original = Interlocked.Exchange(ref _locked, 1);-> 여기서는 오리지날이 0이기 때문에 바로 break->number++하고(이때 lock은 1)-> _lock을 0으로 만들어줌쓰레드2->얘는 대기하다 어느 시점에 얘가 가져감 즉, 쓰레드 1 과 쓰레드 2가 둘이 합쳐 총 2만번을 도는데 각각 번갈아 가면서 number를 ++했다가 --했다가 반복다만 연산을 했을 때 lock으로 잠구고 연산 후 lock을 풀어주고다른 쓰레드가 또 lock을 잠구고 lock을 풀어주고를2만번 반복해서 결과적으로는 한번에 하나의 연산만 진행결과는 0이렇게 이해했는데 이게 맞는지 모르겠습니다..
-
미해결Kevin의 알기 쉬운 RxJava 1부
map에서의 TimeUtil.sleep에 관한 궁금점
안녕하세요. 예제 코드를 이것저것 바꿔가며 실행해보다가 궁금한 점이 있어서 질문드립니다.Observable.range(1, 5) .doOnNext(data -> Logger.log(LogType.DO_ON_NEXT, data)) .map(num -> { long time = 1000L; if(num == 4){ time = 1500L; } TimeUtil.sleep(time); return num; }) .timeout(1200L, TimeUnit.MILLISECONDS) .subscribe( data -> Logger.log(LogType.ON_NEXT, data), error -> Logger.log(LogType.ON_ERROR, error) ); doOnNext() | main | 22:42:06.634 | 1 onNext() | main | 22:42:07.636 | 1 doOnNext() | main | 22:42:07.636 | 2 onNext() | main | 22:42:08.636 | 2 doOnNext() | main | 22:42:08.636 | 3 onNext() | main | 22:42:09.637 | 3 doOnNext() | main | 22:42:09.637 | 4 onERROR() | RxComputationThreadPool-1 | 22:42:10.837 | java.util.concurrent.TimeoutException: The source did not signal an event for 1200 milliseconds and has been terminated.위와 같이 코드를 작성하였을때 원본 데이터가 delay함수의 유형2번과 유사하게 동작해서 LogType doOnNext와 doNext가 번갈아 가면서 출력되었습니다.range()에서 생성된 데이터가 map으로 들어가기 까지는 delay가 없어서 doOnNext가 4번 찍히고 delay 이후에 onNext가 4번찍힐 것으로 예상했는데 번갈아가면서 찍히는 이유가 무엇인가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 87P
교안 87 P 괄호가 빠진것같습니다!혹시 교안에서 for문돌릴때 i나 it를 ++을 앞에 적으신 이유가 따로 있으신가요???
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Dto의 위치
엔티티를 조회해서 dto로 변환할 시에 강사님은 controller에 내부 클래스 방식을 이용하셨습니다. 그 이유가 어차피 dto가 화면에 의존적이기 때문에 controller에 내부클래스 방식으로 하신건지아니면원래는 따로 dto페키지를 만들어서 사용하는 게 맞으나 수업을 위해서 그러신건지 궁금합니다.결론적으로는 dto의 위치를 어떻게 가져가는 것이 맞는 지 궁금합니다.controller의 내부 클래스dto페키지생성repository그 외4가지 중 어디에 두어야 할 지 궁금합니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
2개 이상의 마이크로 서비스가 결합됐을 때는 테스트코드는 어떻게 작성하는지 궁금합니다.
UserService API 를 호출할때 RestTemplate 를 통해 OrderService 의 API 를 추가로 호출하는 방법을 보고 각 마이크로 서비스들이 엔티티 단위로 모듈화 되어 설계되어있다면 이런식으로 하는구나~ 배울 수 있었습니다. 그런데 이렇게 두개 이상의 마이크로서비스가 호출되는 API 는 테스트 코드를 어떻게 작성해야 하는지 감이 잡히지 않습니다. Web Layer(Controller) 를 테스트할때는 Service 객체를 Mocking 해서 해결할 수 있을것 같은데, Service layer(Service 클래스) 를 테스트할때는 어떻게 해야할까요?