Flutter ( 2023.04.04 )

상목·2023년 4월 4일
0

Flutter

목록 보기
3/3

<클라우딩 컴퓨터>

> 클라우드의 하드웨어 적인 개념. 

> 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷에 접속하는 것을 통해 언제든 사용할수 있고, 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용환경

1. laaS

> Infrastructure as a Service의 약자

> 서버 인프라를 서비스로 제공하는 것으로 클라우드를 통하여 저장장치 또는 컴퓨팅 파워를 인터넷을 통한 서비스 형태로 제공하는 서비스

> 하드웨어가 지닌 "컴퓨팅 능력"만을 서비스 하는 것.

> 여러 다른 도메인의 컴퓨팅자원을 하나로 묶어야 하며, 하드웨어 장비도 가상화 환경을 지원해야 함.

> 일련의 API들을 제공해 소비자가 인프라로 관리 및 다른 형태로 상호작용을 할 수 있도록 해주는데, 이때 인프라도 이용한 만큼 부과된다.

<예시>

> 구글스프레드, Gmail, 드롭박스

2. PaaS

> Okatfirn as a Service의 약자

> 사용자가 소프트웨어를 개발할 숭 씨는 기반이 되는 서비스

> 클라우드 서비스 사업자는 PaaS를 통해 서비스 구성 컴포넌트 및 호환성 제공 서비스를 지원한다.

> 개발자들은 컴파일 언어, 웰 프로그램, 제작 툴, 데이터베이스 인터페이스, 사용자 관리 모듈 등 클라우드 서비스 사업자가 마련해 놓은 PaaS 서비스를 통해 데이터베이스와 애플리케이션 서버, 파일시스템과 관련한 솔루션 등 미들웨어까지 확장된 IT자원을 활용하여 새로운 애플리케이션을 만들어 사용할 수 있다.

> laaS의 맨위에 위치

> 애플리케이션 개발 프레임워크와 미들웨어 능력 그리고 데이터베이스, 큐잉 같은 기능과의 추가적인 통합 레이어를 추가하는데 이러한 서비스는 개발자가 스택에 의해 지원되는 프로그래밍 언어와 도구와 애플리케이션을 플랫폼에 구축할 수 있게 해준다.

<예시>
> AWS Beanstalk

< PaaS의 형태>

> 1. 특정기업의 비지니스를 위해 자체의 비지니스 시스템을 개발하는 경우

> 2. 새로운 온라인 애플리케이션을 개발해 온라인 시장에 출시하는 경우>

<장단점>
> 장점 : 새로운 애플리케이션을 신속히 개발 할 수 있는 유연성
> 단점 : 서비스 제공업체가 제공하는 특정 프로그래밍 언어와 도구를 허용함으로 갖는 제약사항

<예시>
AWS (PC등 IT관련 장비를 대여 가능)

3. Saas

> Software as a Service의 약자

> 애플리케이션을 서비스 대상으로 하는 SaaS는 클라우드 서비스 사업자가 인터넷을 통해 소프트웨어를 제공하고 사용자가 인터넷상에서 이에 원격 접속해 해당 소프트웨어를 활용하는 서비스 모델

> 클라우드의 최상위 계층에 해당

> 다양한 애플리케이션을 다중임대 방식을 통해 제공하는 온디맨드 소프트웨어 이다.

> 이메일 관리 프로그램이나 문서 관련 소프트웨어에서 기업의 핵심 애플리케이션인 전사적 자원 관리(ERP), 고객 관계 관리(CRM) 솔루션 등에 이르는 모든 소프트웨어를 클라우드 서비스를 통해 제공받는 것이다.

> *온디맨드 소프트웨어 : 컴퓨터에 직접 설치하지 않고 필요할 때마다 인터넷에 접속해 사용하는 주문형 소프트웨어 서비스

> * 다중임대 방식 : 공급업체 인프라에서 구동되는 단일 소프트웨어 인스턴스를 여러 클라이언트 조직에 제공하는 것

<IaaS, PaaS, SaaS 비교>

> 서비스 대상에 따라 구분 된다.

>  아키텍처는 독자적인 모습으로 가질수도 있으나, 보통은 LaaS부터 PaaS, SaaS까지 연계되어진 형태로 시스템을 구성되어 진다.

<참고 자료 링크>

4. Baas

> Banking as a Service(서비스 뱅킹)

> 은행이 아닌 기업의 플랫폼으로 은행의 금융 서비스를 사용할 수 있도록 구축해둔 것

> 행, 증권 등의 금융사가 서비스를 기능 단위로 모듈화하여 라이선스가 없는 핀테크 업체에게 제공하는 것을 뜻한다.

> 앱에서 벗어나지 않고 금융사의 계좌를 개설을 하거나, 주식매매를 하는 등 여러 금융서비스를 이용할 수 있도록 해주는 구조

