Philographer

# 171109 Play.Node

## GraphQL In Action: REST와 이별할 때 생각해야 하는 것들

* 고통의 근원: 이게 RESTful한가? 계속 질문하게 됨. Path, method, url 설계 등등....

* 특징

* scheme를 정의하여  validation이 편함

* 상속: union, interface keyworld

* recursive query: fragment 사용


## Tool

* GUI Client

* [Insomnia REST Client](https://insomnia.rest/)

* [GitHub - graphql/graphiql](https://github.com/graphql/graphiql)

* BaaS

* [Graphcool - GraphQL Backend Development Framework](https://www.graph.cool/)

* 구현체

* [GitHub - apollographql/apollo](https://github.com/apollographql/apollo)

* [GitHub - relay](https://github.com/apollographql/apollo)

* 같이쓰면 좋은

* [GitHub - facebook/dataloader](https://github.com/facebook/dataloader) -> 캐싱


## lambda.js와 함께 하는 간단한 API Server 만들기

* [GitHub - ramda/ramda: Practical functional Javascript](https://github.com/ramda/ramda)

* 순수함수

* side effect가 없는 함수: 외부 변수에의해 조작이 불가능한

* 일급함수

* …

* 함수를 파고들어갈때

* R.isNil

* R.compose

* R.last

* R.curry

* R.allPass

* 알면 좋은 것

* [Cookbook · ramda/ramda Wiki · GitHub](https://github.com/ramda/ramda/wiki/Cookbook)

* [Try Lambda](http://ramdajs.com/repl/)


## Node.js API 서버 성능 개선기

* 테스트 준비

* 서버 하나의 한계 파악

* 병목구간 확인

* 코드 개선 후 비교

* 테스트 툴

* 로컬 성능 확인

* [GitHub - shoreditch-ops/artillery](https://github.com/shoreditch-ops/artillery)

* npm script pre, post keyword

* npx autocannon

* 서비스

* Newrelic

* 테스트 시작 끝을 알려고 배포 플래그 api이용함

* Nsolid

* RisingStack

* AWS

* ECS Cluster

* Vagrant로 Virtual Box가 아닌 AWS EC2를 띄움

* [Rsync](https://www.joinc.co.kr/w/Site/Tip/Rsync)

* Ansible

* 성능 개선

* 클러스터 인스턴스 변경

* 컨테이너 CPU, 메모리 조정

* DB Pool 사이즈 조정


* v8 major update(node v6 -> node v8)

* turbofan + ignition

* 엄청난 성능향상...

* node inspect option (프로파일러)

* chrome devtools 사용가능

* v8 tick profiler

* `node -prof`

* summary

* Heap Dump -> 메모리 누수 추적

* 크롬 디버거 -> Memory -> Heap Dump

* Heap Dump를 테스트 이전, 테스트 이부


## 협력적 멀티태스킹

- Async await 잘 써라

- Promise를 래핑함, 성능은 잘 나오지 않더라도 메모리 관리등...


## 클라우드 시대의 node.js가 좋은 이유

* vs JAVA: Memory 차지를 많이함 -> 가지고있는 리소스가 적을때.

* https://github.com/fzaninotto/uptime

* ELK Stack

'경험 > 행사' 카테고리의 다른 글

Let's Swift 2016  (0) 2016.07.10
2016 메이커톤  (0) 2016.06.22
2016 IO Extended Seoul After 요약  (0) 2016.06.22
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다