[개발일지] 230620 GraphQL과 AppSync를 이용해 실시간 데이터 전송 (With Redis)
·
성장이야기/TIL
며칠 전 회사에서 단순 API 기능 개발을 하고 있던 나에게 실시간 관련 기능에 필요한 간단한 실시간 파이프 라인을 한번 구축해 보는 게 어떻겠냐고 제의를 해주셔서 아무것도 모르지만 일단은 해보겠다고 했다. (오랜만에 새로운 기술을 접한다는 사실에 설렜었다..) 그래서 약 일주일 좀 넘게 GraphQL, AppSync, Amplify, Quarkus 등등 새로운 기술을 많이 접하고 공부를 했다. 이해 안 되는 부분들(특히나 GraphQL, AppSync, Amplify 이 세 개의 전체적인 상관관계를 파악하는 게 힘들었다.)은 물어보면서 최대한 이해하려고 했다. 하지만 아직은 저것들을 누군가에게 설명할 수 있을 정도로 공부한 건 아니지만 기초적인 개념과 사용법 정도는 익힌 것 같다. 그래서 오늘은 지금까..
[개발일지] 230614 Amplify GraphQL
·
성장이야기/TIL
Amplify Data modeling Amplify는 GraphQL 스키마에서 @model 지시어로 주석이 달린 GraphQL 유형에 대한 DynamoDB 데이터베이스 테이블을 자동으로 생성한다. 그리고 @model은 ID 필드를 데이터베이스 테이블에 primaryKey로 자동으로 추가한다. 아래는 Todo에 대한 간단한 GraphQL 스키마이다. type Todo @model { content: String } 위 예제의 GraphQL 스키마는 'Todo'에 대한 데이터베이스 테이블을 자동으로 생성한다. Amplify CLI는 “amplify push"를 하면 Todo 데이터베이스 테이블을 생성하고 Todo 모델에 대한 Create, Read, Update, Delete 및 list operation..
[개발일지] 230613 GraphQL Mutation
·
성장이야기/TIL
GraphQL은 데이터를 읽어오는데 사용되는 "query", 데이터를 변경하는데 사용되는 "mutation", 실시간으로 변경사항을 감지하는 "subscription" 이렇게 세 가지 유형의 쿼리가 존재한다. 오늘은 그 중 데이터를 변경할때 사용하는 mutation에 대해 알아봤다. Mutation REST에서 데이터 수정을 위해 GET요청을 사용하지 않는것 처럼 GraphQL도 데이터 변경을 발생시키는 작업은 명시적으로 mutation을 통해 전송되어야 한다는 규칙을 정하는 것이 좋다. mutation의 스키마 정의하는것은 "query"와 다를게 없다. 아래 예제 코드를 보면 스키마 형태가 query에서 mutation으로 변경된것 뿐이다. mutation CreateReviewForEpisode($e..
[개발일지] 230609 GraphQL을 알아보자 (GraphQL과 REST API)
·
성장이야기/TIL
GraphQL이란? GraphQL은 간단하게 말하면 데이터 쿼리 언어이다. 페이스북(메타)에서 만든 쿼리 언어로 REST API와 다르게 클라이언트가 필요한 데이터의 구조를 명시할 수 있어 클라이언트가 필요한 데이터만 얻을 수 있다는 특징이 있다. GraphQL을 이용하면 여러 번 데이터를 요청하거나 과도한 데이터 요청을 최소화할 수 있어 효율적인 네트워크 사용이 가능해진다. 다시말해 GraphQL은 클라이언트-서버 간 통신에서 사용되며, 이는 일반적으로 웹 또는 앱에서 데이터를 가져오는 데 사용된다. GraphQL의 목적과 특징 GraphQL의 주요 목적은 클라이언트 사이드에서 효율적이고 유연하게 데이터를 가져오는 것이다. 이를 통해 네트워크 사용량을 줄이고 애플리케이션의 성능을 향상시킬 수 있다. 1..