> 금융사는 새로운 고객을 모집하고 수익을 창출하는 창구를 만들 수 있으며, 핀테크 업체는 금융 라이선스를 획득하기 위한 막대한 인프라 구축 비용 없이도 금융 서비스를 제공할 수 있다.

<BaaS와 오픈뱅킹의 차이>

> API 방식을 이용하여 금융사의 서비스를 외부에 제공한다는 점에서 공통점을 지니지만, 접근범위에서는 차이점이 있다.

> 오픈뱅킹은 단순히 데이터에 대한 접근만 허가하고,금융당국의 정책에 따라 API를 개방한다는 것 또한 BaaS와는 다른 점이다.

> BaaS는 기능에 대한 접근까지 허가한다.

> 은행이 비즈니스 수익을 내기 위한 목적으로 주체가 되어 적극적으로 API를 제공하기 때문에 핀테크사는 원하는 형식에 맞추어 금융 서비스를 자사 상품에 통합시킬 수 있

5. firebase / supabase

> firebase와 supabase 둘다 백엔드 서비스 플랫폼이다. 

> 사용하기 쉽고, 실시간 데이터베이스와 인증, 호스팅, 스토리지, 함수와 같은 여러 기능을 제공하지만 각각의 특징과 차이점이 존대한다.

> 선택하는 것은 프로젝트에 따라 다르며, 개발자들은 기능, 비용, 유지보수 등을 고려하여 선택할 수 있다.

firevase

> Google에서 개발한 플랫폼이다.

> 모바일 및 웹 앱 개발에 널리 사용된다.

> 실시간 데이터베이스와 인증, 호스팅, 스토리지, 함수, 머신러닝 등 다양한 기능을 제공한다.

> Google Analytics, Google AdMob, Google Cloud Platform과의 연동이 강점이다.

> 

Supabase

> 오픈소스 기반으로 개발된 서비스이다.

> Firebase와 유사한 기능을 제공하지만, PostgreSQL을 기반으로 한 데이터베이스와 실시간 스트리밍, 인증, 스토리지, 함수 등을 제공한다.

> 오픈소스이기 때문에 소스코드를 직접 열어 수정할 수 있다.

6. pull통신과 push통신의 차이


> 풀 (PULL) 기술과 비교할 때 가장 큰 차이점은 푸시 (PUSH) 기술은 서버가 클라이언트에 정보를 능동적으로 보내는 반면 풀 (PULL) 기술은 클라이언트가 정보를 적극적으로 요청한다.

> 아키텍처 관점의 차이가 있다..

<pull 통신>

> 방향 : 클라이언트 ← 서버
> ex - Twitter
> cost - (인덱스) 공간 (복잡도)
> 이메일 아키텍처
> Polling은 Push 기술의 한 종류, 구현방식 이다.
> 

<push 통신>

> 클라이언트 서버에 구축 된 메커니즘으로, 서버가 클라이언트에 정보를 능동적으로 보내는 기술이다.
>  정보의 주도성과 적시성이 장점이다.
> 방향 : 클라이언트 → 서버
> ex : Facebook
> cost : (검색) 시간 (복잡도)
> 게시판 아키텍처

7. RDBMS와 NOSQL의 차이

정형화 데이터 / 비정형화 데이터

Column과 Row/ json데이터

insert위주 / select위주 (유저, 게시클, 댓글)

금융 / 소셜

성격에 따라 같이 써도 된다. (효율적임)

<RDBMS의 개념>

저장할 때 사용

insert빠르지만 select느리다

<NOSQL의 개념>

데이터를 빨리빨리 얻고싶을 때 사용

insert느리지만 select빠르다

  • DateBase : 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합
  • DMBS : 사용자와 데이터베이스 사이에서, 사용자의 요청을 해석하여 데이터베이스에 저장된 정보를 관리해주는 소프트웨어
  • SQL : 관계형 데이터 베이스 관리시스템에 저장된 데이터를 관리하기 위해 설계된 프로그래밍 언어.
  • 스키마 : 데이터베이스를 구성하는 개체(Entity), 속성(Attribute), 관계(Relationship)및 제약조건 등에 관해 전반적으로 정의한 메타데이터의 집합
  Supabase.initialize(
      url: "https://tfdusuihudllwqxxlchq.supabase.co",
      anonKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InRmZHVzdWlodWRsbHdxeHhsY2hxIiwicm9sZSI6ImFub24iLCJpYXQiOjE2ODA1NzI1ODksImV4cCI6MTk5NjE0ODU4OX0.eal_V1dW7uwyIt36O2c_JmisiM7xuVmt2Kupk3wat44");

--------------------------------------------------------------------------------------------------------------------

<테이블에 튜플추가하고 새로고침하면 추가된 리스트 튜플도 같이 출력>

<다른 출력 방법 : 데이터 입력시 자동으로 결과 출력 (map형식으로)>

<데이터 추가시 자동으로 데이터 출력>

<결과화면>

supabase 사용방법

profile
풀스택 개발 이야기

0개의 댓글