반응형
제육's 휘발성 코딩
반응형
article thumbnail
[JavaScript] - 클로저 (feat. 코어 자바스크립트)
Frontend/JavaScript 2023. 4. 6. 08:07

클로저 개요 클로저(Closure)는 여러 함수형 프로그래밍에서 등장하는 특성으로, 문헌 별로 다르게 정의되고 있습니다. MDN (Mozila Developer Network)에서는 클로저에 대해 "함수와 그 함수가 선언될 당시의 lexical environment의 상호 관계에 따른 현상"이라고 소개합니다. LexicalEnvironment는 자바스크립트에서 실행 컨텍스트를 생성 및 실행하는 과정에 사용되는 컴포넌트로, environmentRecord, outerEnvironmentReference, thisBinding 등의 작업을 통해 변수의 유효범위인 스코프가 결정되고, 스코프 체인이 가능해집니다. 이 중 outerEnvironmentReference는 현재 컴포넌트에서 변수를 찾지 못하면 외부 ..

article thumbnail
[JavaScript] - 콜백 함수 (feat. 코어 자바스크립트)
Frontend/JavaScript 2023. 4. 2. 21:44

콜백 함수 개요 콜백 함수는 다른 함수 또는 메서드에게 인자로 넘겨주면서 제어권도 함께 위임한 함수를 의미합니다. 일반적으로 다른 함수의 작업이 끝나면 실행되는 함수이며, 비동기나 복잡한 작업 환경에서 유용하게 사용됩니다. 콜백 함수 예제 - 제어권 let count = 0; let timer = function() { console.log(count); if (++count > 5) clearInterval(alarm); }; let alarm = setInterval(timer, 1000); delay의 값을 입력받아 5번 울리면 alarm을 종료하는 timer 콜백함수를 만들고, setInterval에 timer와 delay를 넘겨주는 코드입니다. timer()와 setInterval(timer, ..

article thumbnail
[Oracle] WITH절 (가상 테이블) 예제 및 장단점
DataBase/Oracle 2023. 3. 31. 02:19

Oracle WITH 절 개요 Oracle의 With절은 Oracle 9i 버전부터 도입된 기능으로 서브쿼리에 이름을 지정하여 재사용할 수 있는 가상 테이블을 생성할 수 있습니다. WITH 절을 사용하면 복잡한 쿼리를 단순화하고, 상황에 따라 성능 향상에 도움을 줄 수 있습니다. (MySQL, MS-SQL에도 WITH 절이 있습니다.) WITH절 사용 방법 -- WITH 절 한 개 사용 WITH 임시테이블명 AS ( -- 쿼리 ) -- 메인 쿼리 -- WITH 절 여러 개 사용 (, 사용) WITH TEMP_A AS ( -- 쿼리 ), TEMP_B AS ( -- 쿼리 ) -- 메인 쿼리 WITH 절 선언 후 테이블명 AS () 로 생성할 수 있습니다. 여러 개를 생성하고 싶은 경우 쉼표(,)를 사용합니다..

article thumbnail
[프로그래머스] - 숫자 변환하기 (JAVA)
🔷 Java/Algorithm 2023. 3. 30. 00:58

숫자 변환하기 (Java) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 79.5 MB, 시간: 18.62 ms 문제 설명 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 제한사항 1 ≤ x ≤ y ≤ 1,000,000 1 ≤ n <..

article thumbnail
[프로그래머스] - 뒤에 있는 큰 수 찾기 (JAVA)
🔷 Java/Algorithm 2023. 3. 29. 00:53

뒤에 있는 큰 수 찾기 (LV2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 195 MB, 시간: 60.27 ms 문제 설명 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다. 제한사항 4 ≤ numbers의..

article thumbnail
[JavaScript] - this 함수
Frontend/JavaScript 2023. 3. 28. 02:00

this 함수 자바스크립트에서 this는 실행 컨텍스트가 생성될 때마다 this가 결정됩니다. 즉, 최초에 전역 컨텍스트 생성 시에 window 객체로 한 번 생성하고 이후 함수 실행 컨텍스트에 의해 함수를 호출할 때마다 생성됩니다. 전역 스코프에서의 this 전역 컨텍스트가 생성되면서의 this는 브라우저 환경 기준으로 window, Node 에선 global 객체가 됩니다. console.log(this); // true console.log(this === window); // true var a = 1; console.log(this.a); // 1 console.log(window.a); // 1 console.log(a); // 1 let b = 1; console.log(this.b); //..

article thumbnail
[JavaScript] - 실행 컨텍스트와 호이스팅 (Execution Context, Hoisting)
Frontend/JavaScript 2023. 3. 27. 02:00

Execution Context 란? Execution Context는 코드를 실행할 때 필요한 환경 정보들을 모아 둔 객체를 의미합니다. 자바스크립트에서는 실행 컨텍스트에 따라서 선언된 변수를 위로 끌어올리는 호이스팅, this 값 설정, 외부 환경 정보 구성 등의 동작이 발생합니다. 자바스크립가 실행 될 때마다 Execution Context 내에서 실행된다 정도로 이해하고 있습니다. Execution Context 종류 자바스크립트에선 실행 컨텍스트를 다음과 같이 3가지 나누어서 분류되고 있습니다. 전역 실행 컨텍스트 (Global Execution Context) 전역 컨텍스트는 최상단의 공간으로 자바스크립트 파일이 실행되는 순간 전역 컨텍스트가 활성화됩니다. 전역 컨텍스트는 브라우저의 Windo..

article thumbnail
[JavaScript] - 배열 복사, 객체 복사 방법 (깊은 복사, 얕은 복사)
Frontend/JavaScript 2023. 3. 26. 10:40

객체의 가변성 const originalArr = [1, 2, 3, 4, 5]; let copiedArr = originalArr; console.log(originalArr === copiedArr); copiedArr[0] = 6; console.log(originalArr, copiedArr); // [6,2,3,4,5] , [6,2,3,4,5] 위의 코드처럼 원본 객체는 그대로 두고 싶은 상황에서 복사본이 변경될 때 원본도 같이 변하는 문제점이 발생할 때가 있습니다. 이는 객체의 가변성으로 인해 생기는 문제입니다. == VS === ==은 값이 같은지만 비교하고, ===은 값과 타입이 같은지를 모두 비교합니다. let a = 1; let b = "1" console.log(a == b); // t..

반응형
반응형