본문 바로가기
728x90
반응형
SMALL

분류 전체보기136

시간 복잡도와 공간 복잡도 동일한 기능을 수행하는 알고리즘이 있을 때 복잡도가 낮을수록 좋은 알고리즘이라고 한다. 복잡도는 알고리즘의 성능을 나타내는 척도다. 복잡도는 시간 복잡도와 공간 복잡도로 나눌 수 있다. 효율적인 알고리즘이란? 알고리즘이 수행을 시작하여 결과가 도출될 때까지 실행에 걸리는 시간이 짧고 연산하는 컴퓨터내의 메모리와 같은 자원을 덜 사용하는 것이 효율적이라고 할 수 있다. 1. 시간 복잡도(Time Complexity) 시간 복잡도란 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석, 알고리즘을 실행하여 종료할 때까지 걸리는 시간을 의미한다. 즉, 알고리즘을 위해 필요한 연산의 횟수를 말한다. Big-O(빅 오)표기법 시간 복잡도를 표기하는 방법 중에 가장 많이 사용하는 표기법은 Big-O(빅 오)표기법.. 2023. 1. 9.
React hooks (useRef) React hooks (useRef) const refContainer = useRef(initialValue); useRef는 .current 프로퍼티로 전달된 인자(initialValue)로 초기화된 변경 가능한 ref 객체를 반환한다. 반환된 객체는 컴포넌트의 전 생애주기를 통해 유지될 것이다. useRef는 언제 사용할까? 1. DOM 조작 useRef를 사용하여 DOM 요소를 참조하고 해당 요소를 직접 조작할 수 있다. 예를 들어, 입력 필드를 포커스하거나, 특정 요소의 스크롤 위치를 조정하거나, 또는 애니메이션을 제어하는 등의 작업을 수행할 수 있다. ex) 클릭 이벤트가 발생했을 때 특정 DOM 요소를 포커스 import { useRef } from 'react'; function Examp.. 2023. 1. 8.
React hooks (useCallback) useCallback도 useMemo와 비슷한 함수다. https://suzzeong.tistory.com/100 React Hooks (useMemo) useMemo는 메모이제이션된 값을 반환한다. 메모이제이션(memoization)은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제 suzzeong.tistory.com useMemo와 비슷하게 렌더링 성능을 최적화해야하는 상황에서 사용한다. useCallback을 사용하면 함수를 재사용할 수 있다는 장점이 있다. 예를 들어서, 컴포넌트 함수에 함수가 선언이 되어 있으면 함수는 컴포넌트가 렌더링될 때마다 새로운 함수를 생성하게 된다. 하지만, useCallback을 사용하면, 컴포.. 2023. 1. 8.
Commit message 커밋(Commit)은 프로젝트 시 파일의 변화가 있는 시점을 메시지와 함께 저장할 수 있는 기능이다. 커밋 메시지(Commit message)는 프로젝트를 효율적으로 관리하기 위해 작업단위를 구분할 수 있도록 도와준다. 커밋 메시지의 7가지 규칙 1. 제목과 본문을 빈 행으로 구분 2. 제목을 50글자 내로 제한 3. 제목 첫 글자는 대문자로 작성 4. 제목 끝에 마침표(.) 넣지 않기 5. 제목은 명령문으로 사용하며 과거형을 사용하지 않기 6. 본문의 각 행은 72글자 내로 제한 7. 어떻게 보다는 무엇과 왜를 설명하기 커밋 메시지 구조 [적용 범위(선택 사항)]: [본문(선택 사항)] [꼬리말(선택 사항)] 커밋 메시지 구성요소 (, 본문, 꼬리말) build: 시스템 또는 외부 종속성에 영향을 미치.. 2023. 1. 8.
React Hooks (useMemo) useMemo는 메모이제이션된 값을 반환한다. 메모이제이션(memoization)은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이다. useMemo를 사용하면 함수 컴포넌트 내부에서 발생하는 연산을 최적화할 수 있다. 렌더링하는 과정에서 특정 값이 바뀌었을 때만 연산을 실행하고, 원하는 값이 바뀌지 않았다면 이전에 연산했던 결과를 다시 사용하는 방식이다. const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); 첫번째 인수에는 어떻게 연산할지 정의하는 생성(create)함수, 두번째 인수에는 의존성 값의 배열을.. 2023. 1. 6.
호이스팅(Hoisting) (feat. var, let, const) 영어 사전에서 Hoist는 '들어(끌어)올리다'라는 의미를 가지고 있다. 그러면 자바스크립트에서 호이스팅이란 무엇을 의미할까? MDN에 의하면 JavaScript에서 호이스팅이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. 즉, 변수의 선언과 초기화를 분리한 후, 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 의미한다. var로 선언한 변수의 경우에는 호이스팅 시 undefined로 변수를 초기화 한다. 반면, let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않는다. let과 const로 선언한 변수도 호이스팅 대상이지만, var와 달리 호이스팅 시 undefined로 변수를 초기화하지 않는다. 따라서.. 2023. 1. 5.
728x90
반응형
LIST