본문 바로가기

전체 글

(48)
7/28(금) 데일리 과제 ◾️ 순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요. 순수 함수는 프로그래밍에서 중요한 개념으로, 주어진 입력에 대해 항상 같은 출력을 반환하고 외부에 아무런 영향을 미치지 않는 함수를 말합니다. 이것은 함수형 프로그래밍에서의 핵심 원칙 중 하나입니다. 1. 순수 함수의 특징 입력에 따라 결과가 항상 동일함 : 동일한 입력에 대해서는 항상 동일한 출력이 나와야합니다. 외부 변수나 상태에 의존하지 않으므로 같은 인자를 주면 항상 같은 결과를 얻게 됩니다. 사이드 이펙트가 없음 : 순수 함수는 외부 상태를 변경하거나 다른 부수 효과를 발생시키지 않습니다. 함수 호출로 인해 프로그램의 상태가 변경되지 않습니다. 2. 불변성과의 관련성 불변성은 데이터나 상태가 변하지 않는 것을 의미합니다..
7/27(목) 데일리 과제 ◾️ useRef가 필요한 상황을 예시를 들어 설명해주세요. useRef는 React Hook 중 하나로, DOM 요소나 다른 값을 유지하기 위해 사용됩니다. 주로 다음과 같은 상황에서 useRef가 필요합니다. 1. DOM조작 DOM요소에 직접 접근하여 조작해야 하는 경우에 useRef를 사용합니다. 예를 들어, 특정 버튼을 클릭 시에 특정 DOM요소의 포커스를 설정하고 싶을 때, useRef를 사용하여 해당 DOM요소에 접근하고 focus() 메소드를 호출할 수 있습니다. 2. 이전 값 유지 컴포넌트의 렌더링 사이클에서 값이 유지되어야하는 경우에 useRef를 사용합니다. 이전 값과 현재 값을 비교해야하는 경우 등에 유용하게 사용됩니다. ◾️ Cookie의 MaxAge, Expires 옵션이 무엇인지..
7/26(수) 데일리 과제 ◾️ require와 import의 차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요? require : Node.js에서 사용되는 CommonJS스펙에서 모듈을 가져오는 데 사용되는 키워드 입니다. 주로 Node.js환경에서 서버 측 애플리케이션을 개발할 때 사용됩니다. 'require'는 동기적으로 동작하며, 가져오려는 모듈을 로딩한 후 해당 모듈의 내용을 반환합니다. const fs = require('fs'); const express = require('express'); const myModule = require('./myModule'); // 사용자 정의 모듈 가져오기 import : 최신 ECMAScript(ES6)에서 도입된 모듈 시스템에서 사용되는 키워드입니다. 브라우저나 No..
7/25(화) 데일리 과제 ◾️ this가 동작하는 원리와 용법을 아는대로 설명해주세요. 평소 코드 중에서는 어떤 부분에서 가장 큰 차이가 생기나요? this는 현재 실행 컨텍스트에서의 객체를 참조하는데 사용됩니다. 실행 컨텍스트란 현재 코드가 실행되고 있는 환경을 나타내며, 주로 함수가 호출될 때 생성됩니다. 1. 전역 컨텍스트 : 전역 범위에서 this를 사용하면 전역 객체를 참조합니다. 브라우저 환경에서는 window객체가 전역 객체 입니다. 2. 함수 호출 : 함수가 일반적으로 호출되면 this전역 객체 또는 undefined가 됩니다. 노드 환경에서는 this는 전역 객체를 참조하지 않고 undefined가 됩니다. 3. 메소드 호출 : 객체의 메소드를 호출할 때 해당 메소드 내부에서 this는 메소드를 소유한 객체를 참..
7/24(월) 데일리 과제 ◾️ HTTP에 대해 설명하고, 알고있다면 HTTP 메세지 구조에 대해 자세히 설명해주세요. HTTP(Hyper Text Transfer Protocol)는 인터넷상에서 데이터를 주고 받을 때 사용하는 규칙입니다. 처음에는 월드와이드웹 상의 하이퍼텍스트 형태의 문서를 전달하는데 이용되었고 현재에는 이미지, 비디오 음성 등 거의 모든 형식의 데이터 전송이 가능합니다. 서버에서 요청을 보낼 때, 서버에서 응답을 보낼 때 정보를 담아 메세지를 보내는데 이를 HTTP메세지라고 합니다. HTTP메세지 구조는 시작줄, 헤더, 본문으로 구성됩니다. 시작줄은 HTTP 메서드와 요청 주소, HTTP버전으로 구성되어있고, 두번째 줄부터는 헤더의 정보를 담고 있습니다. 헤더 다음 한 줄 띄고 본문 내용이 들어가며, 본문은 ..
7/21(금) 데일리 과제 ◾️ 프레임워크와 라이브러리 차이점에 대해 설명해주세요. 프레임워크는 애플리케이션 개발하기 위한 일정한 요소와 틀, 규칙과 메뉴얼을 제공하는 소프트웨어를 말하고, 라이브러리는 애플리케이션을 개발하기 위해 사용되는 도구라고 생각할 수 있습니다. 두 가지 모두 프로그램을 쉽게 개발할 수 있게 도움을 준다는 공통점이 있고, 차이점은 개발 프로세스의 제어권이 누구에게 있느냐가 가장 큰 차이점이라고 할 수 있습니다. 프레임워크는 개발자가 그 틀과 규칙에 맞게 개발을 해야하고 , 라이브러리는 개발자가 필요할 때 호출하여 능동적으로 사용할 수 있습니다. 프레임워크 : React, Vue, Angular ... 라이브러리 : chart.js, Lodash, js-cookie ... ◾️ 캐시의 장단점과 어떤 부분에 활..
7/20(목) 데일리 과제 ◾️ Hoisting이란 ? TDZ란? 호이스팅은 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. 컴파일 단계에서 코드 실행 전 함수와 변수 선언을 스캔하고, 모든 함수와 변수 선언들은 렉시컬 환경이라 불리는 자바스크립트 데이터 구조 내의 메모리에 추가됩니다. 이때 초기화 되지 않은 선언들은 Temporal Dead Zone(TDZ)구간의 영향을 받아 참조 에러가 발생합니다. 변수 선언, 할당, 초기화 란? 🔻 더보기 변수 선언 : 변수를 정의하는 것을 의미 var developer; 변수 할당 : 변수가 선언된 후 대입 연산자(=)를 통해 값을 넣어주는 것을 의미한다 var developer; developer = 'korean'; 변수 초기화 : 변수를 선언함과 동..
7/19(수) 데일리 과제 ◾️ 웹페이지가 브라우저에 렌더링되는 과정을 설명해주세요. 1. DNS 탐색 : 해당 페이지에 대한 자원을 탐색하고 서버에서는 IP주소를 보내줍니다. 2. TCP 핸드셰이크 : IP주소를 알고난 후 브라우저는 서버와 TCP 3방향 핸드셰이크를 통해 연결을 설정합니다. 3. TLS 협상 : HTTPS를 이용한 보안성있는 연결을 위해 통신 암호를 설정을 통해 안전한 연결을 요청합니다. =============================================================================== 4. DOM트리 구축 : HTML을 처리하여 DOM트리를 생성합니다. 5. CSS 파싱 : CSS를 처리하고 CSSOM트리를 구성합니다. CSSOM은 웹페이지의 스타일 정보를 표현하는 ..