Backend
![BFF Pattern이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FssFgh%2FbtsKCVmCRjh%2Ffxmu29Qe95Rv8zKeb9pVw0%2Fimg.png)
BFF Pattern이란?
MSA 환경에서는 아래와 같은 일들이 비일비재하다.여러 플랫폼(Web, Android, iOS, Desktop... )을 지원하게 되고, 각각이 필요로 하는 데이터가 다름원하는 데이터를 얻기 위해 여러 API의 응답을 받아와서 가공함이런 상황들이 겹쳐 프론트엔드에서 복잡한 계산이나 비즈니스 로직을 작성하게 됨시스템에 따라 다르긴 하겠지만, 이론적으로만 바라본다면 이상적인 형태는 아닐 것이다.모바일에서는 PC 환경에 비해 네트워크 속도가 느리고 메모리와 같은 하드웨어 이슈로 동일한 화면을 구성하더라도 늦게 렌더링될 수 있다.한 번의 API 호출만으로 화면에 필요한 모든 데이터를 다 받아올 수 있다면 그만큼 렌더링이 빨라지지 않을까?BFF는 그러한 요구를 만족하기 위해 각 플랫폼에 맞게 백엔드 서버를 구성하..
![GraphQL이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtqeOC%2FbtsKpadQKwG%2FKn22oJRskqnufh92WuLE3k%2Fimg.png)
GraphQL이란?
클라이언트(Web, App 등)에서 화면을 그리기 위해서는 서버가 만들어놓은 API를 호출해서 데이터를 가져와야 한다.하나의 화면을 그리기 위해서 여러 API를 호출해 데이터를 조합하여 사용하는 경우가 많은데, 페이지가 복잡해 질수록 데이터 조합도 복잡해질 것이다.GraphQL에서 해결하고자 하는 문제는 크게 두 개로 볼 수 있다.Over-Fetchingover fetching은 필요하지 않은 데이터까지 받아오는 것을 의미한다.유저의 닉네임만을 가져와야 할 때, API에서는 닉네임 뿐만 아니라 다른 정보까지도 주는 경우가 많을 것이다.{ user : { id : 1, nickname : "daengdaeng", name : "cream", age :..
![Node.js(express) koyeb에 배포하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNzqCg%2Fbtr9Gh7plQ2%2FksYRxkippdDZCliJEBX9QK%2Fimg.png)
Node.js(express) koyeb에 배포하기
토이 프로젝트로 진행하던 Subway Tour가 이런저런 일들로 개발이 딜레이 되고 있었다. [React] SubwayTour - 1. Firebase 연동 여자친구와 데이트를 하던 중, 서울의 지하철 역을 모두 한번씩 놀러가자는 얘기가 나왔다. 가봤던 역들을 일일히 설정하기도 어렵고, 새로운 역을 정하는 것도 어렵다고 생각해 개발자의 장점 velog.io 원래 년초에 완성해서 배포까지 마무리하려고 했지만 4월이 1/3이나 지나간 지금도 구현해야 할 것들이 산더미이다. 일단은 MVP(Minimum Viable Product)라고 부를 정도는 구현이 완료되었기에 일단은 배포를 해보고자 한다. 위의 블로그 글에서는 React와 Firebase만 사용해서 서버리스한 어플리케이션을 만들었지만, 회사에서 Node..