백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이에 따라 이를 쉽게 처리해줄 수 있는 프로그래밍 스킬이 필요한데 이것이 바로 ORM(Object-relation mapping) 입니다. ORM을 사용할 경우 실질적으로 프로그래밍 언어에서 사용할 수 있는 가상 객체 데이터베이스를 생성하는데, 이 가상 객체 데이터베이스는 클래스(혹은 스트럭쳐)와 매핑됩니다. 결과적으로 개발자는 객체를 다루는 것처럼 데이터를 다룰 수 있으며, 데이터베이스를 코드에 자연스럽게 녹여낼 수 있게 됩니다. RDBMS 란? Relational Database Management S..
API Gateway를 제대로 써보기 위해서 API를 정의하고, 하나씩 생성하면서 알아보고 있는데요. 지난 시간에 /books 라는 POST 용 API를 생성하고 Lambda 함수와 연결 시켜보았습니다. 이 상태에서 한번 테스트를 해볼까요? API Gateway는 자체에서 테스트 할 수 있도록 지원 하고 있습니다. 이렇게 테스트 라고 적혀 있는 블록을 선택해서 들어가서 가운데 하단에 테스트라고 파란색으로 보이는 버튼을 한번 눌러봅시다. 아직 아무것도 세팅하지 않은 상태에서 Lambda 까지 잘 연결되느냐만 보기 위함입니다. 상태 코드는 200이고 296ms 가 걸렸으며 응답본문은 statusCode:200에 body 에 Hello from Lambda 라고 되어있습니다. 전 시간에서 booksPost라고..
백엔드 개발을 지향하시는 분들이나 또는 클라이언트 개발을 하시는 분이 서버를 개발할때 먼저 생각하는 것들이 서버를 어떤식으로 설계하고 구체화할지에 대한 것입니다. 로컬에서 개발을 하더라도 퍼블릭하게 데모를 하거나 PoC를 하고싶다면 클라우드 또는 호스팅하는 서버를 집에 설치해서 셋업을 해야하는데요. 그만큼 백엔드를 개발하는 것과, 개발한 구현체를 디플로이를 어떻게 할거냐도 어떤 솔루션이나 서비스를 만들때 고민해야하는 것 중 하나입니다. 그중에서 오늘은 이러한 서버별 특징과 장단점 그리고 역사에 대해서 먼저 집고 가도록 하겠습니다. Serverless의 개념 서버가 없다는 뜻이지만, 보이지 않는 곳에 물리적인 서버가 있지만 관리하는 리소스가 최소화되어 서버가 없는 거 처럼 느끼는 것 IaaS Infrast..