∞. 기술 면접 61

01. 기술면접 - 스프링 - 스프링 프레임워크

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 스프링 프레임워크란 - 자바 엔터프라이즈 개발을 편하게 해주는 경량급 오픈소스 애플리케이션 프레임워크 - Lightweight Java Application Framework - 목표: POJO 기반의 Enterprise Application 개발을 쉽고 편하게 할 수 있도록 한다 - Java Application 을 개발하는 데 필요한 하부구조(Infrastructure)를 포괄적으로 제공한다 - Spring 이 하부구조를 처리하기 때문에 개발자는 Application 개발에 집중 할 수 있다 - 간단히 스프링 (Spring) 이라고도 불린다 - 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 ..

11. 기술면접 - 자바스크립트 - this

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 실행 컨텍스트(Execution Context) 실행컨텍스는 scope, hosting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다 ECMAScript 스펙에 따르면 실행 컨텍스트를 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이라고 정의한다 좀 더 쉽게 말하자면 실행 컨텍스트는 실행 가능한 코드가 실행되기 이해 필요한 환경이라고 말할 수 있다 여기서 말하는 실행 가능한 코드는 아래와 같다 - 전역 코드 : 전역 영역에 존재하는 코드 - Eval 코드 : eval 함수로 실행되는 코드 - 함수 코드 : 함수 내에 존재하는 코드 일반적으로 실..

10. 기술면접 - 자바스크립트 - 클로저 (Closure)

본 내용은 공부목적으로 MDN 문서를 보며 따라친 내용입니다 들어가기 앞 서 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는 지 렉시컬 스코프(Lexical Scoping) 을 이해 해야 한다 렉시컬 스코프 (Lexical Scoping) function init() { var name = "Mozilia"; // name은 init 에 의해 생성된 지역 변수 이다 function displayName() { // displayName() 은 내부 함수 이며, 클로저이다 alert(name); // 부모함수에서 선언된 변수를 사용한다 } displayName(); } init(); - init() 은 지역변수 name 과 함수 d..

09. 기술면접 - 자바스크립트 - 호이스팅 (Hoisting)

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 호이스팅 (Hosting) - Hosting(끌어 올리다) 이란 선언한 함수와 변수를 해석기가 가장 상단에 있는 것 처럼 인식한다 - JS 해석기는 코드의 라인 순서와 관계 없이 함수 선언식(함수 표현식 X)과 변수를 위한 메모리 공간을 먼저 확보 - 따라서, function a() 와 var 는 코드의 최상단으로 끌어 올려진 것 (hostied) 처럼 보인다 function a() { return 10; } a(); // 5 function a() { return 5; } 순서대로 동작했다면 a 는 10이 출력되어야 하는 데, 해석기가 함수실행보다 선언을 먼저 인식하기 때문에 a는 재정의 되어서 5..

07. 기술면접 - 자바스크립트 - 구조 분해 할당 (Destructuring)

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 개념 속성을 분해하여 원하는 속성만 변수로 담을 수 있다 객체 구조분해 (Object Destructuring) const A = { a: 1, b: 2 } const {a,b} = A console.log(a) // 1 console.log(b) // 2 const A = { a: 1, b: 2 } const {b, a} = A console.log(a) // 1 console.log(b) // 2 const A = { a: 1, b: 2 } const {c,d} = A console.log(c) // undefined console.log(d) // undefined 배열 구조분해 (Object ..