React node.js SSR with Google App engine (1)
Isomorphic 에 끌려서
벨로퍼트님 책[리액트를 다루는 기술]을 사고 퇴근 후에 깔짝대기 3일차.
Java Spring Jsp + Jquery Extjs AngularJs 뭐 이런 구시대 스킬이 익숙해서 그런지 너무 어렵습니다.
난해해요.
물론 Client 쪽만 본다면 Extjs 쪽이랑 유사한 느낌도 드는데...
느낌이 오는가 싶다가도 Server Side 코드가 훅 들어오면서 뇌정지가 옵니다.
진짜 어색한건 Node.js 같아요.
저의 목적은 React Node.js 정복이 아닌 속성으로 빠르게 익혀 개인 프로젝트에 적용하는 것이기 때문에
책을 뒤에서 부터 보고 있습니다. (뭐라는거야...)
아무튼 헤딩결과 기록해둬야 할 사항 세 개를 발견했습니다.
책에 있는 예제 기준으로 프레임워크를 선언? 주입? 하는 server/index.js에 마지막 app.listen(3000);
listen이 정확히 무얼 하는지는 아직 모르겠지만, (앞으로도 모를 것 같다...)
벨로퍼트님 책 뿐만 아니라 대부분의 예제가 3000포트를 활용하고 있더라구요. Hello World?
책에서 배포를 다루고 있지 않아서 다른 환경은 몰라도 구글앱엔진에서는 8080포트를 써주어야 합니다.
그렇지 않으면 배포는 문제없이 되지만 서버는 502를 던져줘요.
https://cloud.google.com/appengine/docs/flexible/nodejs/runtime
그리고 package.json (Maven pom.xml 같은...)
책에서는 script (이건 Maven goal 같은...) 에 "start": "node scripts/start.js" 라고 되어 있는데
배포시에 에러가 납니다. "start": "node server" 로 바꿔서 문제를 해결했는데 start.js를 수정해서 해결할 수도 있겠죠?
(물론 지금의 나로서는 불가능...)
마지막으로 Websocket은 어떻게 구현을 해야되는가 찾아봤으나...
https://issuetracker.google.com/issues/35886348#comment231
번역기 돌려보니
안녕하십니까, 우리는 Flex Websocket Beta 출시에 착수하여 곧 사용할 수 있도록 할 것입니다.
표준 용 웹 소켓은 적어도 1 년 정도 떨어져 있습니다. 타임 라인에 대한 명확성을 확보하면서 계속해서 업데이트하겠습니다.
곧 된다고 한다. 예? (꽤 오래전에 channel api로 채팅웹도 구현 가능했었는데...)
그 밑에 미국갬성 조크가 너무 웃기다...
https://issuetracker.google.com/issues/35886348#comment233
얘들아, 이 문제는 거의 10 년 동안 열려 있었다.
Google은 AI 모델 교육 서비스를 가속화하기 위해, 설계된 정교한 프로세서를 제공하는 방법을 알아냈습니다.
하지만 웹 소켓? 아니야. 그런 종류의 기술은 "적어도 1 년은 남았어".
이것은 밈이되어야합니다.
웹소켓 관련 기능들은 당장에 우선순위에서 밀려있어서 천천히 개발하다보면 나올것 같네요.