vue best practice

vue best practice

위 영상을 요약해 본 것입니다. mobile GPU에서의 최적화 요소에 관한 일반적인 내용을 담고 있습니다. 가장 쉬운 최적화는, 거의 대부분 결과물을 제거해버리는 것입니다. 충분한 가치를 더해주지 않는 요소는 제거하는 것이 좋습니다.


imgCaption0
로컬 state를 사용할 때의 자주보이는 문제점

로컬 state를 사용할 때의 자주보이는 문제점

어플리케이션의 다른 부분에 위치한 여러 컴포넌트가 동일한 stateex 유저정보를 공유하고 사용해야 할 때, 특히 그러한 state 요소가 다른 부분에 위치할 때 문제가 발생합니다. 아래 이미지를 보시면 Home컴포넌트가 User data와 Layout data를 갖고 있습니다. 그런데요 Profile컴포넌트도 User data가 필요한 상황입니다. 하지만 두 컴포넌트는 평행하게 놓여있어 state를 물려줄 수 있는 구조가 아닙니다.

이것을 리덕스를 사용하여 개선하면 아래와 같은 flow가 됩니다.

CloudTrail

monitors records account activity across your AWS infrastructure, like storage analysis remediation.

이벤트는 AWS Console, AWS CLI, AWS SDK, API 전부 포함됨 EC2에서 호스팅되는 애플리케이션이 호출하는 api 같은 정보는 포함하지 않습니다. 보통 api 호출 이후 15분 정도 시차를 두고 반영됨 Organization trail을 설정하면, 해당 org에 소속된 모든 account의 trail 정보가 자동으로 기록됩니다.

member는 trail 정보를 조회할 수는 있으나, 변경하거나 삭제할 수 없습니다..

AWS Control Tower

Automates Accounts Deployment. 비유하자면 AWS Account Vending Machine. AWS Service Catalog는 runs within one account. AWS Control Tower는 account creation deploy Service Catalog 등등 account에 필요한 것들을 account 생성 시점에 세팅.

Landing Zone을 설정하면, new account가 생성될 때 자동으로 실행할 CloudFormation을 지정할 수 있어요.

Manual setting이 필요 없도록 전부 자동화하는 것. 계정의 접근 권한이나 설정을 Standardize할 수 있어요.

Form 데이터는 컴포넌트 레벨에서 관리해야

하지만 form데이터의 경우 다소 로컬 state로 관리하는 것이 좋습니다. 사용자가 데이터를 편집하는 동안 폼 컴포넌트 내에서 데이터를 유지하고, 사용자가 근로를 마치면 form을 submit하면 그 때 리덕스 액션을 디스패치하여 전역 state를 업그레이드하는 것이 좋습니다. 그리하여 form이 submit되고 난 후 사용자에게 보여줘야 할 새로운 데이터를 업데이트해주는 것입니다.

즉 리덕스는 앱의 전역 상황을 관리하기 위해 사용되며, 대부분의 경우 폼 데이터와 같은 지역적인 상태는 컴포넌트 내에서 관리하고, 필요할 때 리덕스 스토어로 업데이트 합니다. 이렇게 하면 상태 관리가 더 단순해지고 가정 가능해진다.

AWS Service Catalog

비유하자면 일종의 AWS Resource Vending Machines. 다시, 위의 Dev Environment를 예시로 들면 create manage perapproved portfolios products 담당. portfolio admin은 CloudFormation template으로 AWS Resource provisioning을 요청할 수 있어요.

이걸 Catalog에서는 product라고 부른다.

Portfolio에는 Product가 포함될 수 있어요. users can browse the portfolios, and launch products on their accounts. Dev Environment 라는 Portfolio를 정의합니다.

DAG 작성

import pendulumfrom airflow import DAGfrom airflow.decorators import taskimport numpy as np

Task 사이의 데이터 전달은 작은 사이즈는 Xcom 을 사용하고, 대용량은 S3hDFS 같은 외부 저장소를 사용합니다. Airflow에 등록한 Variable은 Operator의 execute나 Jinja template 외에서의 사용은 지양합니다.

불필요한 top level code는 지양합니다. 멱등성이 보장되어야 합니다.

자주 묻는 질문

로컬 state를 사용할 때의 자주보이는

어플리케이션의 다른 부분에 위치한 여러 컴포넌트가 동일한 stateex 유저정보를 공유하고 사용해야 할 때, 특히 그러한 state 요소가 다른 부분에 위치할 때 문제가 발생합니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

CloudTrail

monitors records account activity across your AWS infrastructure, like storage analysis remediation. 더 알고싶으시면 본문을 클릭해주세요.

AWS Control

Automates Accounts Deployment. 궁금한 사항은 본문을 참고하시기 바랍니다.