묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
데드락 질문 드립니다.
Server Session 쪽 OnRecvCompleted() { BytesTransferred 이부분이 0으로 오면서 Disconnect 가 호출이 되고나면 } 데드락이 걸리는 경우가 있는데 데드락 1 데드락2 데드락3 총 3군데서 더이상 진행이 안되는거 같은데 혹시 어디를 잘못 건드리면 이런 현상이 나오는지 알수 있을까요? 강의 4강 소스에 7강 google proto buffer 붙어서 뭐좀 만들어 보고있는데 접속을 끊고 다시 붙고 이런거 몇번 반복하니 서버가 멈추네요 새로운 클라이언트가 접속을 하면 서버에 접속까지만 되고 그이상은 진행이 안되네요. 서버실행중 콘솔창 마우스로 긁으면 100% 확률로 제현이 됩니다. 이거 마우스로 만진다고 서버에 문제가 될수 있나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
-1리턴이 대부분입니다
최종적에서 Recv가 정상적으로 처리되는것보다 -1로 리턴되는경우가 대부분입니다. 코드를 다운받아서 해봐도 어떨때는 정상적으로 되다가 다시작동하면 -1이 리턴되길 반복합니다. 무엇이 문제일까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
질문있습니다
안녕하세요 공부하다 이해가 되지 않는 부분이 있어 질문드려용 1. 49번 줄에 (u32)는 무엇을 의미하는건가요?? Xil_Out32(주소,데이터)인건 인터넷 뒤져가며 찾았는데, 뜬금없이 저게 붙어있어서요 Unsigned 32bit를 괄호치고 표현한건가요??
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
스웨거 문서 질문드립니다.
ReseponseDto 작성하여 type에 지정해주는 방식으로 해주는데요, 조인된 테이블이라 조인 데이터가 추가되는경우에는 어떻게 처리해야할까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
리버스 프록시와 차이점이 뭘까요?
아직 이것저것 공부중인 학생입니다. 오늘 어쩌다 리버스 프록시란 단어를 듣게되어 찾아보았는데 이곳에서 설명하는 gateway service가 리버스 프록시의 역할을 하는 거 같은데 맞는건가요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
가상서버 가동 문제
제가 파일럿 프로젝트 진행하고 있는데 저사양PC 환경 기준으로 설정했습니다. 그런데 server01에서는 cloudera 매니저가 정상 작동하고 있는데 server02에서는 아예 연결이 안되고 있습니다. 혹시나 해서 yum list 명령어를 입력했는데 cannot find a valid baseurl for repo: base 라는 에러 메시지가 나타납니다. 우선 windows/System32/drivers/etc/hosts 파일은 아래와 같이 셋팅했습니다. �? Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 192.168.56.101 server01.hadoop.com 192.168.56.102 server02.hadoop.com # Added by Docker Desktop 192.168.0.198 host.docker.internal 192.168.0.198 gateway.docker.internal # To allow the same kube context to work on the host and the container: 127.0.0.1 kubernetes.docker.internal # End of section 그리고 server01, server02 모두 호스트 네트워크 관리자 Virtualbox Host-Only Ethernet Adapter #2 에 연결한 상태이고, 어뎁터 설정과 DHCP 설정은 다음과 같이 했습니다.
-
미해결스프링 핵심 원리 - 기본편
Bean 관련 질문드립니다.
안녕하세요, Bean 관련해서 궁금한게 있습니다. 스프링컨테이너를 생성하고, 해당 컨테이너에 등록된 빈 이름들을 확인하는 테스트에서 보면 출력되는 것중 가장 첫번재는 appConfig인 것을 알 수 있습니다. AppConfig 클래스에서 어떻게 @Bean 어노테이션으로 등록하지 않은 'appConfig' 가 Bean으로 등록되는지 궁금합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
RecvBuffer
안녕하세요, 진도 열심히 빼다가 버퍼랑 패킷 부분에서 막혀서 다시 복습중입니다.이 부분을 잘못 이해하고 있는거 같습니다. RecvBuff _recvBuff = new RecvBuff(1024); // 코드들 중략 void RegisterRecv() { _recvBuff.Clean(); // 질문1. 여기서 segment에 들어오는 값은 WriteSegment가 새로 할당한 값복사가 맞나요 ? //( 호출 당시 멤버변수 _recvBuff 값은 가지고 있지만 원본과 상관없는 ) // 그렇게 생각한 이유 : ArraySement가 구조체이고 new를 했기때문에 ArraySegment<byte> segment = _recvBuff.WriteSegment; // 질문2. MSDN을 읽어보니 SetBuffer 특정 메모리를 참조한다고 쓰여져 있는데요.. 그 // 그러면 여기서 참조하는 메모리가 이 안에 지역변수로 선언된 segment를 의미하나요 ? 즉 지역변수 메모리 주소를 가르키나요 ? // 생각한이유, MSDN SetBuffer설명 : 비동기 소켓 메서드를 사용하여 버퍼로 사용할 메모리 영역을 설정합니다. _recvArgs.SetBuffer(segment.Array, segment.Offset, segment.Count); bool pending = _socket.ReceiveAsync(_recvArgs); if (pending == false) OnRecvCompletetd(null, _recvArgs); } // 세션 코드 끝, RecvBuff 코드 // 코드 중략 public ArraySegment<byte> WriteSegment { get { return new ArraySegment<byte>(_buffer.Array, _buffer.Offset + _writePos, FreeSize); } } 코드 안에 주석으로 질문1, 질문2를 써놨습니다 !!! 따라서 만약에 질문 1, 2가 둘다 예라면 pending이 true나 false이든 함수를 나가면Setbuffer가 참조하던 지역변수 segment는 없어지는 것 아닌가요 ..?비동기가 완료되었을 때 어떻게 _recvBuff 안으로 값이 들어가는지 이해가 안되는거 같습니다 ㅠㅠ.+) 추가적으로 이런 환경에서 디버그 팁이 있을까요 ?코드흐름 좀 보고싶은데 비동기에 2개씩 실행되고 하니깐 단순히 메인부터 F11로 따라가는 것으로는 잘 안보이네요..
-
미해결스프링 핵심 원리 - 기본편
@Quailfier의 컴파일시 타입 체크 질문
안녕하세요. 항상 좋은 강의로 지식을 공유해주셔서 감사합니다. 수업을 듣다가 의문이 드는 부분이 생겨 질문드립니다! @Qualifier("mainDiscountPolicy") 와 같이 문자를 적으면 컴파일시 타입 체크가 안된다고 하셨습니다. 그러나 이를 스프링 덕분에 상속받아 @MainDiscountPolicy 를 만들면, 해당 문제를 해결할 수 있다고 하셨습니다. '@MainDiscountPolicy도 결국엔 @Qualifier("mainDiscountPolicy")를 감싸기만 할 뿐 큰 차이가 없지 않을지 않을까?' 라는 생각이 드는데, 두 번째 방법을 사용할 경우, 어떻게 컴파일시 타입 체크가 가능해지나요? 감사합니다!
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
블로그 작성 문의
안녕하세요. 우선 강의 내용이 너무 좋아서 만족스럽게 듣고있습니다. 감사합니다. 강의를 듣고, 복습 및 정리를 위해 블로그에 글을 올리고 싶은데 가능할까요? 가능하다면, 어느 정도까지 허용되는지 출처는 어떤 방식으로 언급하면 되는지 알려주시면 감사하겠습니다. :)
-
미해결스프링 배치
AsyncItemWriter 의 Transaction 범위 관련
안녕하세요 질문이 있어서 글을 남깁니다. 현재 저는 다중 데이터베이스 기반의 배치 Call 서버를 제작중에 있습니다. 한개의 데이터베이스는 Batch Metadata 저장 서버로, 다른 서버를 Datasource로 가져와서 ItemReader 나 Writer 로 사용하고 있습니다(2개의 datasource 지정) 다중서버 구성시 JpaItemWriter를 이용하게 되면, repository의 트랜잭션 보장 문제로 인하여 'no transaction in progress'문제가 생겼고, 해당 문제 확인 결과 stepBuilderFactory.transcationManager(PlatformTransactionManager)으로 다중 datasource에 writer를 처리할 수 있음을 알게 되었습니다. async방식의 처리에서 AsyncItemWriter도 같은 방식으로 transactionManager를 처리하였는데, 두가지의 문제가 발생하였습니다. 1) AsyncItemWriter에서 delegate시에 transactionManager 이 적용이 안되는지, 'no transaction is in progress' 가 발생합니다. 제가 주입하고자 하는 transactionManager가 적용이 안되고 delegate시 알아서 시스템이 자동 주입을 하는거 같은데, 해당 현상에 대한 해결방법을 알고싶습니다. * 해당 현상에 대한 에러는 하단에 남깁니다. ItemWriter 구현체는 JpaItemWriter입니다 2) 강사님의 강의에서도 나온 문제인데, StepBuilderFactory 반환에서 Warning이 발생하고 있습니다.(AsyncItemWriter 강의 21:50경) 타입을 체크하지 않고 발생하는 오류인데, 타입을 제대로 주면 Future때문인지 명확하게 warning이 해결되지 않고 있습니다. 이건 어노테이션으로 워닝 무시를 해야할 수 밖에 없는 것인지 알고 싶습니다. * 아마도 stepbuildFactory의 <input, output> 값이 <InputEntity, Future<OutputEntity>> 가 되어야 하는 것이 맞아보이는데 맞는지요? 에러) 22:51 INFO o.s.batch.core.job.SimpleStepHandler - Executing step: [asyncInitializationStep1] 22:51 ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing step asyncInitializationStep1 in job initializationJob javax.persistence.TransactionRequiredException: no transaction is in progress at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:445) at org.hibernate.internal.SessionImpl.checkTransactionNeededForUpdateOperation(SessionImpl.java:3478) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1394) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1389) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:362) at com.sun.proxy.$Proxy137.flush(Unknown Source) at org.springframework.batch.item.database.JpaItemWriter.write(JpaItemWriter.java:94) at org.springframework.batch.integration.async.AsyncItemWriter.write(AsyncItemWriter.java:85) at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:193) at org.springframework.batch.core.step.item.SimpleChunkProcessor.doWrite(SimpleChunkProcessor.java:159) at org.springframework.batch.core.step.item.SimpleChunkProcessor.write(SimpleChunkProcessor.java:294) at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:217) at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:77) at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407) at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273) at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258) at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at com.sun.proxy.$Proxy148.execute(Unknown Source) at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:152) at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:413) at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:136) at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:320) at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:149) at java.base/java.lang.Thread.run(Thread.java:829) 22:51 INFO o.s.batch.core.step.AbstractStep - Step: [asyncInitializationStep1] executed in 9s902ms 22:51 INFO o.s.b.c.l.support.SimpleJobLauncher - Job: [SimpleJob: [name=initializationJob]] completed with the following parameters: [{firmCode=0001, fileType=fixed, executeDate=1646661075421}] and the following status: [FAILED] in 9s960ms
-
미해결만들면서 배우는 리액트 : 기초
에러메시지가 없을 때, P태그 on, off 관련
안녕하세요, p태그를 에러메시지가 있을 때에만 dom에 추가하고 싶을 때 삼항연사자를 통해 아래 코드처럼 적용하면 될까요? 테스트로 적용해보니 작동은 되는데, 이렇게 하는 것이 맞는 것인지 궁금합니다. { errorMessage === '' ? null : <p style={{ color: "red" }}>{errorMessage}</p> }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
sum 계산시
def DFS(L, sum): global res if L > res: ## Cut Edge return if sum > m: return if sum == m: if L < res: res = L else: for i in range(n): sum += a[i] DFS(L+1, sum) 안녕하세요! 문제 풀다가 궁금한 점이 생겨 질문드립니다. sum을 넘겨줄때 DFS(L+1, sum + a[i])가 아닌 위 하늘색 부분처럼 미리 계산해서 넘겨주면 결과가 다르게 나오던데 제 눈에는 같아 보여서요...! 결과가 달라지는 이유가 궁금합니다.
-
미해결모던 자바스크립트(ES6+) 심화
set() 트랩 준수사항에 대해서 질문입니다!
// 프로퍼티 값 설정 불가 const target = {}; Object.defineProperty(target, "point", { value: 500, writable: false }); const handler = { set(target, key, value, receiver) { target[key] = value + 200; } }; const obj = new Proxy(target, handler); console.log(obj.point = 100); // 100 console.log(obj.point); // 500 11분 10초 쯤 설명에서 console.log(obj.point = 100); 를 실행하면 값 그대로 100이 반환된다고 설명하셨는데 이 부분이 이해가지 않아서 여쭤보고 싶습니다! 한 번 엔진이 어떻게 돌아가는지 봐봤는데 value 값으로 100이 들어갔지만 왜 내부 메소드 [[Set]]이 실행됐는데 100이 반환됐는지 잘 이해가 가지 않네요ㅠㅠ set() 트랩이 호출되고 실행이 끝나면 value 값을 반환하는 건가요? 처음 set() 트랩 설명에서는 반환에서 처리 성공하면 true, 실패하면 false라고 나와있었거든요ㅠㅠ
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
미세먼지 앱 부분
[프로젝트] [★★★★★] 미세먼지 앱 이라고 나와 있는 부분에 아무런 영상이 없습니다. 혹시 저만 그런건가요?
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
16:35초 지점에서 userRequest를 Array<UserRequest>가 아닌 List<UserRequest>로 하는 이유가 무엇인가요?
일단 JSON 데이터는 배열로 오는 것을 가정한다면, Array가 아닌 List<>로 받는 이유는 무엇인가요?
-
미해결홍정모의 따라하며 배우는 C++
getline
안녕하세요, std 안에 getline 멤버가 없다고 나오는데 혹시 버전의 문제일까요? Visual Studio 2021 버전 입니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+
이 모든함수들
이 모든 함수들을 제공을하는 건가요 아니면 실습을 통해 이해를 돕기 위해 선생님께서는 이렇게 알고리즘을 만드신건가요?
-
미해결Redux vs MobX (둘 다 배우자!)
함수선언문과 표현식
강의를 보다가 의문점이 하나 있어서 질문드립니다. actions/user.js를 보면 제일 위에 표현한 logIn 안에서 그보다 아래 표현한 logInRequest, logInSuccess 등을 사용하고 있는데요.. 함수선언문이 아니고 표현식인데.. 어떻게 아래에 선언했는데 위에 선언한 것에서 에러 없이 사용가능한것인가요? 호이스팅이 안될 것 같아서 질문드립니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
socket io Namespace vs Room
채팅앱을 만들고있는데, 단체방이든 일대일방이든 참여방 ID별로 나눠서 분배해주려고합니다. 그래서 namespace와 room 둘중 하나만 써도 될것같은데, 어떤것을 쓰는게 더 나은지, 차이점이 뭔지 모르겠습니다. 그리고 client에서 자신이 포함된 채팅방들을 구독해야하는데, namespace들을 한번에 여러개 구독하기위해서 어떻게 해야할지 모르겠습니다..