9월 1주차

2023년 09월 11일, 07:27

Flutter

구글에서 개발하고 관리하는 오픈 소스 모바일 앱 프레임 워크이다.

Android, iOS 등 다양한 플랫폼에서 동작하는 앱을 개발 할 수 있는 장점이 있다. 그리고 네이티브 앱처럼 빌드를 하고 앱을 띄우는게 아니라 핫 리로드 기능을 지원해서 빠르게 개발을 하고 테스트할 수 있다. dart 언어를 사용하며, 현재는 앱 말고도 데스크탑이나 웹 같은 플랫폼에서도 동작하게 개발할 수 있다.

참고)

Status code 0

서버로부터 http 상태코드(500, 400, 200 등)를 받지 못한 상황에서 반환된다.

서버에 연결조차 안된 상황이라고 생각하면 되는데, cors나 보안 상의 이유로 접근을 제한, 호출 시간 지연 등이 있다.

참고)

APM(Application Performance Management/Monitoring)

애플리케이션 성능 관리의 약자다.

소프트웨어 도구와 원격 측정 데이터를 사용하여 애플리케이션 성능을 모니터링하는 프로세스다.

장점

  • 고객 만족도 : 애플리케이션 전반에서 어디가 문제가 있는지 파악하는데 효과적인 도구다. 고객의 디지털 여정에서 발상하는 일반적인 문제도 보여주기 때문에 고객 경험 개선을 할 때 도움이 된다.
  • 빠른 진단 : 성능 문제를 진단하고 문제를 직접적으로 알려준다.
  • 운영 비용 절감 : 애플리케이션의 성능을 최적화하고 필요한 리소스, 인프라 및 컴퓨팅 파워를 결정할 수 있다.

추적하는 지표

  • CPU 사용량
  • 응답시간
  • 오류율
  • 트랜잭션 추적
  • 인스턴스(서버 또는 애플리케이션의 인스턴스 수)
  • 요청
  • 가동시간

예시

  • Amazon CloudWatch
  • Sentry
  • New Relic
  • Grafana Tempo

참고)

firebase-admin에서 realtime database에서 query 사용하기

query를 사용해서 무언가 데이터를 조작하는 경우에, orderByChild, orderByKey 등 을 사용해서 어떤 child를 기준으로 적용할지 꼭 해줘야한다. 그렇지 않으면 작동하지 않는다.

문서에 나와있지만, 놓쳐서 삽질을 많이 했다.

import { database } from 'firebase-admin'

ref().orderByChild('username').equalTo('테스트').get().then(...)