어떤 솔루션이 일출, 일몰 시간을 기반으로 판단할 때 서버에서 일출/일몰 시간이 필요한데요. 다만 각 나라별로 일출, 일몰의 시간이 다르기 때문에 정확한 값은 일출, 일몰 시간을 제공해주는 자료를 통해서 확인 할 수 있습니다. 제공하는 API 사용하는 방법 https://sunrise-sunset.org/api Sunset and sunrise times API - Sunrise-Sunset.org Sunset and sunrise times API We offer a free API that provides sunset and sunrise times for a given latitude and longitude. Please note that attribution is required if you u..
지난 시간에 Go와 Database의 연동을 Gorm을 하기 위해 데이터 베이스를 생성해주고, 모델을 만들어 인터페이스로 묶어 연결시켜주었는데요, 아직 못 보신 분은 아래 글을 빠르게 읽고 넘어가도록 하겠습니다. https://hero-space.tistory.com/138 Go와 Database 연동은 Gorm으로 시작! 백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이 hero-space.tistory.com Echo : High Performance, Extensible, Minimalist Go Web Framework https://echo...
저는 백엔드 서버를 만들기 위해 주로 Golang을 사용해서 프로타이핑을 해보고 실제 프로덕션에 적용여부를 결정하는데요, golang의 경우 아직까지는 자바의 스프링에 비해 대중성이 떨어지긴 하나, 메이저 서비스에서 조금씩 golang으로 변화되며 google에서 밀어주는 언어이다보니 단순히 프로토타이핑 뿐 아니라 프로덕션 레벨로서 입지를 갖춰가기 시작하고 있습니다. 저 역시 실제 서비스를 위해 백엔드로 golang으로 구현했는데요 물론 대규모 트래픽을 요하는 서비스는 아니기 때문에 프로덕션 레벨로 걱정되는 부분이 있더라도 적용해서 실제 서비스하는데 문제가 없다는 판단을 했습니다. 저는 아래와 같은 구조로 백엔드를 구축했습니다. 백엔드 개발을 위한 프레임워크 Firebase authentication E..
오늘은 Client와 Server 간의 API 사용을 위한 인증관련한 방안들에 대해 알아보도록 하겠습니다. 인증, 꼭 필요한것인가? 우선 꼭 필요한지에 대해서 이야기하면, 개발 목적으로 자기 혼자 또는 팀내에서만 사용한다면 문제될 게 없지만 서버가 오픈되서 유효하지 않은 요청들이 감당없이 들어오게 되는 것을 막고, 해킹의 염려를 1차적으로 걸러내기 위해서 필요한 부분이기에 상용으로 운영한다면 필요하겠지요. 공공의 API를 지원하는 곳을 쉽게 볼 수 있지만 무료로 아무런 인증없이 요청되는 것의 정보는 제한 적이고, 과금을 한다던지 해서 별도 발급되는 api key값과 함께 요청하는 경우에는 좀더 양질의 API를 얻을 수 있겠죠? 이렇게 단순히 해킹이나, 대규모 트래픽을 막기위해 인증이 필요한 것도 있지만 ..
AWS API Gateway에 관련한 4번째 글입니다. 이번엔 API Gateway 자체에 대해서는 완결편이 되겠네요. 리턴 설정을 해보면서 API Gateway에서 마무리하도록 하겠습니다. 리턴 설정하기 리턴은 메서드 응답 블록과 통합 응답 블록으로 설정 할 수 있습니다. 먼저 메서드 응답 블록으로 들어가 보자. 아직 HTTP 상태 200만 선언되어 있으니 404와 400을 추가 해보도록 하겠습니다. 응답 추가 시 무엇인가 넣어야할 것 같은 추가적인 칸들이 있지만 우선 나두고 다시 통합응답 블록에 들어가서 Lambda에서 리턴되는 오류를 Regex 정규식을 잡아서 처리하도록 하겠습니다. API Gateway는 모든 에러에 대한 처리를 할 수 가 없습니다. 예를 들어 파라메터의 타입을 스트링으로 정의 했..
API Gateway를 제대로 써보기 위해서 API를 정의하고, 하나씩 생성하면서 알아보고 있는데요. 지난 시간에 /books 라는 POST 용 API를 생성하고 Lambda 함수와 연결 시켜보았습니다. 이 상태에서 한번 테스트를 해볼까요? API Gateway는 자체에서 테스트 할 수 있도록 지원 하고 있습니다. 이렇게 테스트 라고 적혀 있는 블록을 선택해서 들어가서 가운데 하단에 테스트라고 파란색으로 보이는 버튼을 한번 눌러봅시다. 아직 아무것도 세팅하지 않은 상태에서 Lambda 까지 잘 연결되느냐만 보기 위함입니다. 상태 코드는 200이고 296ms 가 걸렸으며 응답본문은 statusCode:200에 body 에 Hello from Lambda 라고 되어있습니다. 전 시간에서 booksPost라고..
지난 시간에 서버를 개발하기 위해서 먼저 AWS의 서비스 중 API Gateway를 이용해서 REST API를 정의해보는 것을 진행할 건데요. 전에 API Gateway에서 간략하게 다시한번 확인하고 오시기 바랍니다. https://hero-space.tistory.com/116 AWS API Gateway 제대로 써보자 1 Serverless Architecture 방식으로 서버를 개발하고 구축하기로 결정했다면 어떤 클라우드를 기반으로 할지 정해야하는데, 저는 고민없이 AWS를 사용하고자 했습니다. 아무래도 GCP / Azure / AWS 이 3가지 hero-space.tistory.com 특히 지난 시간에 정의 했던 REST API의 URI와 Method 그리고 각 파라메터를 정의하고 리턴처리까지 할..
Serverless Architecture 방식으로 서버를 개발하고 구축하기로 결정했다면 어떤 클라우드를 기반으로 할지 정해야하는데, 저는 고민없이 AWS를 사용하고자 했습니다. 아무래도 GCP / Azure / AWS 이 3가지의 클라우드가 비교 대상이었으나 이미 소규모의 웹페이지를 lightsail 이라는 AWS 서비스 중 하나 이용하고 있기 때문이기도 하고 아마존 자체의 쇼핑몰 자체도 분석해보적이 있어 참 많은 서비스들을 지원하는 걸로 알고 있었고 좀더 친숙했기 때문인데요, 그럼 AWS에서 제공하는 굉장히 다양하고 많은 서비스 중에서 내가 하고자하는 서버의 개발에 필요한 것은 무엇일까요? 리서치해보면 API Gateway, Lambda, Amplify, Cognito, DynamoDB, Simple..