이벤트 루프 어떤 작업이 발생하여 이벤트 발생 시 내부에서 호출되는 함수들을 태스크 큐(Task Queue)에 전달하고, 콜 스택(Call Stack)에 쌓여있는 함수가 없을 때, 태스크 큐(Task Queue)에 담겨있는 함수들을 콜 스택(Call Stack)으로 넘겨줍니다. 이러한 이벤트 루프를 제공함으로써, 자바스크립트는 싱글 스레드지만, 비동기 방식으로 동시성을 지원합니다. 자바스크립트 언어에는 이벤트 루프가 없고 자바스크립트 런타임 환경을 제공하는 브라우저, Node가 담당한다. 이벤트 루프 동작 setTimeout을 하는 순간 백그라운드를 걸쳐 태스크 큐로 갑니다. 아래 순서를 봐보자. const start = () => console.log('2'); console.log('1'); setT..
클로저(closure) 내부 함수 내에서 외부 함수의 변수에 접근하는 것을 말한다. (그 반대는 안됨!) 외부 함수에서 변수를 선언하고 그 변수를 내부 함수가 사용하고 있다면, 내부 함수가 끝날 때까지 소멸하지 않는다. 예제 function outFunc() { var out = 'outFunc'; function inFunc() { var inf = 'inFunc'; return console.log(out + ', ' + inf); } inFunc(); } outFunc(); // outFunc, inFunc 해당 함수를 실행하면, 내부함수 안에 out이라는 변수가 존재하여 값이 outFunc, inFunc 가 나오는 것을 볼 수 있다. 그렇다면, 내부함수에서 out을 빼보고 inFunc 안에 브레이..
gulp-javascript-obfuscator 코드가 외부로 노출되지 않도록 코드를 난독화합니다. minify, uglify 를 통해 경량화 하는 것만으로 코드의 가독성을 낮출 수는 있지만, 노력만 있다면 코드를 충분히 볼 수 있습니다. 그렇기 때문에 가독성을 더 떨어트리기 위해 gulp-javascript-obfuscator 를 사용합니다. // 설치 npm install --save gulp-javascript-obfuscator 사용방법 // 사용 return gulp.src('src/*.js') .pipe(concat('main.js')) .pipe(uglifyes()) // es6 => es5 .pipe(babel()) // 난독화 추가 .pipe(obfuscator({ compact: tru..
gulp-babel gulp에서 es6 문법을 es5로 트랜스파일링 하기 위해 사용하는 모듈이다. // gulp-babel 설치 npm install --save-dev gulp-babel 설치가 완료되면 가져다가 쓰면 된다. import babel from 'gulp-babel'; return gulp.src('src/*.js') .pipe(concat('main.js')) .pipe(uglifyes()) // es6 => es5 .pipe(babel()) 참고 // 바벨 컴파일러 코어 다운 npm install --save-dev @babel/core 만약에 오류가 나면 gulp-babel: "^7.0.0" 으로 내려보자.
자바스크립트의 this 자바스크립트의 this 는 상황에 따라 달라집니다. 자바스크립트의 일반적인 this 는 전역 객체를 바라봅니다. 또한 use strict 모드에서는 this 는 undefined 입니다. // 일반함수 (전역객체) function normal() { console.log(this); // Window // 내부함수 (전역객체) 함수의 함수를 선언해도 this 는 Window 로 같습니다. function inside() { console.log(this); // Window } inside(); } normal(); // 콜백함수 (전역객체) // 화살표 함수 (전역객체) const cb = { callback: function() { setTimeout(function() { c..

Fork Fork는 가볍고 빠른 GIt GUI 클라이언트 입니다. (소스트리, 깃 크라켄.. 등등) 깃 클라이언트를 사용하면, 기존의 커맨드로 실행했던 기능들을 GUI로 제공함으로써 편리하게 관리할 수 가 있다. 현재 Fork는 Mac, Windows 를 제공하고 있다. Fork 다운 아래 링크로 들어가서 자신에 맞는 OS 를 선택하여 다운합니다. 링크: https://git-fork.com/ 사용하고자 하는 username과 email을 써주면 됩니다. (깃 커밋시 사용)
- Total
- Today
- Yesterday
- 오블완
- svelte
- React
- vue composition api
- Zustand
- vue router
- seo
- github
- Vite
- openAI
- Github Actions
- NextJS
- vscode
- 티스토리챌린지
- 깃허브
- nodejs
- ChatGPT
- NUXT
- AWS
- nextjs15
- nextjs14
- 네이버 서치 어드바이저
- 타입스크립트
- Git
- nextjs13
- 스벨트
- 서버 to 서버
- nuxt2
- cors
- dockerfile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |