LaunchPad 에서 마음 껏 GraphQL 테스트 해보기
Node 는 스크립트 언어
node 는 본의 아니게(?) 너무 효율좋게 javascript engine 을 만들어 버린 구글로 인해 요즘 각광을 받는 엔진(?) 이다.
뭐 그냥 빠르고 좋다. 오늘은 창의력이 낮아서 글이 짧게 써진다.
javascript 는 컴파일이 필요한 java 나 c 같은 컴파일언어가 아니고 직독직해하는 스크립트언어다.
물론 필요에 의해서 2 Phase Parsing (두번 해석한다는 의미) 같은 것을 하긴 하지만, 원칙적으로 컴파일이 필요없는 언어이다.
스크립트 언어를 위한 Playground 들
컴파일이 필요없기 때문에 사실 플랫폼에 독립적이다, 해당 플랫폼에 있는 interpreter 가 읽고 해석하는 대로 실행하면 되니까.
C 처럼 명령어셋이 어쩌고, 번지수가 어쩌고 레지스터가 어쩌고 같은 건 interpreter 가 할 일이다.
따라서 컴파일언어와 달리 스크립트언어는 쉽게 Playground 를 제공할 수 있다. Playground 란 내가 코딩하는 대로, 코딩하는 즉시 결과가 나오기 때문에 코딩을 하면 노는 놀이터란 의미이다.
이 코딩즉시 결과 확인이란 장점이 너무도 강력해서, apple 도 objective-c 를 버리고 swift 를 만들어서 표준을 바꿔버렸다는 것을 알아야 한다.
그래서 android 도 kotlin 을 표준으로 지원하기 시작한다는 것도 알아야 한다.
아무튼 스크립트는 OS 에 독립적이고 즉시 해석(interpret) 이 가능하기 때문에 다양한 Playground 가 존재한다.
Python 에서 시작한 Jupyter
가장 대표적인 notebook playground 이다. 코딩 즉시 결과를 확인할 수 있고, 버전관리도 되며, 코드 외에도 다양한 추가 컨텐츠들을 노트에 병행해서 담아 둘 수 있다.
python notebook 에서 시작했지만 사실 Jupyter 는 Python 외에도 R, Julia, Scala 등 40여종의 프로그래밍 언어들을 지원한다.
Python Playground IPython
jupyter 의 아버지는 IPython 으로 playgound 의 효능을 확인해 준 것이 바로 python 의 이 notebook 이다.
동일한 경험을 다양한 언어에도 제공하려다 보니 IPython 이란 이름으로는 안되니 jupyter 나 나오게 되었다.
수 많은 Playground 들
Babel 놀이터 : https://babeljs.io/repl/
코드 놀이터이자 요리하는 주방 : https://codepen.io/
등이 있다.
그리고 xcode 에도 swift playgound 가 있어서 즉시 swift 코드를 입력하고 즉시 결과를 확인 할 수 있다.
Apollo LaunchPad 는 GraphQL 놀이터
LaunchPad 하나 소개하려고 참 멀리도 갔다 왔다. LaunchPad 는 GraphQL 의 구현체(사실 GraqhQL 자체는 하나의 규격이자 약속이지 구현체는 제공하지 않는다. 본인의 취향에 맞는 구현체를 정해서 사용해야 한다.) Library 를 개발하는 Apollo 에서 제공하는 GraqhQL 놀이터 이다.
접속하면 즉시 GraqhQL 코드를 왼쪽화면에서 하고, 실형결과 역시 즉시 오른쪽에서 확인 할 수 있다.
Secrets 메뉴를 통해 환경변수와 비밀정보를 코드에서 참조하게 할 수도 있고,
Logs 메뉴를 통해 실행 로그 확인도 가능하다.
npm deps 메뉴를 통해 외부 library 도 추가 할 수 있다.
GraphiQL 을 통해 Query 와 Mutation 도 당연히 실행해 볼 수 있다. 그것도 RealTime 으로!.
결정적으로 GraqhQL 에 대해 잘 모른다면?
다른 포스트를 참조하자. 아마도 관련 포스트를 추가할 듯 하니.
이번 포스트는 여기까지.