jest와 ts-jest 버전이 안맞아서 발생하는 에러다.
버전을 맞춰주면 해결된다.
npm i -d jest@^27.1.4 ts-jest@^27.1.4
'웹 개발 > 에러일지' 카테고리의 다른 글
You gave us a visitor for the node type TSInstantiationExpression but it's not a valid type (0) | 2022.05.27 |
---|
jest와 ts-jest 버전이 안맞아서 발생하는 에러다.
버전을 맞춰주면 해결된다.
npm i -d jest@^27.1.4 ts-jest@^27.1.4
You gave us a visitor for the node type TSInstantiationExpression but it's not a valid type (0) | 2022.05.27 |
---|
jest를 돌렸을 때 babel-core@5.18 이후 버전이랑 expo가 호환이 안돼서 발생하는 에러다.
babel-core@5.17.12로 다운그레이드하면 고쳐진다.
npm i -D @babel-core@5.17.12
TypeError: Jest: a transform must export a `process` function. (0) | 2022.05.27 |
---|
Google made Flutter -- a UI toolkit to build beautiful native apps from a single code base without compromising on quality, speed or performance.
웹앱에 Flutter 추가하기 (0) | 2022.05.17 |
---|---|
AWS Amplify / Cloudformation / S3 로 웹 어플리케이션 배포 (0) | 2021.11.15 |
React 와 Vue에 대하여 (0) | 2021.05.06 |
1. Vs Code를 사용하고 있다면 extensions > flutter 검색 후 설치
2. 1대로 하면 되는줄 알았는데 안된다... 먼저 플러터 공식닥스에서 시키는대로 sdk를 다운받고 환경변수에 추가
https://docs.flutter.dev/get-started/install/macos
macOS install
How to install on macOS.
docs.flutter.dev
What Makes Flutter Different (0) | 2022.05.19 |
---|---|
AWS Amplify / Cloudformation / S3 로 웹 어플리케이션 배포 (0) | 2021.11.15 |
React 와 Vue에 대하여 (0) | 2021.05.06 |
AWS Amplify는 프런트엔드 웹 및 모바일 개발자가 애플리케이션을 추가적으로 사용자 지정하기 위해 다양한 AWS 서비스를 활용하는 유연성을 바탕으로 AWS에 풀스택 애플리케이션을 쉽고 빠르게 구축할 수 있도록 지원하는 특별히 제작된 도구와 서비스 집합입니다. Amplify는 웹 앱의 경우 JavaScript, React, Angular, Vue, Next.js를 비롯한 널리 사용되는 언어, 프레임워크 및 플랫폼을 지원하고 모바일 앱의 경우 Android, iOS, React Native, Ionic, Flutter를 지원합니다.
AWS Amplify 공식 문서에 의하면 위와 같다. 결론적으로, 이용자가 힘들게 개별적으로 세팅 하고 연결할 필요없게, CLI로 명령어 몇개만 입력하면 자동으로 웹 어플리케이션 배포에 필요한 여러 AWS 서비스를 연결해주는 것이다.
세팅 방법은 간단하다. 우선 Administration Full Access 권한을 가진 IAM role 한개를 생성하여, .pem 파일을 로컬에 다운로드 받는다. 로컬에 AWS CLI를 설치한 뒤 (pip로 설치가능), profile을 set 하면 된다. 공식문서에서 단계별로 안내가 되어있어서 그대로 따라하기만 하면 된다.
[ Configuring the AWS CLI ] https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
세팅이 완료가 되면,
amplify auth add
amplify push
명령어만 순서대로 입력하면 자동으로 amplify가 모든 설정을 하고 배포를 해준다. AWS Amplify가 없었다면 CodePipeline, EC2, S3 등 여러 서비스를 모두 수동으로 연결해야 했을 것이다.
Amazon CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스입니다. CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공됩니다.
S3 Bucket에 업로드한 파일을 웹 어플리케이션에서 출력하려고 할 때, 웹 어플리케이션 자체는 S3에 접근권한이 없기 때문에 Null값을 불러오는 문제에 직면했다. S3 Bucket을 Public으로 돌리는 방법도 있지만, 여러모로 문제가 생길 수 있는 방법이기 때문에 권한이 없는 모든 사용자가 특정 영상만 조회할 수 있도록 정적파일을 "재배포"해주는 Cloudfront의 Cloudformation을 이용하기로 했다.
추상적인 Cloudfront의 개념을 돕기 위한 이미지다. Origin Access Identity(OAI)의 기능이 있는 Cloudfront의 특성을 이용하여 S3의 내용물에 접근하기 위한 Access Point를 Cloudfront에 등록된 웹 어플리케이션의 도메인 네임으로 하여, 일반 유저들도 파일에 접근을 할 수 있게됩니다.
위와 같이 AWS권한이 없는 일반 유저도 파일 접근이 가능해진다.
What Makes Flutter Different (0) | 2022.05.19 |
---|---|
웹앱에 Flutter 추가하기 (0) | 2022.05.17 |
React 와 Vue에 대하여 (0) | 2021.05.06 |
[공통점]
등장배경: 기존 mvc framework를 개선하기 위해
MVC (Model View Controller)의 단점은?
1. 사이트에 뭐라도 하나 (데이터가)변경된다면 페이지 전체를 리로딩 해야되는 불편함
>> ajax 기술 등장 이후 특정 부분만 수정해서 불러오게 js 명령을 내릴 수 있게 되었지만,
전부 일일이 코딩해야 하는 번거로움
2. 플랫폼에 따라(pc 브라우저, 모바일 브라우저, AOS 앱, iOS 앱) 서버로 요청을 하면 db에서 정보를 찾아서, html/css/js로 렌더링하고 보내줌 (front, backend 의 개념이 지금과 조금 다른 이유)
>> 서버에서 데이터만 보내줘도 브라우저에서 html, css, js로 렌더링을 해낼 수 있다면 유저가 어디에서 요청을 하든 동일한 작업을 수행해서 데이터를 전송만 하면 된다. 서버 개발자는 데이터를 전송하는 것에만 집중을 할 수 있게 된다.
>> 브라우저에서도 동작하는 강력한 라이브러리나 framework를 만들면 가능하지 않을까?
>> SPA framework 등장
[각자의 특성]
What Makes Flutter Different (0) | 2022.05.19 |
---|---|
웹앱에 Flutter 추가하기 (0) | 2022.05.17 |
AWS Amplify / Cloudformation / S3 로 웹 어플리케이션 배포 (0) | 2021.11.15 |