[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
초보지만 그림을 알기 위해 전체 강의를 빠르게 정주행하고 있습니다. 두가지 질문이 있는데요 1. Client쪽의 directory에도 Servercore 폴더가 있습니다. 왜일까요. 서버 /클라이언트에 공통적으로 필요한 요소인가요? 2. Room과 object가 있는데 특히 room의 역할이 헷갈립니다. player나 monster의 수치 자료가 하드코딩되는 곳은 어디일까요?
안녕하세요 크리핵티브님 파일 다운로드 jsp 기반의 파일 다운로드 질문이 있습니다. 해당 영상을 보고 따라 하여 jsp 다운로드 소스코드를 작성하였는데 영상에서는 파일이 다운로드가 정상적으로 되었지만 실제로 따라 하였을때에는 파일 다운로드가 되지 않고 사이트에 연결할 수 없음 http://127.0.0.1:8080/download1.jsp?org_filename=11test.jpg&real_filename=1234.jpg 의 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다. 이렇게 오류가 뜨는데 이럴때는 해결방법이 없으려나요 ? 해당 소스코드는 이러합니다. index.jsp 소스코드 <%@ page contentType="text/html; charset=UTF-8" %> <li>첨부파일1 : <a href="download1.jsp?org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> <li>첨부파일2 : <a href="download2.jsp?path=image&org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> <li>첨부파일3 : <a href="download3.jsp?path=C:\APM_Setup\Server\apache-tomcat-8.5.73\webapps\ROOT\upload\image&org_filename=11test.jpg&real_filename=1234.jpg">[다운로드]</a></li> download1.jsp 소스코드 <%@ page contentType="text/html; charset=UTF-8" %> <%@ page import="java.util.*,java.io.* " %> <% FileInputStream fis = null; BufferedInputStream bis = null; BufferedOutputStream bos = null; String path = "C:\\APM_Setup\\Server\\apache-tomcat-8.5.73\\webapps\\ROOT\\upload\\image\\"; String org_filename = request.getParameter("org_filename"); String real_filename = request.getParameter("real_filename"); if(org_filename == null || real_filename == null) {out.println("<script>alert('파일명이 입력되지 않았습니다.');history.back(-1);</script>"); return; } try { File fd = new File(path + real_filename); if(fd.exists()) {out.println("<script>alert('파일이 존재하지 않습니다.');history.back(-1);</script>"); return; } response.setHeader("Content-Type","application/octect-stream"); response.setHeader("Content-Disposition","attachment; filename=" + org_filename); fis = new FileInputStream(fd); bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buffer = new byte[1024]; int i = 0; while((i=(bis.read(buffer))) != -1) {bos.write(buffer, 0, i); } bos.flush(); } finally { if(fis != null) fis.close(); if(bis != null) bis.close(); if(bos != null) bos.close(); } %> 강의를 들으면서 똑같이 따라하였고 오타 부분도 확인하였으나 어느 부분에서 오류가 났는지 잘 이해가 안가 질문 드립니다. 제가 생각하기론 경로(path) 부분인거 같은데 어느 경로가 문제인지 잘 모르겠습니다.. 소스코드 상 오류는 없고 해당 실습을 진행하게 되면 모든 실습 간에서 파일을 다운로드 할 수 없고 사이트에 연결할 수 없다고 하네요 경로를 역슬래쉬 혹은 슬래쉬 둘다 교체해서 수정하여도 결과는 똑같습니다. 해당 톰켓을 재설치하여 적용해도 똑같이 나옵니다.. 재설치만 10번 넘게 해봤는데도 결과는 똑같아서 글 남깁니다.. 감사합니다.
int main() { int i = 'A'; int m = 1; int n = 0; for (; m <= 5 ; m++) { for (; n <= 10 ; n++) { printf("%c ", i + n); } printf("\n"); } return 0; } 답안을 보기 전에 임의로 만들어 보았습니다. 좀 더럽게 만들긴 했는데 A ~ K까지 첫 줄은 잘 출력이 되는데 2 ~ 5열까지는 출력이 되지가 않았습니다. 두번째 루프는 작동을 하는데 첫번째 루프가 작동하질 않습니다. 첫번째 루프를 답안과 비교를 해봐도 제가 만든 첫번째 루프에서 어디가 문제인지를 모르겠습니다. 어디에서 문제가 생긴걸까요?
안녕하세요! 궁금한게 생겼습니다. SettingHolder 를 이용한 인스턴스 생성과 inner class를 하지않고 Settings 에서 static 메소드를 써서 초기화한 private static finnal Settings instatnce = new Settings(); 의 차이점을 모르겠습니다. 제 생각에는 두개 전부다 결국 'static 영역에 미리 생성(?) 을 한다는 것'이고 static이므로 로드시점까지 똑같다고 생각하는데요. Holder를 만들었다고 해서 무슨차이인지 잘 모르겠습니다. 감사합니다!
- open browser가 검색이 안되고 use application/broswer만 검색이 됩니다. - 다른 템플릿에서 open browser를 긁어왔는데 click이 "opening.xaml: 타겟 또는 입력 UI 엘리먼트를 설정해야 합니다."라는 오류 메시지와 함께 설정이 안됩니다. 해결 방법이 무엇이 있을까요?
강의는 스프링 2.5버전대지만 현재 스프링 이니셜라이저에서 기본 지정 버전은 2.6버전입니다. 여기서는 CallServiceV1에서 사용한 setter에 @Autowired 붙이는 문법을 사용 할 시에는 생성자로 주입할 때랑 똑같이 순환참조냐고 묻는 오류가 발생하더라구요. 혹시나 싶어서 2.5.6으로 해보니 잘 되더랍니다...ㅠㅠ 갑자기 2.6.0버전부터 무슨 일이 생긴지는 모르겠지만 여기서는 안되네요 ㅠㅠ
firebase authentication 강의에서 import firebase from "firebase" ; 파어이베이스 import 하고 Register.vue에서 import { auth } from "../firebase" ; 하면 아래와 같은 에러가 발생합니다. ㅠ__ㅠ 몇번을 다시 해봐도 계속 에러가나서 뭐가 잘못 된건지 모르겠어요 ㅠ_ㅠ Internal server error: Failed to resolve entry for package "firebase". The package may have incorrect main/module/exports specified in its package.json: Missing "." export in "firebase" package
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요. 루키스님 STL 강의를 보다가 순회하는 속도에 대해서 궁금한 점이 있어서 질문을 남깁니다. 1만개의 데이터가 있을 때 vector로 순회하는 것보다 map으로 순회하는 것이 느리다고 하셨는데 그 이유가 무엇인가요? vector 같은 경우 iterator를 직접 사용하지 않고 바로 인덱스로 순회할 수 있고 map은 iterator를 한칸씩 증가하면서 순회해야하기 때문인 것인가요? 혹은 vector는 메모리가 연속되어 있기 때문에 템퍼럴 로컬리티와 스페이셜 로컬리티 특성으로 인해 캐시히트가 잘 일어나게 되고 map은 메모리가 연속되어 있지 않기 때문에 반대로 캐시 미쓰가 많이 일어나서 그런 것인가요?? list또한 궁금합니다. 나머지 2개의 컨테이너와 비교했을 때 순회하는 속도가 어떤지도 궁금합니다. vector list map을 for문으로 순회하는 것에 대해서 무엇이 빠르고 느린지 이유를 알고 싶습니다!
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
허무하게 몇 시간 소비하면서 제대로 된 공부법을 못 찾고 있는 것 같습니다.. Visual Studio for Mac의 Solution tab 여는 방법 아시는 분 계실까요? Solution tab이 나와야 파일 여러 개로 갈리는 걸 확인할 수 있는데 여기서 막히고 있습니다.
프로그램 따라하면서 하기와 같은 에러가 발생합니다 혹시 몰라서 Git에 있는 자료를 down 받아 사용해도 에러는 동일하게 발생합니다 에러 내용 > vue3-project@0.1.0 serve > vue-cli-service serve INFO Starting development server... 98% after emitting CopyPlugin WARNING Compiled with 1 warning 오후 6:31:32 warning in ./src/components/TodoList.vue?vue&type=script&lang=js "export 'useContext' was not found in 'vue' App running at: - Local: http://localhost:8080/ - Network: http://192.168.0.10:8080/ Note that the development build is not optimized. To create a production build, run npm run build. 이 에러는 1. import { useContext } from 'vue'; 을 사용하는 시점부터 나왔습니다 2. 프로그램은 git에 나온 내용을 그대로 copy하여 사용하였기 때문에 프로그램 edit에러는 없을것으로 추정 3. 차이점이라고는 package.json에서 vue-router 버젼이 본인 PC에는 4.0.12이고 강사 깃자료를 보면 4.0.4로 차이가 있습니다 4.0.12버젼을 삭제하고 4.0.4로 설치할려고 했으나 실패하여 현재는 4.0.12 입니다 위에러 해결방안에 대해 검토 해주시기 바랍니다 수고하세요
GenerateValue가 id 값을 자동으로 생성해주기 때문에 안받아도 상관이 없는 거라고 생각했는데 아이디값을 setter로 받아서 코드를 작성해도 등록과 조회가 잘됩니다 ㅠㅠ Form 객체에 id필드를 추가하고 id를 받아서 구현해도 상관없을까요? 아니면 id값은 생략하는 게 맞는건가요? =============================================== <추가> id를 찍어보니까 null이 찍히는 걸 확인했습니다. JPA가 persist()를 할 때 id를 생성하고 그 id를 사용해서 영속성 컨텍스트에 데이터를 저장하기 때문에 그 전에는 id존재하지 않기 때문에 굳이 받을 필요가 없는게 맞는지 궁금합니다..! <ItemController.java> Book book = new Book () ; book . setName (form . getName ()) ; book . setPrice (form . getPrice ()) ; book . setStockQuantity (form . getStockQuantity ()) ; book . setAuthor (form . getAuthor ()) ; book . setIsbn (form . getIsbn ()) ; <MemberController.java> Member member = new Member () ; member . setName (form . getName ()) ; member . setAddress ( address ) ;