[Data Structure] 자료구조에서 클래스란?

July 07, 2024

클래스로 만드는 객체형 자료구조 클래스는 객체 지향 프로그래밍(OOP)에서 사용되는 중요한 개념이다. 클래스는 객체를 생성하기 위한 템플릿으로 객체의 속성과 메소드를 정의한다. JavaScript에서 클래스는 ES6부터 도입되었으며 객체의 생성과 관리를 보다 구조화된 방식으로 제공한다. 용어 정리 클래스 (Class): 객체를 만드는 템플릿 인스턴스 (I…

디버깅 환경 : 디버거의 Breakpoint를 활용한 문제 해결

June 27, 2024

Chrome DevTools 디버깅 도구 Source 탭 활용하기 Chrome DevTools의 Network 탭이 데이터를 분석하고 오류의 원인을 찾기 위해 사용되었다면 Source 탭은 실제 코드를 확인하면서 디버깅하는 데 사용된다. 이때, breakpoint라는 기능을 사용하는데 이는 코드의 특정 지점에서 실행을 멈추고 상태를 점검할 수 있도록 도와…

디버깅 환경 : Chrome DevTools로 에러 발생 원인 파악하기

June 26, 2024

디버깅이란? (Debugging) 디버깅은 코드가 예상대로 동작하지 않을 때 오류가 나는 부분을 찾아 원인을 파악하고 해결하는 전체적인 과정을 뜻한다. 디버깅하는 방법 는 대표적인 디버깅 방법이다. console.log()로 코드의 동작을 확인하고 데이터 흐름을 추적할 수 있다. 하지만 무분별한 console.log()의 사용은 코드의 가독성을 떨어트리…

협업을 위한 프로젝트 설정 - husky + lint-staged

May 21, 2024

1. lint-staged : 에러 판독기 git에서 staged된 상태 파일들에 한해 lint를 실행하여 커밋 전에 코드 스타일을 검사하고 수정하는 도구 협업 환경에서는 모든 개발자가 일관된 코드 품질을 유지하는 것이 중요하다. 하지만 개발 환경이 모두 다르기때문에 코드 스타일 규칙이 지켜지지 않는 경우가 종종 발생한다. 이러한 문제를 해결하기 위해 l…

협업을 위한 프로젝트 설정 - Prettier

May 12, 2024

prettier Prettier는 코드를 정해진 스타일로 교정해주는 도구이다. 주로 ESLint와 함께 사용되며 ESLint를 통해 에러를 최소화하여 코드 품질을 높이고 prettier를 통해 코드 스타일을 자동 포맷팅하여 코드의 가독성과 일관성을 높인다. prettier 설치 prettier config 추가 파일을 생성하고 다음과 같은 규칙을 추가한…

협업을 위한 프로젝트 설정 - ESLint

May 10, 2024

ESLint ESLint는 JavaScript/Typescript 코드에서 문법 오류를 검사하고 코드 최적화를 도와주는 도구이다. ESLint를 사용하면 코드 품질을 높이고 일관된 코드를 작성할 수 있어 협업 환경에서 주로 사용된다. Lint란? 소스코드를 분석하여 문법적인 오류나 스타일적인 오류, 적절하지 않은 구조 등에 표시를 달아주는 행위. ESL…

[Data Structure] List - Linked List

February 22, 2024

Linked List Linked List는 Node라는 구조체가 연결되는 형식으로 데이터를 저장하는 자료구조이다. 여기서 Node는 자료구조에서 정보를 저장하는 기본 단위를 뜻한다. Linked List에서 노드는 Node는 두 부분으로 구성되어 있는데 실제 데이터 값을 저장하는 부분과 다음 Node의 주소를 저장하는 포인터로 이루어져 있다. Linke…

[Data Structure] List - Array & Dynamic Array

February 16, 2024

리스트 (List) List는 sequence라고도 불리며 "순서"를 가지고 원소를 저장하는 자료구조이다. List 구현은 크게 2가지로 나뉘는데 Array List와 Linked List가 있다. python에서 사용하는 자료구조는 Array List 형태이다. Array List Array List는 말 그대로 배열을 기반으로 만들어진 자료구조이다.…

[Data Structure] 메모리 구조와 Node의 주소값

January 21, 2024

메모리 구조란? 메모리는 데이터를 저장하는 공간으로, 프로그램의 성능을 최적화하기 위해 메모리 구조를 잘 이해하고 적절한 자료구조를 사용하는 것이 중요하다. 메모리: 데이터를 저장하는 곳으로, 전기신호를 0과 1로 저장하는 트랜지스터로 이루어져 있다. RAM 메모리: 휘발성 메모리로, 0과 1로 이루어진 이진수(bit)를 저장한다. 메모리 단위와 자료형 …

[Data Structure] 시간 복잡도와 Big-O 표기법

January 10, 2024

시간 복잡도란? 시간 복잡도는 알고리즘이 처리하는 입력 크기 n에 따라 소요되는 시간을 "Big-O 표기법"으로 나타낸 것이다. 이를 통해 알고리즘의 성능을 분석하고 비교할 수 있으며, 특히 대용량 데이터를 다룰 때 어떤 알고리즘이 더 효율적인지 판단하는 데 중요한 기준이 된다. 시간 복잡도 cases Best Case: 가장 이상적인 입력의 시간 복잡도…