묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SendBuffer 클래스를 만드는 이유
매번 패킷을 보낼 때마다 byte 배열을 할당해서 그 참조를 Session의 Send 함수로 전달하면 굳이 SendBuffer로 값을 한번 더 복사하는 과정 없이도 동작할 것 같습니다.그런데도 SendBuffer라는 클래스를 만들어서 관리하는 이유는 잦은 배열 할당으로 인한 Memory Fragmentation를 최소화하기 위함인가요?
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.
(언리얼 버전 5.5, 5.6 로 테스트해본 결과)C7595 스트링 관련 에러인것 같습니다. 무엇이 문제인지 궁금합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.
제가 뭘 잘못 설정했는지 아니면 버전 문제인지 파악하기 어려운 상태입니다. 잘 따라한거 같은데 혹시 5.6 버전에서도 networking insights 가 정상 작동하나요?
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
확장자에 대하여.. 문득 깨달은게 맞는지 확인.
제가 예전에 파일의 확장자를 임의로 바꾸니까 바뀌어진적이 있었거든요..그런것과 배운것을 유추해보건데... 사실 저장되어있는 "파일 덩어리" 그자체만 봤을때이거를 어떻게 읽어야하는지 알수가없는거죠?그러니까 동영상파일이든 word 파일이든 다 저장은 010101 이렇게 되어있어서 그것 자체만으로는 구분이 불가능하고... 이거를 어떻게 해석해야하는지 운영체제에게 알려주기위해서 확장자가 있는걸까요?
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
게임과 스트림에 대해서 (이해한게 맞는지 확인 질문)
음.. 제가 이해한게 맞는지 확인차 질문드립니다. 1) 컴퓨터가 켜지고 게임파일을 읽으면 inputStream이라는 걸로 파일을 설정한 단위로 읽어온다.2) 그런데 게임은 항상 순차적으로 진행되는건 아니니.. 필요한 부분을 offset으로 해당하는 부분을 찾아서 읽어온다.3) 이게 실시간으로 잘되면 로딩없이 끊김없이 잘 굴러가는거고, 느리거나 파일이 너무크면 로딩등 딜레이가 생기는거다. 결론: 파일이 어떠한 레스토랑에 있는 모든 음식이라면.. cpu는 사람이고스트림은 "음식을 전달하는 파이프라인"이다. 이런느낌으로 이해하면되나요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장 요청드립니다
강사님 안녕하세요. 복습을위해 강의 연장이 필요한데 연장한번 부탁드립니다. 감사합니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 요청 드립니다
강사님 안녕하세요.강의 잘 듣고 있습니다.복습이 더 필요한데 복습 기간이 촉박하여 강의 연장을 하고 싶습니다. 가능할까요? :)
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
강의가 재생이 되지 않습니다.
nginx 웹서버 설정 이해2해당 강의가 위와 같이 뜨고 재생이 되지 않습니다.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Insight 사용이 안되어서 문의 드립니다!
Unreal Insight 사용 시 아래와 같이 세션이 실행됩니다. 다만 해당 화면이 켜지자 마자 Insight가 멈추고 추가적인 입력이 불가능한 상태가 됩니다. 또한 네트워크 인사이트 창은 생기지 않습니다.이후 시간이 지나면 아래와 같은 애러 메세지가 뜨고 저절로 인사이트창이 닫힙니다..아래는 배치 파일 내용입니다. 현재 엔진은 5.4.4 버전으로 엔진 소스코드 빌드하여 사용중입니다. 언리얼 인사이트 툴도 추가 빌드해서 엔진버전과 동일한 버전으로 맞춰둔 상태입니다.또한 아래 질문들에도 비슷한현상이 있는데 해당 질문에 있던 방법들 모두 사용해도 오류가 발생해 문의드립니다.어떤 부분이 문제가 될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
chrono, thread헤더가 더 필요한것 같아 질문드립니다.
GameServer.cpp에서this_thread::sleep_for(10ms); 이 코드를 위해 chrono 헤더가main 함수에 thread를 위해 thread헤더가 필요한것 같습니다.
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
AWS Elastic Beanstalk 실습 메뉴 문의
안녕하세요 32강 AWS Elastic Beanstalk 실습 메뉴 관련 문의 드립니다.2단계 - 서비스 엑세스 구성에서 화면이 강의 내용과 다르게 나오는데 어찌 실습 진행해야 할까요?새 서비스를 선택할 수도 없고AWS-ElasticBeanstalk-service-role로 도 검색되지 않습니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장 요청 드립니다.
강사님 안녕하세요.좋은 강의 제공해주셔서 감사드립니다.강의 수강연장 요청드립니다.감사합니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
try-with-resources 강제 종료 시 자원 정리
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 클라이언트의 자원 정리에 대해 궁금한 점이 생겨 질문드립니다. 코드에서 클라이언트의 자원은 try-with-resources 를 적용해 정리하는데, 만약 클라이언트 프로그램을 IntelliJ에서 종료 버튼으로 종료하면클라이언트의 try-with-resources의 close() 메서드가 호출이 되어 자원이 정리되고 프로그램이 종료되는지, 아니면 바로 프로그램이 종료되고 OS의 책임으로 넘어가는지 궁금합니다. 항상 좋은 강의 감사드립니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 Q19
"동적컨텐츠"가 지문에 있어서, 단일 리전은 제외해야겠다고 생각했고, B를 정답으로 생각해서 틀렸습니다.B의 경우, "동적컨텐츠"를 A에 비해 빠르게 제공할 수 있지만 한계(2리전)가 있고, "정적컨텐츠"는 A에 비해 빠르게 제공하지 못 한다.따라서 상대적으로 A가 더 적합해 정답이라고 이해하고 넘어가려합니다.이 해석이 맞나요?추가로 만약 B에 추가로 CloudFront를 사용한다는 선지가 있으면 그게 정답인가요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
objmemberrepository 예외 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]package io.member.impl; import io.member.Member; import io.member.MemberRepository; import java.io.*; import java.util.ArrayList; import java.util.List; public class ObjectMemberRepository implements MemberRepository { private static final String FILE_PATH = "temp/members-obj.dat"; @Override public void add(Member member) { List<Member> members = findAll(); members.add(member); try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(FILE_PATH))){ oos.writeObject(members); } catch (IOException e) { throw new RuntimeException(e); } } @Override public List<Member> findAll() { try(ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_PATH))){ Object findObject = ois.readObject(); return (List<Member>) findObject; } catch (FileNotFoundException e) { return new ArrayList<>(); } catch (IOException | ClassNotFoundException e) { throw new RuntimeException(e); } } }코드 동일하게 작성했는데 콘솔 메인에서 마지막 나이를 작성하니Exception in thread "main" java.lang.RuntimeException: java.io.NotSerializableException: io.member.Member at io.member.impl.ObjectMemberRepository.add(ObjectMemberRepository.java:22) at io.member.MemberConsoleMain.registerMember(MemberConsoleMain.java:52) at io.member.MemberConsoleMain.main(MemberConsoleMain.java:26)Caused by: java.io.NotSerializableException: io.member.Member at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1121) at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:336) at java.base/java.util.ArrayList.writeObject(ArrayList.java:949) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at java.base/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:946) at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1431) at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1353) at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1115) at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:336) at io.member.impl.ObjectMemberRepository.add(ObjectMemberRepository.java:20) ... 2 more이런 예외가 발생합니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁 드립니다.
사내 업무로 인해 지속적인 수강이 어려운 상황입니다.가능하다면 수강 기간 연장을 통해 완강할 수 있다면 좋겠습니다. 감사합니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
강의 자료
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]섹션 12 - HTTP 서버 만들기 강의자료 26페이지 HttpResponse코드에 setStatus() 메서드 이름이 setStatusCode()인 것 같은데 "Code"가 빠져있어요. 그래서 강의자료 30페이지에 있는 HttpRequestHandlerV4코드 notFound()메서드에서도 setStatusCode가 아닌 setStatus로 작성되어 있습니다!
-
미해결네트워크, 그림과 애니메이션으로 이해하자(2025ver)
퀴즈 1단원에 강의에서는 언급되지 않은 내용이 나옵니다~
캐스트 부분은 강의 자체가 누락된 것 같습니다. 강의 자료에는 내용이 있는데, 강의는 없다보니... 문제를 맞출 수가 없네요 ㅠ강의에서 페이로드에 대한 언급은 없던 것 같은데 ㅠㅠ 이상하네요 ㅠㅠ
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
네트워크 - 프로그램2 / ServerV6 / throws IOException 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.메인에서 IOException 을 던지는 이유는 ServerSocket 때문인거 같은데 예외를 발생시키는 항목들을 try문에 넣고 throws IOException을 삭제하면 안돼나요? 아니면 다른의미가 있는건지 궁금합니다. public class ServerV6 { private static final int PORT = 12345; public static void main(String[] args) throws IOException { log("서버 시작"); SessionManagerV6 sessionManager = new SessionManagerV6(); ServerSocket serverSocket = new ServerSocket(PORT); log("서버 소켓 시작 - 리스닝 포트: " + PORT); // ShutdownHook 등록 ShutdownHook shutdownHook = new ShutdownHook(serverSocket, sessionManager); Runtime.getRuntime().addShutdownHook(new Thread(shutdownHook, "shutdown")); try { while (true) { Socket socket = serverSocket.accept(); // 블로킹 log("소켓 연결: " + socket); SessionV6 session = new SessionV6(socket, sessionManager); Thread thread = new Thread(session); thread.start(); } } } catch (IOException e) { log("서버 소캣 종료: " + e); }
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁 드립니다
혼자서 준비하자니 막막했었는데양질의 자료와 쉽고 상세한 강의 덕분에 자신감을 얻고 있습니다.그런데 직장 다니면서 시간 내기가 생각보다 쉽지 않네요.연장 해주시면 꼭 완강하도록 하겠습니다감사합니다