본문 바로가기

분류 전체보기340

모노리틱 아키텍처(Monolithic Architecture) vs 마이크로 서비스 아키텍처(Micro Service Architecture) 모노리틱 아키텍처(Monolithic Architecture) 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직들이 들어가있는 "통짜 구조"이다. 예를 들어, 온라인 쇼핑몰 애플리케이션이 있을 때, 톰캣 서버에서 도는 WAR 파일(웹 애플리케이션 패키징 파일)내에, 사용자 관리, 상품 관리, 주문 관리 등 모든 컴포넌트들이 들어있고 이를 처리하는 UX로직까지 하나로 포장되어 들어가있는 구조이다. 장점 call-by-reference : 각 컴포넌트들은 상호 호출을 함수를 이용한 call-by-reference 구조를 취한다. 간편한 개발 : 전체 애플리케이션을 하나로 처리하기 때문에, 개발툴 등에서 하나의 애플리케이션만 개발하면 된다. 간편한 배포 : 배포 역시 간편하며 테스.. 2022. 2. 7.
GraphQL이란? GraphQL이란? GraphQL은 페이스북에서 만든 쿼리 언어로, 등장한지 얼마되지 않았음에도 불구하고 인기가 매우 가파르게 올라가고 있다. GraphQL(=gql)은 SQL(Structed Query Language)와 같은 쿼리 언어이다. 하지만, gql과 sql의 언어적 구조차이는 매우 크다. sql은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, gql은 웹 클라이언트가 서버로부터 데이터를 효율적으로 가져오는 것이 목적이다. 따라서, sql은 주로 백앤드 시스템에서 작성하고 호출하는 반면, gql의 문장은 주로 클라이언트 시스템에서 작성하고 호출한다. sql query SELECT plot_id, species_id, sex, weight, ROUND(weight / .. 2022. 1. 28.
[S3, CloudFront] React Access Denied(403) Error 우선 AWS S3, CloudFront를 이용한 전체적인 배포과정은 아래의 AWS Document 문서는 아래를 참고한다. 원본 액세스 ID(OAI)를 사용하여 Amazon S3 콘텐츠에 대한 액세스 제한 - Amazon CloudFront 예, 버킷 정책을 업데이트합니다.(Yes, update the bucket policy)를 선택하면 CloudFront는 버킷 권한을 업데이트하여 지정된 OAI에 버킷 파일 읽기 권한을 부여합니다. 그러나 CloudFront가 기존 권한을 제거 docs.aws.amazon.com React 프로젝트를 배포하던 중 다음과 같은 에러가 발생했다. [path]:1 Failed to load resource: the server responded with a status o.. 2022. 1. 26.
[AWS] CLI에서 SSO를 이용한 접속 CLI 버전 확인 이 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있다. aws --version 을 통해 버전을 확인하고, 아래를 통해 버전 2를 설치한다. AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS Command Line Interface 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com AWS SSO named profile 구성 AWS SSO의 역할을 사용하도록 하나 이상의 AWS CLI named profile을 구성할 수 있다. 여러 프로파일을 작성 및 구성하고 각기 다른 AWS SSO 사용자 포털 또는 SSO 정의.. 2022. 1. 26.
Heroku: pre-receive hook declined git push heroku master Heroku Git을 이용해 Deploy를 하는 과정에서 다음과 같은 push 명령어를 사용하니 아래의 에러가 발생했다. ! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to 'https://git.heroku.com/[application-name].git' 해결 방법 1. 지원되는 앱(Rails, Django 등)이 포함된 repository를 push하고 있으며, 테스트를 하기위해 무작위의 repository를 푸시하는 것이 아닌지 확인한다. Newbie in Heroku: Error when push my app to Heroku I am .. 2022. 1. 25.
[JavaScript] Function의 call과 invoke 차이 일부 문맥에서는 call과 invoke를 동일한 것으로 취급한다. 하지만 의미를 의도적으로 구분하는 경우, invoke는 간접적인 함수의 호출을 의미한다. fn(); // I'm calling it fn.call(); // I'm calling it fn.apply(); // I'm calling it JavaScript 함수는 fn()과 같이 직접 호출(call) 될 수 있고, fn.call(), fn.apply()와 같이 간접 호출(invoke)될 수도 있다. 두 경우 모두 함수 호출이지만, 직접 호출(call)은 말 그대로 함수를 직접 호출 하는 것이나 간접 호출(invoke)은 어딘가에 레퍼런스를 유지한 다음 간접 호출된다. 그래서 간접 호출(invole)는 보통 익명함수, 클로저, 델리게이트 등.. 2022. 1. 24.
반응형