전체 글
-
AWS - ROOT사용자 MFA적용하기, IAM admin사용자 추가Infra/클라우드 2022. 12. 24. 20:41
root Acount는 이메일로 가입한 계정이다. MFA(Multi Factor Authenticator) 보안 강화를 위해 멀티 팩터 인증(MFA)을 구성하여 AWS 리소스를 보호하는 것이 좋다. IAM 사용자 또는 AWS 계정 루트 사용자에 대해 MFA를 활성화할 수 있다. 루트 사용자에 대해 활성화한 MFA는 루트 사용자 자격 증명에만 영향을 준다. 계정의 IAM 사용자는 자신의 자격 증명에 더하여 별도로 자격 증명을 갖게 되며, 이 별도의 자격 증명에 고유의 MFA가 구성된다. 무료로 사용할 수 있는 Google OTP 사용 ⭐핸드폰 기기변경시 변경전에 OTP해제 할 것(마이그레이션 기능을 사용해도된다.) IAM admin 사용자 추가하기 root Acount를 MFA를 사용해서 보안하는 것고 별..
-
AWS - Global Infrastructure Component 간략 설명Infra/클라우드 2022. 12. 24. 19:42
https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/ 글로벌 인프라 리전 및 가용 영역 AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 기계 학습 및 AI, 모바일, 개발자 도구, IoT, 보안, 엔터프라이즈 애플리케이션을 비롯하여 광범위한 글로벌 클라우드 기반 제품을 제공하 aws.amazon.com Regions 쉽게 말하면 Availability Zone에 집합이다. 또한 Service의 단위 이기도 하다. AWS를 제일 먼저 시작하면 Region을 가장먼저 고르게된다. Availability Zone Availability Zone는 다시 Data centers의 집합으로 되어 있다. Availability Zon..
-
JavaScript - 프로토타입개발언어/JavaScript 2022. 12. 23. 16:21
프로토타입(protorype) 프로토타입은 원래 형태 쪼는 전형적인 예, 기초 또는 표준이다. 프로토타입 기반 언어 JavaScript는 프로토타입 기반 언어이다. 프로토 타입 기반 언어는 클래스 기반 언어에서 상속을 사용하는 것과 다르게, 객체를 원형(프로토타입)으로 하는 복제 과정을 통해 객체의 동작방식을 재사용 할 수 있게 한다. 그렇다면 JavaScript도 복제를 할까? 자바스크립트는 약간 다를다 복제가 아니라 프로토타입 링크를 통해 원형을 참조한다. 자바스크립트 객체의 프로토타입 링크 프로토타입 링크를 설명하려면, 우선 JavaScript의 객체에 대해 먼저 알아야한다. JavaScript에서 단순 원시 타입(simple primitive)인 문자열,숫자,불리언,null,undefined를 제..
-
JavaScript - 함수 바인딩개발언어/JavaScript 2022. 12. 23. 14:39
함수 바인딩 setTimeout에 메서드를 전달할 때 처럼, 객체 메서드를 콜백으로 전달할 때 'this 정보가 사라지는' 문제가 생긴다. 사라진 'this' 객체 메서드가 객체 내부가 아닌 다른 곳에 전달되어 호출되면 this가 사라진다. setTimeout을 사용한 아래 예시에서 this가 어떻게 사라지는지 살펴보자 let user = { firstName: "John", sayHi() { alert(`Hello,${this.firstName}!`); }, }; setTimeout(user.sayHi, 1000); // Hello, undefined! this.firstName은 "John"이 되어야 하는데, alert창엔 undefined가 출력된다. 이런 현상이 나타나는 이유는 setTimeout..
-
JavaScript - 메서드와 this개발언어/JavaScript 2022. 12. 22. 17:25
메서드와 this 자바스크립트에선 객체의 프로퍼티에 함수를 할당해 객체에게 행동할 수 있는 능력을 부여한다. 메서드 만들기 let user = { name: "John", age:30 }; user.sayHi = function(){ alert("안녕하세요!"); } user.sayHi(); //안녕하세요! 메서드는 아래와 같이 이미 저의된 함수를 이용해서 만들수도 있다. let user = { //... } //함수선언 function sayHi(){ alert("안녕하세요"); }; // 선언된 함수를 메서드로 등록 user.sayHi = sayHi; user.sayHi(); //안녕하세요 메서드 단축 구문 객체 리터럴 안에 메서드를 선언할 때 사용할 수 있는 단축 문법 //아래 두 객체는 동일하게 ..
-
JavaScript - 객체개발언어/JavaScript 2022. 12. 22. 14:15
JavaScript 객체를 만드는 방법 let user = new Object(); // '객체 생성자 '문법 let user = {}; //'객체 리터럴 문법' 중괄호{...}를 이용해서 객체를 선언하는 것을 객체 리터럴(object literal)이라고 부른다. 객체를 선언할 때 주로 이방법을 사용한다. 리터럴과 프로퍼티 delete 연산자 delete 연산자를 사용하면 프로퍼티를 삭제할 수 있다. delete user.age; 여러 단어를 조합해 프로퍼티 이름을 만든 경우엔 프로퍼티 이름에 따옴표로 묶어 주어야 한다. let user = { name:"John", age: 30, "likes birds": true //복수의 단어는 따옴표로 묶어야 한다. }; 상수 객체는 수정될 수 있다. cons..
-
디자인 원칙 - 구현이 아닌 인터페이스에 대해 프로그래밍Web 개발/디자인 패턴 2022. 12. 21. 19:16
구현이 아닌 인터페이스에 대해 프로그래밍 구현이 아닌 인터페이스에 대해 프로그래밍하라, 또 구상 클래스에 의존하는 대신 추상화에 의존하라 기존의 코드를 망가뜨리지 않고 쉽게 확장할 수 있다면 그 디자인은 충분히 유연하다고 말할 수 있다. 만약 두 클래스가 서로 같이 작업하도록 만들려면 둘 중 하나를 다른 클래스에 의존하게 만드는 것으로 시작할 수 있다. 그런데 객체간의 공동 작업을 만드는 더 유연한 방법이있다. 한 객체가 다른 객체에서 정확히 무엇을 필요로하는지 확인하세요 어떤 메서드들을 실행하나요? 새 인터페이스 또는 추상 클래스에서 이러한 메서드들을 설명하세요. 다른 객체에 의존하는 (dependency인) 클래스가 아닌 인터페이스를 구현하도록 하세요. 이제 두 클래스를 구상 클래스가 아닌 이 인터페..
-
디자인 원칙 - 변화하는 내용을 캡슐화Web 개발/디자인 패턴 2022. 12. 20. 11:49
소프트웨어 설계에는 몇 가지 보편적인 원칙들이 있다. 변화하는 내용을 캡슐화 당신의 프로젝트에서 변경되는 부분들을 식별한 후 변하지 않는 부분들과 구분하세요. 이 원칙의 가장 큰 목적은 변화로 인해 발생하는 결과를 최소화하는 것이다. 독립된 모듈에서 변경되는 프로그램의 일부를 따로 떼어내면 코드의 나머지 부분들을 역효과로부터 보호할 수 있을 뿐 만아니라 변경 사항들을 구현하고 테스트하는 데 걸리는 시간을 줄일 수 있다. 매서드 수준에서 의 캡슐화 전자 상거래 웹사이트를 개발하고 있다고 가정해보자 코드 어딘가 세금을 포함한 주문의 총계를 계산하는 getOrderTotal메서드가 있다. 이때 쉽게 미래에 세금과 관련한 코드를 변경해야 할지도 모른다는 것을 예측할 수 있다. 왜냐면 세율은 거주하는 국가,주,도..