[개발일지] 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..
2023년 6월 2주차 주간회고
·
성장이야기/주간회고
Facts (사실, 객관) 이번주는 개인 공부를 제대로 하지 못했다. 휴일(화요일)도 있었지만 회사에서 공부할게 많아서 그랬는데 앞으로도 이럴때 개인공부도 신경쓸 수 있도록 균형을 잘 맞춰야 겠다. 업무에서 사용하기 위해 AWS OpenSearch와 GraphQL에 대해 간단히 공부해봤다. 다음주는 더 깊게 알아봐야겠다. Feelings (느낌, 주관) & Findings (배운 점) 이번주는 회사에서 기능 개발을 위해 새로운 접하는 개념도 많았고 (OpenSearch, GraphQL 등등) 깊게는 아니지만 새로운 기술들도 많이 알아봤는데, 나는 뭔가 새로운것들을 배울때 재미를 많이 느끼는것 같다. Affirmation (자기 선언) 10주차는 밀리지 않게 제출하자. 조영호님의 우아한객체지향 영상 출퇴근..
[개발일지] 230609 GraphQL을 알아보자 (GraphQL과 REST API)
·
성장이야기/TIL
GraphQL이란? GraphQL은 간단하게 말하면 데이터 쿼리 언어이다. 페이스북(메타)에서 만든 쿼리 언어로 REST API와 다르게 클라이언트가 필요한 데이터의 구조를 명시할 수 있어 클라이언트가 필요한 데이터만 얻을 수 있다는 특징이 있다. GraphQL을 이용하면 여러 번 데이터를 요청하거나 과도한 데이터 요청을 최소화할 수 있어 효율적인 네트워크 사용이 가능해진다. 다시말해 GraphQL은 클라이언트-서버 간 통신에서 사용되며, 이는 일반적으로 웹 또는 앱에서 데이터를 가져오는 데 사용된다. GraphQL의 목적과 특징 GraphQL의 주요 목적은 클라이언트 사이드에서 효율적이고 유연하게 데이터를 가져오는 것이다. 이를 통해 네트워크 사용량을 줄이고 애플리케이션의 성능을 향상시킬 수 있다. 1..
[개발일지] 230608 실시간 급상승 검색어 알고리즘
·
성장이야기/TIL
실시간 급상승 검색어 알고리즘이전에 알아봤던 랭킹 알고리즘을 바탕으로 실시간 급상승 검색어 랭킹 알고리즘을 만들어야 하는데 지금까지 구상한걸 기록해보려고 한다. 우선 실시간 급상승 검색어 기능에서 고려해야 하는 점은 아래와 같다.평소 검색 유입량에 대비 많은 유입량을 보이는 검색어를 탐지시간 가중치(최근에 검색된 검색어에 더 높은 점수를 적용하기 위함)검색한 시간대에 따른 점수 보정 (새벽시간대에 검색한 검색어의 점수는 낮게 측정되게 하기 위함)전체 검색량에 따른 점수 보정 (평소에 검색량이 많았던 키워드일 수록 점수를 낮게 측정하기 위함) 시간 가중치: 실시간 검색어 랭킹에서 최신 정보를 반영하기 위해 시간 가중치를 부여할 수 있다. 최근에 검색된 검색어에는 더 높은 가중치를 적용하여 기대 점수를 산..
[개발일지] 230607 Ranking Algorithm(순위 알고리즘)
·
성장이야기/TIL
실시간 급상승 검색어 기능을 위한 Ranking Algorithm에 대한 조사 우선 공개된 Ranking Algorithm을 살펴보면 게시글의 추천수를 기반으로 인기 게시글을 선별해 사용자에게 추천해 주는 알고리즘, 추천/비추천을 이용해 순위를 매기는 알고리즘, 평점을 기반으로 하는 순위 알고리즘 등등 여러 알고리즘이 존재한다. Hacker News Ranking Algorithm Hacker News에서 사용하는 ranking algorithm은 생각보다 간단하다. p = 게시글에 대한 추천 수 (-1을 한 이유는 글 작성자의 추천도를 고려한 것) t = 글을 게시한 시간과 현재 시간 사이의 시간(시간 단위). 예를 들어, 2시간 전에 게시된 글은 t = 2 G = 중력계수 (news.arc에서는 기본..