묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Win32API 클라이언트 연동
강의에서는 서버에서 정해진 데이터(id, hp, 공격력)를클라쪽으로 broadCast 하고,클라에서는 Recv만 하고 있는데, 클라쪽에서도 Send하고서버에서 Recv하는 echo방식으로는어떻게 수정해봐야할까요..? ㅠ 목적은 Win32APi로 만든 클라이언트 2~3개정도 켜서 PacketHandler까지 구현된 Server와 붙혀서 이동동기화 부터 시도하고 있습니다그래서 클라이언트 1개에서 만약 이동했다면 그 행동이서버랑 다른 클라이언트에도 똑같이 보이게하고 싶습니다ClientPacketHandler에 ServerPacketHandler의 Make_S_TEST 함수를 복붙하고GameServer의 방법과 같이 BroadCast를 해야할지 아니면 Send함수를 따로 구현해야 할지 방향을 못잡겠습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
타입스크립트
1분13초에 user 인터페이스를 확인하시던데 그런 인터페이스가 있는지와 어떻게 보시는지 팁이있을까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Jupyter Notebook환경 관련 질문
9강 [실습] PyTorch 기초 - Tensor 강의에서 질문 있습니다.Lesson/inflearn_practicals 폴더에 아무 파일도 들어있지 않은데, 폴더가 원래 구성이 되어 있는 것이 아니고 파일을 직접 다운로드해서 폴더를 알아서 구성하는건가요?Jupyter notebook 상에서 강사님처럼 section이 모두 뜨지 않아 질문 드립니다.
-
해결됨개발자를 위한 쉬운 도커
여러 개의 컨테이너가 1개의 도커 볼륨에 접근할 때 일관성 문제
여러 개의 컨테이너가 하나의 볼륨을 공유할 수 있다는 특징에 따라 다음과 같이 작성했습니다. 도커 볼륨 생성docker volume create myvolume컨테이너A 생성docker run -d --name my-containerA -e POSTGRES_PASSWORD=password -v myvolume:/var/lib/postgresql/data postgres:13컨테이너B 생성docker run -d --name my-containerB -e POSTGRES_PASSWORD=password -v myvolume:/var/lib/postgresql/data postgres:13컨테이너A에서 새로운 DB 생성docker exec -it my-containerA psql -U postgres -c "CREATE DATABASE mydb;"컨테이너A에서 DB 조회docker exec -it my-containerA psql -U postgres -c "\list"컨테이너A에서 DB를 생성하고 조회하면 정상적으로 조회가 되는데, 컨테이너B에서 DB를 조회하면 mydb가 생성되지 않은 채로 보이네요.일관성 유지를 위해 두 컨테이너에서 정상적으로 조회가 될 줄 알았는데 컨테이너B에는 새로운 DB를 생성한 게 동기화가 안되네요..근데 새로운 컨테이너C를 생성하여 DB를 조회하면 정상적으로 조회가 됩니다. 위 내용을 정리하면 여러 개의 컨테이너가 1개의 도커 볼륨에 동시에 마운트하여 사용하면 동기화가 되지 않고, 새로운 컨테이너를 생성하여 도커 볼륨에 마운트하면 정상적으로 동기화가 됩니다.이런 경우에는 어떻게 해결하나요?
-
미해결C# TCP/IP 소켓 프로그래밍
크롬으로 서버에 접속은 되지만 response되지 않는 이유가 궁금합니다
pc에서 c#으로 http방식으로 response하는 server를 구축했습니다. 크롬을 클라이언트프로그램으로 삼아 서버에 접속했습니다. 이때 console.write(request)을 통해 접속된 것은 확인했습니다. 그러나 크롬화면에서는 err_empty_response만 뜹니다. 여러방식으로 테스트해 본 결과 크롬에서 http주소를 접속하면 공통적으로 나타나는 현상 같은데 어떻게 해야 할 지 모르겠습니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
New Flutter Project
'New Flutter Project' 버튼 클릭SDK path 를 flutter가 있는 폴더로 지정프로젝트 path : 개인 지정 폴더로 선택 후에 create버튼 클릭을 했는데'Creating Flutter project'라고 로딩바 alert가 뜨는데프로젝트가 생기지않고 진척이 없습니다.
-
해결됨스프링 핵심 원리 - 기본편
[섹션 6] @Autowired 와 컨테이너 생성 순서
안녕하세요.섹션6에서 @Autowired에 대해서 공부하다가 잘 이해가 되지 않는 부분이 있어서 질문드립니다. 컨테이너는,스프링 컨테이너 생성스프링 컨테이너 내부의 빈 저장소에 빈 이름과 객체 등록설정 정보를 기반으로 빈 간의 의존관계 설정의 과정으로 생성된다고 [섹션 4]에서 학습하였습니다.이 과정에서 이해가 잘 되지 않는 것이 있습니다.@Component public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } } 빈 저장소에 빈 이름(memberServiceImpl)과 빈 객체를 등록하려면, 생성자를 호출해야 하지 않나요??생성자를 호출하려면 MemberRepository 타입의 빈을 찾아서 의존관계 주입을 해줘야 하는데, 이러면 컨테이너 생성 과정의 [2], [3]번이 동시에 실행되는 것이 아닌지 궁금합니다. memberServiceImpl 빈 등록-> 생성자 호출 필요-> 매개 변수 MemberRepository memberRepository 전달 필요-> memberRepository 빈을 전달함(의존 관계 주입) [순서 3]-> 객체 생성 완료 [순서 2] 제가 이해한 빈 등록 과정입니다.결국, 의존관계 주입과 빈 객체 등록은 동시에 이루어지는 것이 아닌지 궁금합니다.잘못된 부분이 있는지 알려주세요! 감사합니다.
-
해결됨개발자를 위한 쉬운 도커
USER 명령어 질문
도커파일에서 USER 명령어가 RUN과 CMD 사이에 와야하는 이유가 무엇인가요? 그리고 USER 명령어가 사용되는 이유에 대해 잘 이해가 가질 않아서 그런데 리눅스의 어떤 개념을 공부해야 하나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
watch의 critical path
우선 vivado tool에 대한 이해도가 상당히 낮습니다 ㅜㅠ 그래도 혼자 최대한 해보자는 마음으로 이것저것 만져보고 있는데 이해가 안되는 점이 있어서 질문드립니다! 강의에서 말씀하시길 wire [5-1:0] hour_val = (r_sec_cnt/(60*60)) % 24;부분이 critical path라고 말씀하셨는데 vivado에서 bitstream을 생성하던 중에 오류를 보니까 뭔가 느낌상 source, destination 부분을 보면 될 거 같더군요근데 destination이 o_hour가 아닌 o_min으로 돼있더라구요혹시나해서 o_hour로 가는 path를 열어보니 거기선 positive slack이었습니다. 그래서 이걸 보고 위 코드가 아닌 wire [6-1:0] min_val = (r_sec_cnt/60) % 60;해당 코드에서 neg slack이 발생한 거 같은데 맞을까요?? 그리고 해결책으론 re-timing을 사용하셨는데 제가 1차원적으로 생각하기엔 clock period를 두배하면, 즉 100MHz가 아닌 50MHz로 바꾸면 뭔가 굳이 코드를 수정하지 않아도 될 거 같은데 맞는 논리일까요..?
-
미해결알고리즘 코딩테스트 문제풀이 with JAVA & 파이썬 (난이도 - 브론즈 3)
DAY11 영상에 오타있네요
최댓값 문제 2566번인데 2556번(별 찍기 - 14)로 숫자가 잘못되어있습니다.수정 부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
스프링 메인 메서드 실행 오류
스프링 부트 메인 메서드 실행 시 해당 오류가 뜨는데어디 쪽을 확인해 봐야 할까요?... MemberServiceImpl, MemberRepository, MemoryMemberRepository에는 잘 못 된 부분이 없는 것 같아서요...
-
미해결[게임 프로그래머 도약반] DirectX11 입문
Converter의 ReadMeshData에서 Material의 저장 여부
//Material Nameconst aiMaterial* material = _scene->mMaterials[srcMesh->mMaterialIndex];mesh->materialName = material->GetName().C_Str();하나의 메시가 여러 서브 메시를 포함하는 형태로 저장을 하게 되고, 그에 따라서 메시는 각 서브 메시에 따르는 머티리얼을 저장해야 하는데 해당 코드를 통해서는 마지막 서브 메시의 머티리얼만 저장하게 되는것이 아닌지 궁금해서 질문 드립니다.
-
미해결홍정모의 따라하며 배우는 C++
setprecision 용법
안녕하세요.교수님께서 setprecision을 사용하실 때 cout << std::setprecision(~)... 로 사용하셨습니다.이전 제가 들은 설명으론 cout는 콘솔출력으로서 c의 printf처럼 내보낼 게 있을 때 쓰는 것으로 알고있는데무언가를 출력하지않고 그냥 셋팅에 가까운 역할을 수행하는데 왜 콘솔출력 cout를 앞에 붙여 쓰는지 그 의의를 모르겠습니다.그냥 단순한 문법인가요?19:25 부분입니다
-
해결됨배달앱 클론코딩 [with React Native]
0.66 버전 메트로 서버 opensslErrorStack: 오류 관련 질문입니다.
운영체제 윈 10 현재 REACT-NATIVE프로젝트는 아래의 명령어를 통해 0.66으로 다운로드하였습니다. PS C:\Users\asus> npx react-native init GChatProject --template react-native-template-typescript@6.8.*npx react-native run-android를 하였을 때 위 명령어를 실행 한powershell에서는 아래의 로그를 뛰어주고 있습니다. -----------------------------------------PS C:\Users\asus\GChatProject> npx react-native run-androidinfo Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.Jetifier found 870 file(s) to forward-jetify. Using 8 workers...info Starting JS server...info Installing the app...> Task :app:installDebugInstalling APK 'app-debug.apk' on 'Nexus_5_API_33(AVD) - 13' for app:debugInstalled on 1 device.BUILD SUCCESSFUL in 9s31 actionable tasks: 2 executed, 29 up-to-dateinfo Connecting to the development server...info Starting the app on "emulator-5554"...Starting: Intent { cmp=com.gchatproject/.MainActivity }------------------------------------그리고 metro 서버가 뛰어지는데요 문제는 metro 서버에서 아래와 같은에러를 발생하고 있습니다 ㅠㅠ -----------------------------------To reload the app press "r"To open developer menu press "d"Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:68:19) at Object.createHash (node:crypto:138:10) at stableHash (C:\Users\asus\GChatProject\node_modules\metro-cache\src\stableHash.js:19:8) at Object.getCacheKey (C:\Users\asus\GChatProject\node_modules\metro-transform-worker\src\index.js:593:7) at getTransformCacheKey (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\getTransformCacheKey.js:24:19) at new Transformer (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\Transformer.js:48:9) at C:\Users\asus\GChatProject\node_modules\metro\src\Bundler.js:22:29 at runNextTicks (node:internal/process/task_queues:60:5) at process.processTimers (node:internal/timers:511:9) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'} BUNDLE ./index.jserror: TypeError: Cannot read properties of undefined (reading 'transformFile') at Bundler.transformFile (C:\Users\asus\GChatProject\node_modules\metro\src\Bundler.js:48:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Object.transform (C:\Users\asus\GChatProject\node_modules\metro\src\lib\transformHelpers.js:101:12) at async processModule (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\traverseDependencies.js:137:18) at async traverseDependenciesForSingleFile (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\traverseDependencies.js:131:3) at async Promise.all (index 0) at async initialTraverseDependencies (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\traverseDependencies.js:114:3) at async DeltaCalculator._getChangedDependencies (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\DeltaCalculator.js:164:25) at async DeltaCalculator.getDelta (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler\DeltaCalculator.js:94:16) at async DeltaBundler.buildGraph (C:\Users\asus\GChatProject\node_modules\metro\src\DeltaBundler.js:50:5)-------------------------------------
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
이미지 조회 404
리액트로 이미지를 조회하려는데 자꾸 404 Not Found가 반환되요.포스트맨으로 동일한 조건으로 요청을 하면 제대로 이미지가 반환이 되네요. async function getIamge(filename){ await axios.get(`http://localhost:8080/imageFiles/${filename}`) .then((action)=>{ let data = action.data; let copy = [...images,data]; setImages(copy); }) .catch((error)=>{ console.log('서버 응답 코드:', error.response.status); console.log('서버 응답 데이터:', error.response.data); console.log('서버 응답 헤더:', error.response.headers); }) }이런식으로 요청을 했습니다. img태그로 직접 엔드포인트로 요청을 보냈을 때도 똑같은 상황입니다. @GetMapping("/imageFiles/{filename}") @CrossOrigin(origins = "*") public ResponseEntity<Resource> downloadExecute(@PathVariable("filename") String filename) throws IOException { log.info("Full Path = {}", fileDir + filename); String str = URLEncoder.encode(filename, "UTF-8"); Path path = Paths.get(fileDir + filename); Resource resource = new InputStreamResource(java.nio.file.Files.newInputStream(path)); System.out.println("resource : "+ resource.getFilename()); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_TYPE, "application/octect-stream") .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename="+str+";") .body(resource); }이미지를 보내주는 서버측 엔드포인트입니다. @Configuration public class CorsMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") //.allowedOrigins("http://localhost:3000") .allowedOrigins("*") .allowedMethods( HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.HEAD.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name() ); registry.addMapping("/imageFiles/**") .allowedOrigins("*") .allowedMethods( HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.HEAD.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name() ); } } cors설정도 해봤는데 결과는 똑같았습니다. 뭐가 문제일까요 ㅠ
-
미해결스프링 핵심 원리 - 기본편
선생님 혹시 실전! 스프링 부트 이건 언제 출시 예정인가요?
선생님 혹시 실전! 스프링 부트 이건 언제 출시 예정인가요?올해 예정일까욤?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
두가지 질문이있습니다.
게시글이 20개 배수로존재할때(ex 총 게시글수가 60개일때) 3페이지에서 다음페이지 정보가 url에 같이 올것같은데 이 부분은 어떻게 보완이 가능할까요? if (dto.where__id_more_than) { where.id = MoreThan(dto.where__id_more_than); } else if (dto.where__id_less_than) { where.id = LessThan(dto.where__id_less_than); } const posts = await this.postsRepository.find({ where, order: { createdAt: dto.order__createdAt, }, take: dto.take, });위 코드에서 where의 조건을 dtd의 order__createdAt 이 'ASC'인지 'DESC'인지를 체크하는것도 괜찮으까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장부탁드립니다
바빠서 아직 다 수강하지 못했네요 연장 부탁드립니다!
-
해결됨스프링 핵심 원리 - 기본편
No Scope registered for scope name 'request'
마지막 강의까지 다 라이브코딩 한 후 전체 테스트를 돌려봤는데 에러가 발생하네요.@Component @Scope(value="request", proxyMode = ScopedProxyMode.TARGET_CLASS) public class MyLogger {오타도 없는데 뭐가 문제일까요?
-
미해결스프링 핵심 원리 - 기본편
basicScan 실행 시, NoUniqueBeanDefinitionException 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한쌤 따라서 @Autowired 필드명 방법을 사용했더니 다음과 같은 에러가 발생했습니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [C:\Program Files\core\core\out\production\classes\hello\core\order\OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:93) at hello.core.scan.AutoAppConfigTest.basicScan(AutoAppConfigTest.java:14) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:218) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1420) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:907) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:785) ... 17 more아래는 제 코드입니다.에러 내용으로만 봐서는 rateDiscountPolicy와 fixDiscountPolicy 때문에 빈이 2개 등록된다는 것 같은데.. @Autowired 필드명 방법이 그러한 문제를 해결하려는 건데 왜 에러가 날까요ㅠㅠ