일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 정렬
- java
- array
- 알고리즘
- 코딩
- NestJS
- 카카오
- 삼성소프트웨어아카데미
- 자바
- 중간 평균값 구하기
- mybatis
- AtoZ0403
- 자바스크립트
- 삼성
- javascript
- 배열
- 인프런
- spring
- 코테
- 스텍
- 코테준비
- 그리디알고리즘
- js
- SWEA
- 코딩테스트
- 콜백지옥
- stack
- 자료구조
- 백준
- Today
- Total
목록프론트엔드/JAVASCRIPT (12)
개발에 AtoZ까지
안녕하세요 😀 한동안 웹 최적화에 대해서 관심이 있었는데 그 분야와 연관성이 있는 defer와 async에 대해서 알아보겠습니다. 글은 크게 아래와 같은 소주제로 진행하겠습니다. JS는 언제 다운로드 받을까? defer / async 의 정의와 어떤 차이가 있을까? 각 속성을 적절하게 사용하는 방법은 뭘까? 마무리 JS는 언제 다운로드 받을까? 일전에 브라우저 렌더링 하는 과정에 대해서 공유해 드린 적이 있는데 그 부분에서 HTML이나 CSS에 대해서는 언급이 있었지만, JS에 대한 언급은 없었습니다. 그래서 JS는 언제 다운로드 받고 어떻게 적용되는지 궁금하실 수도 있을거 같아요. 보통 HTML을 다운로드 받고 HTML에서 import 한 JS를 다운로드 받습니다. 그런데 JS는 항상 같은 순서로 다운..
근래에 웹 최적화에 관해 관심을 가지면서 Reflow와 Repaint에 대해서 다시 한번 짚고 넘어가 보려고 합니다. 혹시나 브라우저 렌더링에 대해 상기하고 싶으신 분이 있다면 이전 글을 보고 오시는 것을 추천합니다. 이 글은 아래와 같은 목차로 진행하겠습니다. 1. Reflow가 뭘까? 2. Repaint는 뭘까? 3. 둘의 차이점은 뭘까? 4. 최적화 관점에서 어떻게 해야 할까? 5. 마무리 Reflow가 뭘까? Reflow란 HTML 파일을 불러와 Parsing을 통해 Render Tree를 형성하게 되는데, 어떠한 액션이나 이벤트로 인해 Dom의 크기나 위치 등의 값이 변경되어 Layout 과정을 다시 수행하게 됩니다. 이렇게 다시 수행되는 과정을 통틀어서 Reflow라고 합니다. 말로 하면 감이..
우리가 흔히 알고 있는 chrome, safari, opera 같은 브라우저는 어떻게 렌더링이 되는 걸까?라는 의문에서 시작해서 이 글을 쓰게 됐다. 이 글은 크게 아래와 같은 순서로 진행됩니다. 브라우저란 뭘까? 브라우저의 구조는 어떻게 될까? 브라우저마다 렌더링 엔진은 다를까? 브라우저가 어떻게 렌더링 되는 걸까? 마무리 브라우저란 뭘까? 가끔 이런 경험을 해본 적이 있을 것이다. pdf를 받아서 chrome으로 열기를 누르면 해당 파일이 열린 적이 있을 것이다. 단순히 웹서핑할 때만 브라우저를 이용했던 분은 의아했을 것이다. 하지만 정확히 브라우저의 주요 기능을 알게 되면 왜 브라우저를 통해 pdf 파일을 열수 있는지 이해될 것이다. 브라우저는 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시..
목차 - 함수 호출 - Tagged Templtes식 호출 함수 호출 일반적인 함수호출 const multiple = (a,b) => { return a*b; } console.log(multiple()); Tagged Templates식 호출 태그를 사용하여 템플릿 리터럴(Template Literal)을 함수로 파싱할 수 있습니다. ✏️ 템플릿 리터럴(Template Literal)이란? 더보기 내장된 표현식을 허용하는 문자열 리터럴로 표현식 / 문자열 삽입, 여러 줄 문자열, 문자열 형식화, 문자열 태깅등 다양한 기능을 제공합니다. 이렇게 템플릿 리터럴을 사용해서 표현하면 런타임 시점에서 일반 JS 문자열로 처리 및 변화되어 동작합니다. const num1 = 2; const num2 = 3; co..
◆목표 DOM 객체 생성 DOM 객체 읽기 DOM 객체 수정 DOM 객체 삭제 1. DOM 객체 생성 메서드명 설명 document.createElement(태그명) HTML 요소 생성하기 document.appendChild(요소명) HTML 요소 추가하기 2. DOM 객체 읽기(찾기) 메서드 설명 document.getElementById(아이디명) id로 찾기 document.getElementsByTagName(태그명) 태그로 찾기(배열로 리턴, 복수) document.getElementsByClassName(클래스명) class 이름으로 찾기(배열로 리턴, 복수) document.querySelector(css명) css Selector로 찾기(첫번째 요소만 선택됨) document.queryS..
◆목표 DOM의 정의 웹브라우저 동작과정 BOM의 정의 1. DOM(Document Object Model)의 정의 -구조화된 문서(Document)를 객체로 표현하는 방식 2. 웹브라우저 동작 과정 1) HTML 파일을 웹서버로 부터 가져옴 2) 가져온 HTML 파일을 파싱(Parsing) 하여 Dom Tree 생성, Css 정보를 파싱(Parsing)하여 Cssom Tree 생성 3) 파싱한 Dom Tree와 Cssom Tree를 기반으로 Render Tree를 생성 4) 생성한 Render Tree로 Rendering을 하고 그것으로 사용자에게 페이지를 보여줌 Tip) 자바스크립트 선언 위치 - HTML 코드를 기반으로 DOM 트리를 구성하기 때문에 DOM 트리를 구성하기 전에 자바 스크립트로 HT..
◆목표 동기/비동기 정의 비동기 처리 사용되는 곳 비동기 처리 사용법(SetTimeout) 비동기 처리의 문제점 및 해결방안 1. 동기 / 비동기 처리의 정의 - 동기적 처리 요청을 보낸 후, 해당 요청의 응답이 올 때까지 다른 작업을 하지 못하는 방식 즉, 코드 한줄 실행이 완료되어야지만 다음 줄 실행이 가능하다는 뜻 - 비동기적 처리 요청을 보낸 후, 해당 요청의 응답과 상관없이 다른 작업을 하는 방식 즉, 코드 한줄 실행 후 결과와 상관없이 다음 줄 실행한다는 뜻 2. 비동기 처리 사용되는 곳 - 보통 오래걸리는 기능들은 비동기적 방식으로 처리함 Rest API 요청 파일/데이터베이스 처리 타이머, 암호화/복호 화등 3. 비동기 처리 사용법(setTimeout) 1) setTimeOut() - 사용..
◆목표 Scope 정의 Scope 종류 및 특징 Block Scope 예시 Var 키워드와 Block Scope 결합 시 영향력 1. Scope 정의 - 자바스크립트 변수 또는 함수 선언시, 해당 변수 또는 함수가 유효한 범위를 의미함 2. Scope 종류 및 특징 - Global(전역) Scope : 코드 전체 범위 - Function(함수) Scope : 함수 내에서의 범위 - Block(블록) Scope : {} 괄호로 이루어진 블록 내에서의 범위 Tip) 일반적인 프로그래밍 언어에서는 전역,함수로 나눠지는데 자바스크립트에서 블록 scope가 추가되어 다른 언어와 상이함 3. Block Scope 예시 - let과 const로 선언된 변수는 블록 안에서 선언이 되었다면, 블록 밖에서는 유효하지 않음..