register 부분까지는 정상적으로 진행했고, login 부분으로 넘어왔는데 ReferenceError : user is not defined at c:...생략...\boiler-plate\index.js:51:5... 이런 오류가 뜹니다.. 강의자님의 github나 다른 질문들을 훑어봤지만 강의 내용과 코드의 다른점을 찾지 못했습니다.. 도와주세요..! https://github.com/coffeescriptSERRL/study-boiler-plate-ko/blob/master/index.js
문제에서 받는변수로 len이라는 길이만 받으시고 함수에서 Line배열을 사용하셨는데요. 함수 밖에서 설정된 Line배열 이름을 함수 안에서 사용해도 원래 인식이 가능한것인가요??? def count(len,Line): 이런식으로 하지않으시고 Line를 함수안에서 바로 호출하셔서 그것이 원래 가능한 것인지 궁금해 질문드립니다!
화면에(=크롬 개발자도구 Console에) "Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers." 라는 오류가 찍히는데ㅠㅠ...구글링해봐도 무슨말인지 이해가 잘 되지 않습니다ㅠㅠ....
강사님의 서버개발 강의를 다 보고 완성해서 Windows App, Android App을 만들어 테스트를 해보려고 했는데 원격지에서 TCP 접속이 계속 Timeout이 발생합니다. 서버와 클라이언트(Windows, Android)는 동일한 Hub 내에서 동작하고 있어요 고정 IP 하나에서 DHCP로 내부 아이피 할당받아 사용중입니다. 예로 서버의 내부 아이피는 192.168.0.40 이고 포트는 7777번 사용 중이고 Client는 192.168.0.40:7777로 접속을 시도하는 중이에요. 혹시나 Server 쪽에서 In/OutBound 정책을 설정을 안했나 싶어서 TCP 7777번 포트를 모두 열어놓았으나 Timeout이 발생해 모든 포트를 다 열어서 테스트했는데 동일하게 Timeout이 발생합니다. 원격지에서 TCP서버로 접속하려면 다른 설정이나 코드가 필요한것인가요?
아무리 보고 또 봐도 생각을 아무리 해봐도 이해가 잘 안돼서 질문 남깁니다. 질문이 너무 잦아 부끄러운 마음이 먼저 드네요..ㅠ class ClientSession : PacketSession { public GameRoom Room { get; set; } public override void OnConnected(EndPoint endPoint) { Console.WriteLine($"OnConnected: {endPoint}"); Program.Room.Enter(this); // 1 } public override void OnDisconnected(EndPoint endPoint) { SessionManager.Instance.Remove(this); // 2 if (Room != null) { Room.Leave(this); Room = null; } Console.WriteLine($"OnDisconnected: {endPoint}"); } ... OnConnected 메소드에서 주석 1번과 OnDisconnected 메소드에서 주석 2번 영역인데요. OnConnected 에서는 Program 의 Room에 입장을 시키는데 어째서 OnDisconnected 에서는 Room에 Leave를 하는지 아무리봐도 모르겠습니다. 코드대로 읽어보면 Enter는 Program영역이고 Leave는 ClientSession의 영역이라 서로 다른 처리를 하고있는게 아닌가 하는 생각이 들고요. 또 하나 신기하면서도 이해가 안되는 부분은 public static void ClientChatHandler(PacketSession session, IPacket packet) { ClientChat chatPacket = packet as ClientChat; ClientSession clientSession = session as ClientSession; // 여기! if (clientSession.Room == null) return; clientSession.Room.Broadcast(clientSession, chatPacket.chat); } clientSession에는 Room을 넣어준 적이 없는데 if를 통과하는 부분이에요. 분명 어디선가 초기화가 되고 있다는 뜻인데 암만 봐도 모르겠습니다... ㅠ 심지어 ClientSession의 Room 은 초기화 되는 곳이 그 어느곳을 찾아봐도 없어요.ㅠ
React Hook "useEffect" is called in function "landingpage" which is neither a React function component or a custom React Hook function react-hooks/rules-of-hooks 위와같은 오류가 발생하는데, 어떻게 해야하나요?
Connect 구현 중에 캐스팅 코드관련해서 궁금한 것이 있습니다. 명시적 캐스팅을 진행할 때 Socket socket = (Socket) args.UserToken; 이렇게 진행한다고 배웠는데 Socket socket = args.UserToken as Socket; as 키워드로 하는 캐스팅이 나와 당황스러웠어요. 둘 차이점이 있나요?
안녕하세요? 좋은 강의에 도움을 많이 받고 있습니다. numpy 패키지의 표준편차를 구한 결과와 Pandas 패키지의 표준편차를 구한 결과가 다른데 그 이유는 무엇인지요? import pandas as pd import numpy as np data = np.arange(0, 50, 10) a = pd.Series(data, index = ['a','b', 'c', 'd', 'e']) print(np.std(a)) print(a.std()) 결과가 아래와 같이 다르게 나옵니다. 14.142135623730951 15.811388300841896
ReadLock() 작성 중에 조건이 아무도 WriteLock을 획득하고 있지 않으면 ReadCount를 1 늘린다 라서 if ( (_flag & WRITE_MASK) == 0 ) 이 코드는 이해하겠는데 Interlocked를 사용하면서 이 부분이 사라지고 int expected = (_flag & READ_MASK); if (Interlocked.CompareExchange(ref _flag, expected + 1, expected) == expected) return; 이렇게 작성이 되었는데요. 이러면 WriteLock 체크를 무시하는 것이 아닌가요? 코드로만 보면 WriteLock 영역은 모두 0으로 날려버리는 것이니 WriteLock이 있던 없던 그냥 Read 하겠다라고 이해되어서요.
ReaderWriterLock 강의 10분 47초 쯤 나오는 Reward 예시에 대해 질문이 있습니다. Reward 예시에서 GetRewardById(int id) 를 설명하시면서, 운영 툴로 보상을 지급해야 할 때, lock이 필요하다 라고 말씀하셨었는데 애초에 MMORPG를 잘 안해서 와닿지 않는 것 같아요. 장기적으로 본다면 게임내의 캐릭터가 가지고 있는 아이템들은 DB로 관리될 것이라 생각되는데, 왜 Lock이 필요한 것인지 이해가 잘 되지 않아요. 메모리 배리어 파트의 Store, Load 와 관련된 것 이라면 DB와 무관하게 실시간으로 캐릭터에게 지급이 된다라고 이해한다면 맞는것 같은데 이렇게 생각하는게 맞는건가요?
안녕하세요 애셋스토어에서 받은 데모 씬으로 유니티짱, @Scene, Main Camera를 옮기고 나서 터레인과 빌딩의 레이어를 Wall로 바꿨는데도 캐릭터가 이동하지 않기에 확인해봤더니 InputManager의 이 코드에 막혀 클릭하는 이벤트가 실행되지 않는 것 같습니다. if (EventSystem.current.IsPointerOverGameObject()) return; 이 코드는 UI를 클릭한경우 다른 클릭 이벤트를 막기위해 쓴 코드로 알고있는데 왜 터레인을 클릭했는데도 이 코드에 막혀버리는걸까요? 지금까지 한것중에 뭔가 잘못따라한게 있나해서 Data Manager#2 강의 첨부파일을 받아 다시해봤는데도 마찬가지입니다.
안녕하세요 게임오브젝트를 비활성화 시켜도 Awake() 안에있는 Init()은 실행된다는 것은 이해했는데요 14분 44초에서 부모 클래스 BaseScene.cs에서 Init()을 실행했는데 어떻게 자식클래스 GameScene.cs의 Init()까지 실행이되는건지 잘 이해가 안됩니다. 제 생각으로는 자식클래스에서 어떤 메서드를 오버라이드했더라도 부모클래스에서 그 메서드를 실행하면 부모클래스의 메서드만 실행될거같은데 유니티에서만 가능한건가요?
안녕하세요. 강의 너무나 잘 보고 있습니다. 이번 강의를 수강하는 도중에 갑자기 heroku가 갑자기 나오길래 이전 강의에서 놓친 부분이 있나 확인해보았는데 그 전에 언급하신 적은 없더라구요. 저는 아직 heroku를 사용해 본적이 없어서, heroku 홈페이지에서 계정을 만든 후, app을 만든다음, setting 부분의 Config vars에서 강의에서 하신 것 처럼 MONGO_URI를 추가하였습니다. npm run start는 정상적으로 작동을하는데, 혹시 제가 추가적으로 setting을 해야할 것들이 있을까요?
전체적인 구조는 잘 설명해 주셔서 이해했습니다! 클라이언트 - 노드 서버 - dialogflow API 이렇게 되는데, 이번 강의에서 노드 라우트에서 보면 제가 dialogflow에서 만든 계정 정보(프로젝트 아이디 등등)를 가지고서 세션을 형성해서 연결하는 것까지 이해했습니다! 그래서 그 특정 정보를 가지고 제 계정으로 만들었던 dialogflow API로 보내게 되는 거구요! 그런데, GOOGLE_APPLICATION_CREDENTIALS 환경변수를 만들긴 했는데 이것이 어디에 쓰이는지 모르겠습니다... ㅠ '프로젝트 이름-key.json' 라는 파일 안에는 제가 생성한 dialogflow 프로젝트 정보가 들어 있는데요, 이것이 있는 파일 경로를 이용해 일단 환경 변수를 셋팅했는데, 딱히 코드 상에서는 해당 환경 변수를 이용하는 곳이 없더라구요... ㅠ 그런데 서버를 돌리고 포스트맨으로 요청을 보내면 잘 응답이 오는 것을 확인할 수 있었습니다. 즉, 현재 노드 서버와 dialogflow API가 연결이 잘 됐다는 뜻인데요, 왜 이게 가능한지 모르겠습니다... const projectId = config . googleProjectID ; const sessionId = config . dialogFlowSessionID ; // 내 계정을 이용하여 dialogflow와의 세션 생성 const sessionClient = new dialogflow . SessionsClient (); const sessionPath = sessionClient . sessionPath ( projectId , sessionId ); 위에서 보시면 그저 프로젝트 이름하고, 임의로 정한 세션 아이디명을 넣어준 것 뿐인데, 어떻게 노드 서버가 제 dialogflow 프로젝트를 특정하여 잘 연결하는지 원리를 모르겠습니다...