이벤트 루프
·
Frontend/Javascript Essentials
1. 이벤트 루프이벤트 루프(브라우저에 내장되어 있는 기능)는 자바스크립트의 비동기 처리 메커니즘을 관리하는 핵심 엔진으로,실행 컨텍스트가 담긴 콜 스택(Call Stack) 과, 나중에 실행될 (매크로) 태스크 큐(task Queue) 및 마이크로태스크 큐(Microtask Queue) 를 조율하는 역할을 한다. 자바스크립트는 단일 스레드 언어이기 때문에, 한 번에 하나의 작업만 수행할 수 있는데, 실행할 함수가 생기면 콜 스택에 쌓이고, 스택의 맨 위에 있는 함수부터 순차적으로 실행되는 것이다. 이때 비동기 작업(예: setTimeout, fetch)은 바로 실행되지 않고, 백그라운드에서 완료된 후 해당 콜백이 큐(매크로 또는 마이크로 태스크큐)에 등록된다. 이벤트 루프는 콜 스택이 비어 있는지 계속..
실행 컨텍스트
·
Frontend/Javascript Essentials
먼저, 실행 컨텍스트를 바르게 이해하면더보기 자바스크립트가 스코프를 기반으로 식별자와 식별자에 바인딩된 값(식별자 바인딩)을 관리하는 방식호이스팅이 발생하는 이유클로저의 동작 방식태스크 큐와 함께 동작하는 이벤트 핸들러비동기 처리의 동작 방식을 이해할 수 있다. 1. 실행 컨텍스트란 ? 자바스크립트의 동작 원리를 담고 있는 핵심 개념으로서, 아래와 같은 특징을 갖는다. 실행 컨텍스트는자바스크립트 코드가 실행될 때, 해당 코드의 평가 및 실행에 필요한 환경 정보를 담는 객체이다.함수 호출 시마다 생성되며, 스코프 체인, 변수 환경, this 값 등을 포함한다.콜 스택에 쌓이며, 가장 위에 있는 컨텍스트만 실행된다. 2. 소스코드의 평가와 실행모든 소스코드는 실행에 앞서 평가 과정을 거치며 코드를 실행하기..
Flutter & Dart - The Complete Guide [2023 Edition]
·
Frontend/Flutter
플러터 강의 내용 정리 강의 - https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/?couponCode=D_0225노션 페이지로 이동 - https://jay-global.notion.site/Flutter-Dart-The-Complete-Guide-2023-Edition-a5a0710599504df59acb92d27c283294?pvs=4
Next.js 14 & React - The Complete Guide
·
Frontend/Next.js
유데미의 강의 Next.js 14 & React - The Complete Guide 를 학습한 내용으로 각 섹션마다 중요한 내용과 코드를 정리했습니다. 노션 페이지에서 확인하기-> https://jay-global.notion.site/Next-js-14-React-The-Complete-Guide-b0c0fdca34b14aae823f0b4d48d7e837
Observer pattern
·
Frontend/JS Patterns
With the observer pattern,we can subscribe certain objects, the observers, to another object, called the observable. Whenever an event occurs, the observable notifies all its observers! observers: an array of observers that will get notified whenever a specific event occursAn observable object usually contains 3 important parts: subscribe(): a method in order to add observers to the observers li..
Module pattern
·
Frontend/JS Patterns
The module pattern allows you to split up your code into smaller, reusable pieces.modules allow you to keep certain values within your file private. Declarations within a module are scoped (encapsulated) to that module , by default.// export exampleexport function add(x, y) { return x + y;}export function multiply(x) { return x * 2;}export function subtract(x, y) { return x - y;}export functi..