2017년 12월 30일 토요일

PlayNode 후기

PlayNode

17/11/09 르메디앙 호텔

GraphQL + Relay + Serverless


  • 발표자 박형식 @ 텀블벅
  • 필요한 리소스만을 요청하고 사용하는 API 만들기
  • 요즘은 컴포넌트 단위로 쪼개서 개발한다.
  • 너무 많은 컴포넌트를 통신상태가 좋지 않은 상태일떄 어떻게 할까?

쿼리스트링 -> 데이터가 많을때 문제가 생긴다.

  • 데이터의 형태가 매번 바뀔수 있다
  • soundcloud 는 BFF 형태로 문제해결
  • BFF -> 프론트 엔드 위주로 백엔드가 백업해준다.
  • 하지만 다양한 상황에 따른 각각의 BFF를 만들어야하는 문제가 발생
  • 그렇기 때문에 GraphQL사용
  • 형식은 요청은 value가 없는 JSON 응답은 value가 있는 JSON
  • 요청{me{name,sex}},응답{me{name:’kong’,sex:’man’}}
  • 이런식으로 인자가 있는 요청 가능{user(id=’1’){name,sex}}
  • POST/graphQL 보통 여기로 보내는게 규정
  • Type System ????????
  • type은 기본키 같은존재 쿼리가 어디서 부터 시작하는지 알려줌 (솔직히 잘모르겠음)
  • mutation은 read write delete update 를 할수있게 함
  • 너무 많은 데이터를 낭비하는 RESTAPI보다 graphQL이 더 좋을 수도 있다.
  • 비지니스 로직이 너무 커질경우, 네트워크 요청이 비쌀때, 요청이 많을때 필요
  • 네트워크 콜 최소화

Relay

  • 이미 내가 데이터가 있는지 확인 (캐싱이나 다른 걸로 받았는지 확인)하고 없으면 받는다
  • 이걸로 네트워크 콜을 최소화의 최소화한다.
  • 서버와 클라이언트 사이
  • 응답과 답장이 가능해야한다.
  • mutation할때 테그를 붙히는데 답장에도 태그가 붙어 체이싱이 되어야한다.

Serverless

  • 서버리스에서 가장 중요한것은 함수
  • 함수 == event
  • 서버리스는 패턴과 아키텍쳐
  • 서버 관리의 모든걸 클라우드에게 맡기자!
  • 이벤트가 있을때만 사용하기 때문에 비용적인 측면에서 GOOD
  • 이 서버들을 함수로 연결하자

정적 타이핑

  • 개발 파이프라인
  • 코드수정 -> 컴파일 -> 커밋->빌드 -> 배포
  • 탐지 가능한 버그
  • 정적 타이핑으로 테스트 한 경우 15%정도 버그를 줄였다.
  • 버그를 없애는 것이 아니라 버그를 미리 발견할 수 있게 한다.
  • 코드와 더 밀접히 연결된 문서화가 가능해집니다.
  • 리팩토링이 용이해집니다.
  • typescript(ms) vs flow(facebook)
  • EX) const abc(a:number){}
  • 제네릭도 지원
  • TS가 더 나은 결정이라고 생각한다.
  • 안전함과 편리함 사이 설득력 있는 트레이드오프
  • ts랑 flow랑 근본적인 철학의 차이가 있다.
  • flow가 훨씬더 꼼꼼하다. 그래서 너무 사소한 것도 에러를 뛰어 버린다.
  • 안전한 선택이 보일러플레이트가 됨
  • IDE == VSCODE
  • flow 보다 ts가 훨씬 커뮤니티가 크다
  • 도입
  • 점진적 타이핑을 해도 된다.

디버깅

  • 발표자 최준영
  • 효율적인 디버깅을 위해서 전후에 확인하자
  • 타입 어노테이션
  • 당신의 의도를 ide 에게 잘 전달할 수 있다.
  • payload
  • 여기도 ts
  • css in js
  • 완벽한건 아니다 JS!
  • 런타임에서 막아보자
  • 인스펙터 를 이용한 디버깅
  • !!!!!!
  • 중요 인스펙터 + 브레이크 포인트
  • !!!!!
  • 스텝인 -> 함수안으로 들어오는거 오버엔 아웃
  • 비동기 상황에서도 가능하다 -> 완벽하진 않음
  • pause in exception 이것도 키고 할것
  • VScode Inspector
  • 음…..
  • TTD 챠크라 -> 디버깅중 과거로 돌아갈수 있다.

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

  • 발표자 OKKY-허광남
  • 2016년 1월 7일에 AWS KOREA 이후로 기업들이 클라우드로 넘어옴
  • PaaS 종류 : PaaS-TA,Beanstalk,AppEngine,AppService,Heroku,WebApps
  • uptime 1분마다 응답속도의 그래프를 보여줌
  • kinana 시각화

댓글 없음:

댓글 쓰기

Typescript Meetup

Typescript Korea MeetUp 2018 2018년 1월 18일 강남 마루180 19:00 ~ 21:10 Typescript 로 부터 얻은것과 잃은 것 발표자 손찬욱 (네이버) eg.js 개발중 Typescript 사용기 eg...