반응형 분류 전체보기205 [Firebase] 서버리스? Firebase Functions! 1. Firebase Function이란 무엇일까? Firebase Function을 사용하게 되면 HTTPS 요청에 의해 트리거된 이벤트에 대한 응답으로 백엔드 코드를 자동으로 실행할 수 있는 기능이다. Firebase에는 실시간 데이터베이스, 인증, 스토리지, 호스팅, FCM(Firebase Cloud Messaging), Analytics등을 제공하는데, Function으로 데이터베이스나 스토리지에 요청을 보내 저장이나 데이터를 가져올 수 있다. * Firebase Function에 대한 설명은 Firebase 홈페이지에도 한글로 잘 나와있다. 2. Firebase Function 설치 및 배포하기 우선 Firebase Console에 접속하여 프로젝트를 생성한다. Firebase 홈페이지 (위 링.. 2017. 9. 15. [ES 6] Symbol 1. Symbol Symbol은 ES6에서 처음 선보인, 완전히 새로운 원시 타입으로, 심볼값은 유일하며 변경할 수 없다. 심볼은 리터럴 형식이 없고 Symbol() 함수로 생성한다. 이 함수는 호출할 때마다 유일한 심볼을 반환한다. 또한 심볼에 관한 서술을 선택인자로 줄 수 있다. 심볼 자체에 접근하려는 시도는 아니고 단지 디버깅 용이다. 서술이 동일해도 심볼까지 동등하진 않다. let a = Symbol(); let b = Symbol(); let c = Symbol('설명'); console.log(a === b); // false 자바스크립트에서 객체의 프로퍼티 키는 보통 문자열 타입이었지만, ES6부터는 문자열과 심볼 둘 다 가능하다. let obj = null; let a = null; let.. 2017. 9. 11. [ES 6] Arrow Function - 화살표 함수 1. 화살표 함수 (Arrow Function) ES6부터 '=>' 연산자로 함수를 생성하는, 화살표 함수가 처음 생겼다. 화살표 함수는 보다 간결한 구문을 지닌 익명 함수이다. let add = (x, y) => { return x + y; }; let result = add(1, 2); console.log(result); // 3; 문이 하나 밖에 없는 화살표 함수는 {}를 생략할 수 있다. let add = (x, y) => x + y; 2. 화살표 함수에서의 this 화살표 함수에 this 값은 해당 스코프의 this 값과 같다. 여타 함수에서 this가 콘텍스트 객체를 가리키는 것과는 대조적이다. var obj = { func : function() { console.log(this); // .. 2017. 9. 11. [ES 6] 블록 스코프 let과 상수 const 1. 블록 스코프 변수 선언 - let let 키워드로 선언한 변수를 블록 스코프 변수라고 한다. 함수 밖에서 선언하면 함수 스코프 변수처럼 쓸 수 있다. 블록 안에서 선언하면 자신을 정의한 블록 또는 하위 블록에서만 접근 가능하며 블록 밖에서는 볼 수 없다. let a = 1; function myFunction() { console.log(a); // 1 let b = 2; if(true) { let c = 3; console.log(b); // 3 } console.log(c); // Reference Error Exception } myFunction(); 기존의 함수 스코프 변수 var과는 다르게 마지막 변수 c를 찍을 때에 에러가 발생한다. 기존 var를 사용하면서 스코프를 착각할 일이 있었던.. 2017. 9. 11. [Java] 가비지 컬렉션(Garbage Collection, GC)과 알고리즘 1. 가비지 컬렉션 (Garbage Collection, GC)란? 예전의 전통적인 언어인 C 등은 malloc(), free() 등을 이용해서 메모리를 할당하고, 일일이 그 메모리를 거둬야 했다. 하지만 자바 언어에서는 GC 기술을 사용하여 개발자를 메모리 관리로부터 좀 더 자유롭게 해주었다. GC 즉 가비지 컬렉션은 자바 애플리케이션에서 사용하지 않는 메모리를 자동으로 거둬들이는 기능을 말한다. 2. 메모리 영역과 JVM의 GC 관리 * 각 영역 별 설명은 이전 글을 참조하기 바란다. 이전 글 : 2017/09/08 - [Java] - [Java] JVM의 구조와 이해 - Minor GC New/Young 영역의 GC를 Minor GC라고 부른다. Eden 영역은 자바 객체가 생성되자마자 저장되는 곳.. 2017. 9. 8. [Java] JVM의 구조와 이해 1. JVM (Java Virtual Machine)이란? 자바 가상 머신(Java Virtual Machine, JVM)은 자바 바이트코드를 실행할 수 있는 주체이다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현되나 자바 프로세서처럼 하드웨어와 소프트웨어를 혼합해 구현하는 경우도 있다. (이론적으로는 100% 하드웨어 구현도 가능하나 비효율적이다) 자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행한다. 따라서 표준 자바 API까지 동일한 동작을 하도록 구현한 상태에서는 이론적으로 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장한다. * JV.. 2017. 9. 8. SSO (Single Sign On)란? 1. SSO (Single Sign On)란? SSO는 하나의 통합된 계정으로 한 번의 로그인으로 다른 독립된 시스템들을 같이 사용할 수 있게 해주는 기능이다. 예를 들어서 구글 이메일 사이트에 로그인하면 구글 드라이브나 구글 검색 엔진에 별도로 로그인하지 않고도 같은 계정으로 자동 로그인된 상태로 사이트를 이용할 수 있게 해주는 기능이다. 여러 가지 구현 방식이 있지만 근래에는 SAML (Security Assertion Markup Language)나 OAuth 2.0과 같은 표준 기술들을 많이 사용하고 있다. 보통은 아키텍처의 Access 계층의 Reverse Proxy 계층에서 SSO 기술을 적용한다. 2017. 9. 7. [Java] 람다 표현식, 람다란? 1. 람다 표현식(Lambda Expressions)이란? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질 수 있다. * 람다의 특징 A. 익명 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다. B. 함수 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. C. 전달 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. D. 간결성 익명 클래스처럼 많은 자질구레한 코드를 구현할 필요가 없다. 람다식의.. 2017. 9. 6. [Javascript] Javascript 바인딩 1. 기본 바인딩 첫 번째 규칙. 가장 평범한 함수 호출인 '단독 함수 실행'에 관한 규칙으로 다른 나머지 규칙에 해당하지 않 을 경우 적용되는 this의 기본 규칙이다. function foo() { console.log(this.a); } var a = 2; foo(); // 2 위 예제 var a = 2처럼 전역 스코프에 변수를 선언하면 변수명과 동일한 이름의 전역 객체 프로퍼티가 생성된다. foo() 함수 호출 시 this.a는 전역 객체 a다. 기본 바인딩이 적용되어 this는 전역 객체를 참조한다. 하지만 엄격 모드에서는 전역 객체가 기본 바인딩 대상에서 제외된다. 2. 암시적 바인딩 두 번째 규칙. 호출부에 콘텍스트 객체가 있는지, 즉 객체의 소유/포함 여부를 확인하는 것이다. functio.. 2017. 8. 31. 이전 1 ··· 18 19 20 21 22 23 다음 반응형