자바스크립트 23

[JS] Reflow와 Repaint

웹 성능 최적화에서 중요한 개념 중 하나가 바로 Reflow(리플로우)와 Repaint(리페인트)입니다. 이 두 가지는 브라우저가 화면에 콘텐츠를 렌더링 하는 과정에서 발생하며, 잘못된 코딩 습관은 Reflow와 Repaint를 빈번하게 발생시켜 성능 저하로 이어질 수 있습니다.  목차 1. 브라우저 렌더링 과정 2. Reflow란? 3. Repaint란? 4. Reflow와 Repaint의 상호작용 5. Reflow와 Repaint 최소화 - 성능 최적화추천글위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 1. 브라우저 렌더링 과정Reflow와 Repaint를 알기 위해서는 우선 브라우저 렌더링 과정을 알아야 합니다.HTML 파일을 파싱해 DOM 트리를 생성합니다.CSS 파일을 파싱해 CSSOM 트..

[JS] 이벤트 루프(Event Loop)란?

자바스크립트는 단일 스레드 기반 언어로 한 번에 하나의 작업만 처리할 수 있습니다. 하지만 비동기 작업을 지원하며 동시에 여러 작업이 진행되는 것처럼 보이게 합니다. 이러한 비동기 처리를 가능하게 하는 핵심 메커니즘이 바로 이벤트 루프(Event Loop)입니다.  목차 1. 싱글 스레드란? 2. 블로킹 & 논블로킹 3. 이벤트 루프의 필요성 4. 마이크로 태스크와 매크로 태스크추천글위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 1. 싱글 스레드란?스레드는 프로세스의 실행 단위입니다. 싱글 스레드라는 것은 말 그대로 스레드가 하나만 존재해 한번에 하나의 프로세스만 실행할 수 있다는 의미입니다.자바스크립트는 싱글 스레드 언어로 하나의 호출 스택(Call Stack)을 사용해 코드를 실행합니다. 호출 ..

[프로그래머스] 소수 찾기 (LV1 - JavaScript)

1. 문제1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.)제한사항 n은 2이상 1000000이하의 자연수입니다.입출력 예nresult10453 입출력 예 설명입출력 예 #11부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환입출력 예 #21부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 2. 오답풀이 전략소수는 1과 자신만을 약수로 갖는 특징 사용약수의 대칭성을 이용해 반복 횟수 줄이기function solution(n) { let primeCount = 0; let i = 2; while(i 테스트 케이스는 모두 통..

[프로그래머스] 과일 장수 (LV1 - JavaScript)

https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m 개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 ..

[프로그래머스] 모의고사 (LV1 - JavaScript)

https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 ..

[프로그래머스] 소수 만들기 (LV1 - JavaScript)

https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.nums의 각 원소는 1 이상 1,..

[프로그래머스] 기사단원의 무기 (LV1 - Javascript)

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다.각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니..

코딩 테스트 2024.09.25

[JS] Axios 오류 처리

Axios를 사용한 API 요청에서 발생할 수 있는 다양한 오류를 처리하는 방법은 매우 중요합니다. 서버나 네트워크 문제로 인해 API 요청이 실패할 수 있으며, 이러한 오류를 적절히 처리하면 사용자 경험을 개선하고 문제를 디버깅하는 데 도움이 됩니다. 이번 글에서는 Axios의 오류 처리 방식과 일반적인 방법을 소개하겠습니다.   Axios의 오류 처리목차 1. 기본 오류 처리 2. 오류 객체 3. HTTP 상태 코드에 따른 오류 처리 4. 타임아웃 처리마무리추천글 기본 오류 처리 Axios는 Promise 기반이기 때문에, 오류는 주로 .catch() 블록에서 처리됩니다. 요청이 실패하면 .catch() 블록이 실행되어 오류에 대한 정보를 처리할 수 있습니다.axios.get('https://json..

[JS] Javascript에서 Axios 사용하기

Axios는 Promise 기반의 HTTP 클라이언트로, 웹 브라우저와 Node.js를 위한 HTTP 비동기(작성된 순서대로 실행되지 않는 처리) 통신 라이브러리입니다. 특히, REST API 요청을 간편하게 처리할 수 있도록 다양한 기능을 제공해 많은 개발자들이 선호하는 라이브러리입니다. 이번 포스팅에서는 Axios의 특징과 이를 사용한 API 요청 방법을 알아보겠습니다.   JavaScript에서 Axios를 사용한 API 요청 방법 목차 1. Axios 설치 2. Axios 특징 3. Axios로 API 요청하기 4. Axios 인스턴스마무리추천글 Axios 설치npm을 통한 설치npm install axiosyarn을 통한 설치yarn add axioscdn을 통한 설치// jsdelivr// u..

[JS] 자바스크립트 비동기 - Promise

JavaScript에서 비동기 작업을 처리할 때 가장 강력하고 직관적인 도구 중 하나가 Promise입니다. 과거에는 콜백(callback) 방식으로 비동기 처리를 많이 했지만, 콜백 헬(callback hell) 문제로 인해 코드가 복잡해지는 단점이 있었습니다. Promise는 이런 문제를 해결하기 위해 등장한 개념으로, 비동기 작업을 더욱 쉽게 처리할 수 있게 해 줍니다.    자바스크립트의 비동기 Promise: 이해와 활용  목차   1. Promise란? 2. Promise 사용법 3. Promise 체이닝(Chaining) 4. Promise 병렬 처리 5. async와 await 6. 오류 처리(try / catch / finally)마무리추천글 Promise란?Promise는 "미래에 완..