[챗지피티와 공부를 해보자] 02. 이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관 자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업은 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 개념은 '콜스택, 태스트..
자바스크립트에서 함수가 선언된 렉시컬 스코프를 기억하고, 그 스코프 밖에서도 해당 스코프에 접근할 수 있는 함수(개념)를 말한다. 함수와 그 함수가 선언된 환경을 함께 묶은 개념으로 내부 함수가 외부 함수의 변수에 접근하거나 저장된 값을 유지할 수 있는 특성을 제공한다. 주요 특징 간단히 요약1. 변수 접근: 내부 함수가 외부 함수의 변수에 접근할 수 있다.2. 변수 유지: 외부 함수 실행이 종료되어도 내부 함수는 외부 함수의 변수를 참조한다.3. 데이터 은닉: 클로저를 사용하여 데이터를 외부에서 직접 접근할 수 없도록 보호할 수 있다. 예시function 외부함수(외부매개변수) { return function 내부함수(내부매개변수) { console.log(`외부함수: ${외부매개..
클린코드 - 03. 함수 어떤 프로그램이든 가장 기본적인 단위가 함수이다. 우리는 어떤 함수를 읽었을때 프로그램 내부를 직관적으로 파악할 수 있을까? 작게 만들어라 블록과 들여쓰기 중첩 구조가 생길 만큼 함수가 커지면 안된다. (if else문 등 주의하여 쓰자) 블록 안에서 호출하는 함수 이름을 적절히 짓는다면 코드를 이해하기 쉽다. 한가지만 해라 예시: 1. 페이지가 테스트 페이지인지 판단 => 2. 설정 페이지와 해제 페이지를 넣는다 => 3. 페이지를 HTML로 렌더링한다. 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한가지 작업을 한다고 할 수 있다. 더이상 줄이기가 불가능 하며 if, else를 따로 뺀다고 해도 다른 표현일 뿐 추상화 수준이 바뀌지 않는다. 함수 당 추상화 수준은 하나로..
클린코드 - 02. 의미있는 이름 의도를 분명히 밝혀라 변수(혹은 함수나 클래스) 존재이유? 수행기능? 사용방법? 이 모든 것을 답하기 위해 주석이 필요하다면 의도를 분명히 드러내지 못했다는 뜻. 그릇된 정보를 피하라 그릇된 단서는 코드의 의미를 흐린다 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다 실제 컨테이너가 List가 아닐 경우 List로 명명하면 그릇된 정보를 제공하므로 이렇게 명명하지 않는다 실제 List여도 컨테이너 유형의 이름에 넣지 않는 것이 바람직하다 유사한 개념은 유사한 표기법을 사용한다 이름만 보고 정보를 추측하기 때문에 일관성이 떨어지는 표기법은 그릇된 정보다 연관성이 없는 것에 대해 비슷한 단어를 사용했을 경우 연관이 있다고 생각하는 오류를 범하기 때문에 ..
- Total
- Today
- Yesterday
- 코딩애플
- 프론트엔드
- html
- 차이
- 뷰
- frontend
- Article
- 공부
- VUE
- 제이쿼리
- 브라우저
- 통신
- 기초
- 타입스크립트
- React
- TypeScript
- 리액트
- JavaScript
- jQuery
- 메서드
- 아티클
- 자바스크립트
- 제로초
- JS
- Method
- Study
- 강의
- vue.js
- 프로젝트
- css
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |