본문 바로가기

Developer

(62)
클로저(Closure)란? 클로저(Closure)란? MDN에서는 클로저를 다음과 같이 정의하고 있다. 클로저는 독립적인 (자유) 변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 ‘기억한다’. 흔히말해 함수 내에서 함수를 선언하고 사용하면 클로저라고 한다. 여기서 바깥쪽 함수는 외부함수, 그 안에서 선언한 함수는 내부함수라고 부른다. 대개 내부함수를 리턴하고 사용은 외부함수의 바깥에서 하게된다. 말로 설명하면 어려우니 아래 코드를 보자. function hello(name) { let _name = name; // 변수명 앞에 underscore(_)를 포함하면 private val임을 의미 return function() { // 클로저 함수 console.log('Hello, '+_name); } ..
var, let, const 차이점 JavaScript에서 변수 선언 방식인 var, let, const 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. var name = 'bathingape' console.log(name) // bathingape var name = 'javascript' console.log(name) // javascript 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다. 이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선..
비동기 프로그래밍이란? 동기적인 것은 순서대로 실행된다고 볼 수 있다. 비동기식은 아래와 같이 순차적으로 하되, 다 끝나지 않아도 그다음 진행하게 된다. (예약상태라고 보면 된다!!) 멀티태스킹이 구현된다고 있다. -> 식사완료하면 callback 이라고 한다 자바 스크립트는 싱글 스레드이지만 자바 스크립트는 웹 브라우저나 Node.js의 자바스크립트 엔진에서 실행된다. 이 엔진에는 자바스크립트를 돌리는 하나의 쓰레드, 자바스크립트 함수 전용 특급 선로가 있음. 다른 포함레벨에서의 함수들은 역순이지만, 다른 포함 레벨에서의 함수는 순서대로 처리 되기 때문에, 선로는 먼저들어나온대로 하는 큐이고, 함수는 스택형태이지만, 이 차이를 인지하도록 한다!! 자바스크립트 + Web API 기능을 동시에 수행한다. (타이버, 업다운로드, ..
함수형 프로그래밍이란? 함수형 언어란 어떤 언어에서도 적용할 수 있는 부분이다. 함수형 프로그래밍의 가장 중요한 개념은 side effect를 극단적으로 배제하는 형태의 프로그래밍을 하는 것이 함수형 프로그래밍이다. 일반적으로 프로그래밍을 하다보면 반복적인 작업들을 하나로 묶어주는 일들이 많다. 예를 들어 프로그래밍에서 A에다가 2를 더하는 작업이 있다고 보자. 근데 다음에 또 2를 더하는 일이 생기면 그에 맞는 함수를 만들어서 그것들을 묶어주고 다음부터는 같은 코드 명려을 사용하지 않더라도 해당 함수를 콜하기만 해도 동작하게끔 하는 느낌인데 그렇게 되면 필연적으로 함수 그자체의 본연의 기능이 아닌 코드를 묶어 놓는 어떤 코드 스코프 같은 느낌이 들때가 있다. 그러면 그 함수가 그 자체의 역할이 아니라 코드들을 묶어놓는 이너스..
OOP란 무엇인가? OOP 는 Object Oriented Programing의 준말이다. Object는 사전적인 의미에선 '대상'을 의미하는데, '변수'와 '함수' 를 그루핑한 그릇. 혹은 그 내부의 변수와 속성 메소드를 객체라 한다. 연관된 파일, 무엇을 그룹으로 하나하나 독립성을 가진다. ( 사전적인 의미대로의 각각 개인적인 사람, 책 독립적인 대상) 마치 시계의 여러가지 톱니바퀴가 여러가지의 부품과 유기적으로 서로 연결하여 작동이 되는 '시계' 가 되는것 처럼 우리도 '하나하나 독립겅을 가진 좋은 부품의 로직'을 만들어(Programing) 하는것이 목표라 할 수 있겠다 그러기 위한것으론, 다형성(Polymorphism) ,상속(Inheritance), Abstraction(추상화), Encapsulation(캡슐화..
프론트엔드 면접 질문 모음 설명 개발자 준비를 하면서, 면접에서 개별적으로 혹은 공통적으로 받았던 질문 리스트입니다. 주로 로켓펀치와 원티드를 통해 구직활동을 하였으며, 당연히 비율상 규모가 큰 기업 보다는 스타트업 위주로 면접이 진행되었습니다. 서류를 제출한 모든 기업으로부터 면접이 진행되지 않아, 질문 내용이 보편적이지 않을 수 있습니다. 자바스크립트를 활용한 웹 프론트엔드 직군 위주로 지원하였으며, 포트폴리오 제작시 Vue.js만을 사용하여, React.js 관련 질문은 받지 못하였습니다. 비전공자임을 감안한 질문 내용들이 있습니다. 질문 목록 개발 관련 질문 목록 브라우저의 렌더링 과정에 대해서 상세하게 설명해달라 OOP OOP에 특징에 대해 설명해달라(상속, 캡슐화 등등...) 현실에 상황을 예로 들어 OOP의 개념으로 ..
KH 정보교육학원 수료
Front-end 개발자 학습목록 Step 1 Git / GitHub ECMAScript2015(ES6) JavaScript의 동작원리 DOM API (Web API) and Concept NPM Webpack ( + babel ) HTML/CSS 기본 (아… 기본이 어디까지 일까요) CSS Media query Step 2 자료구조, 네트워크를 비롯한 CS 지식 ES5 Core Concept AJAX(Asynchronous JavaScript and XML) CORS 브라우저 동작 원리 (Critical Path) 웹 접근성 Step 3 CSS 방법론 서버 사이드 렌더링 / 클라이언트 사이드 렌더링 ( + SPA ) AMD, CommonJS 함수형 지식 Additional Step 기본적인(?) 백엔드 지식 View 라이브러리 (Rea..