본문 바로가기

JavaScript

(15)
[TIL] AWS(S3, EC2, RDS) 1. AWS ? - Amazon Web Services(AWS)에서는 웹과 모바일의 애플리케이션, 빅 데이터 프로젝트, 소셜 게임, 모바일 앱에 이르는 거의 모든 물리적인 컴퓨팅 자원을 클라우드를 통하여 실행할 수 있는 다양한 인프라 및 애플리케이션 서비스 집합을 제공하는 것입니다. 2. S3(Simple Storage Service) ? 가. 간단하게 정의하자면 여러 파일들을 담고 있는 서버라고 할 수 있습니다. - 이미지나 동영상을 가지고 있으며, 필요할 때 제공합니다. 나. 내구성과 확장성이 뛰어난 스토리지 서비스입니다. 다. EC2에서도 가능한 기능이지만, 특정 변경없이 무제한 저장이 가능하기에 사용합니다. 라. 트래픽이 증가하더라도 장비 같은 것을 별도로 증설하는 작업을 하지 않아도 됩니다. 마..
HTML과 CSS 1. HTML (Hyper Text Markup Language) ? 가. 개요 1) 웹 페이지를 만들기 위해 사용되는 마크업 언어입니다. 2) 확장자는 .html, .htm 입니다. 3) 위의 확장자로 저장을 하면, 웹 브라우저는 이를 HTML 문서로 인식을 합니다. 4) HTML은 tag들의 집합소입니다. - Tag는 로 묶인 HTML의 기본 구성 요소입니다. 나. 기본 구조 * SELF-CLOSING TAG 방식으로 태그 내부에 내용이 없다면 와 같이 표현이 가능합니다. ex) 다. 사용이 많이 되는 HTML 태그 2. CSS (Cascading Style Sheets) ? 가. 개요 1) 웹 페이지 구성요소의 스타일을 정의하는 언어입니다. 2) HTML을 시작적으로 꾸며주는 역할..
TDD(test-driven development) (테스트 주도 개발) 1. TDD(테스트 주도 개발) 이란 ? 가. 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나입니다. 나. 자동화된 테스트 케이스를 작성하고, 그 케이스를 통과하기 위한 최소한의 코드를 생성 및 리팩토링하는 개발 사이클을 가집니다. 다. 테스트를 최우선으로 '작동하는 깔끔한 코드'를 만드는 것이 테스트 주도 개발의 궁극적인 목표입니다. 2. TDD 사이클 TDD RED ---- GREEN ---- REFACTORING 가. RED : 실패하는 작은 테스트를 작성합니다. 나. GREEN : 테스트를 통과하는 코드를 작성합니다. (퀄리티보다는 통과를 목표) 다. REFACTORING : 레스트를 통과한 코드를 리팩토링 합니다. (퀄리티를 높임) 3. TDD 인터페이스 가. suite(),..
Closure (클로저) 1. Closure (클로저) 란 ? 가. 클래스 기반 언어처럼 캡슐화, 모듈화 작업을 수행 할 수 있습니다. 나. 클로저는 함수와 함수가 선언된 어휘적 환경의 조합입니다. 다. 함수 밖에서 선언된 변수를 함수 내부에서 사용할 때를 말합니다. function outerFn() { let outerVar = 'outer'; console.log(outerVar); function innerFn() { let innerVar = 'inner'; console.log(innerVar); } // innerFn() 이 부분이 클로저 함수입니다. // 이 함수 안에는 지역 변수(innerVar), 외부 함수의 변수(outerVar), 전역변수(globalVar)의 접근이 전부 가능합니다. return innerF..
Scope (스코프) 1. Scope (스코프) 란 ? 가. 변수가 영향을 미치는 범위, 변수의 유효 범위 라고 정의할 수 있습니다. 나. 블록 스코프와 함수 스코프로 나누어집니다. 다. 스코프의 예는 아래와 같습니다. let a = 10; function scope1() { a = 20; console.log(a); // 20 } scope1(); console.log(a); // 20 let b = 10; function scope2() { let b = 20; console.log(b); // 20; } scope2(); console.log(b); // 10; 라. scope1 과 scope2 함수는 유사해보이지만, 전혀 다른 값을 반환합니다. 마. scope1 함수는 let a 라는 변수의 값을 20으로 변경을 해준..
개발자 도구 (Git) 1. Git 이란 ? - 프로그램 개발 작업 시 여러 버전들을 분산처리하여 관리해주는 버전 관리 시스템입니다. - 파일 수정 시 발생할 수 있는 여러 문제로부터 프로그램을 안전하게 보관할 수 있습니다. 2. GitHub ? - 자신이 만든 코드 소스를 여러 사람들에게 공유하기 위해 만든 소셜 플랫폼입니다. - 오픈 소스 사이트 및 프로그램 개발 시 원격으로 파일을 저장할 수 있는 저장소 역할도 합니다. 3. Git 사용자 등록 1) 터미널을 실행합니다. 2) $ git config --global user.email "[이메일 주소]" // e-mail 등록 3) $ git config --global user.name "[이름]" // name 등록 4. Git 명령어 1) $ git init // 해..
Instantiation Patterns (인스턴스화) 1. Instantiation Patterns (인스턴스화) 가. Class 선언이 나오기 전 사용했던 4가지의 방법입니다. 나. 4가지의 방법은 아래와 같습니다. 1) Functional 2) Functional-shared 3) Prototypal 4) Pseudoclassical 2. Functional 가. 함수를 사용하는 방식으로 예는 아래와 같습니다. const car = function(driver) { const newCar = { }; newCar.driver = driver; newCar.drive = function( ) { console.log('부릉부릉 !'); }; return newCar; } 나. 장점 1) 가장 단순하고 기본적입니다. 2) 작동 방식에 대해서 좋은 아이디어를..
Object Oriented Programming(객체지향 프로그래밍) 1. Object Oriented Programming(객체지향 프로그래밍) 가. 프로그래밍의 세계에서 철학이라고 불려옵니다. 나. 총 3가지로 구분할 수 있습니다. 1) Encapsulation(캡슐화) 2) Inheritance(상속) 3) Prototypal( 3) Polymorphism(다형성) 다. '구현 방법중 하나' 라는 개념이라고 보면 될거 같습니다. 2. Encapsulation(캡슐화) 가. 객체를 이해할때, 여러가지 속성과 행동으로 이루어져 있습니다. 이것을 하나의 객체로 묶는 것이 캡슐화 입니다. 나. 동물이라는 물체 중 cat을 절차 지향적으로 표현하기 위한 예는 아래와 같습니다. let name = 'cat' let species = 'Scottish Fold' let speak..