🔗 연결 리스트 (Linked List)연결 리스트는 데이터를 노드(Node) 라는 단위로 저장하며, 각 노드가 다음 노드를 가리키는 포인터(Pointer 또는 참조) 를 통해 연결되는 선형 자료구조입니다. 배열과 달리 데이터들이 메모리 상에 연속적으로 위치하지 않아도 됩니다.핵심 개념노드 (Node): 데이터를 저장하는 부분(data 필드)과 다음 노드를 가리키는 주소(참조)를 저장하는 부분(next 필드)으로 구성됩니다.포인터 / 참조 (Pointer / Reference): 다음 노드의 메모리 주소를 가리키는 역할을 합니다. 연결 리스트의 핵심 요소입니다.헤드 (Head): 리스트의 가장 첫 번째 노드를 가리키는 포인터입니다. 헤드를 통해 리스트 전체에 접근할 수 있습니다. 리스트가 비어있으면 헤..
꾸준하게 하기
💾 배열 (Array)배열은 동일한 타입의 데이터들을 연속된 메모리 공간에 순서대로 저장하는 가장 기본적인 자료구조입니다. 각 데이터는 고유한 인덱스(Index) 를 가지며, 이 인덱스를 통해 해당 데이터에 직접 접근할 수 있습니다. 파이썬에서는 리스트(list)가 동적 배열의 역할을 수행합니다.특징동적 크기 (Dynamic Size): 파이썬의 list는 필요에 따라 크기가 자동으로 조절됩니다. 내부적으로는 크기가 부족할 때 더 큰 메모리 공간을 할당하고 기존 데이터를 복사하는 방식으로 동작합니다.인덱스 기반 접근 (Index-based Access): 각 요소는 0부터 시작하는 고유한 정수 인덱스를 가집니다. 이 인덱스를 사용하면 원하는 요소에 매우 빠르게 ([O(1)]) 접근할 수 있습니다.연속적..
JetBrains 단축키 정리 및 활용 가이드단축키를 잘 활용하면 작업 속도를 높이고, 반복 작업을 줄이며, 생산성을 극대화할 수 있습니다.그리고 사람들에게 이런 꿀팁이 있다고? 이런 이야기를 들을 수 있습니다.아래는 개발자들이 자주 사용하게 될 단축키를 정리해보고 단축키를 효과적으로 익히고 활용하는 방법에 대한 팁을 담았습니다.단축키 활용 팁자주 사용하는 기능부터 익히기모든 단축키를 외우려고 하면 금방 지칠 수 있습니다. 자주 사용하는 기능의 단축키부터 익히세요.예: 파일 검색(Ctrl + Shift + F), 코드 주석(Ctrl + /), 리팩토링(Shift + F6).IDE 플러그인 활용Key Promoter X 플러그인을 설치하면 마우스 클릭 시 대응되는 단축키를 알려줍니다. 이를 활용하면 단축키..
React 컴포넌트 생명주기 React 컴포넌트의 생명주기는 컴포넌트가 생성될 때부터 페이지에서 제거될 때까지의 과정을 말합니다. 이 과정에서 여러 생명주기 메서드가 호출되며, 개발자는 이 메서드들을 오버라이딩하여 특정 시점에 원하는 코드를 실행시킬 수 있습니다. 각 단계에서 호출되는 주요 메서드들을 아래 표에서 확인할 수 있습니다. 생명주기 단계 메서드 설명 마운팅 constructor() 컴포넌트를 새로 생성할 때마다 호출됩니다. 초기 상태 설정 및 메서드 바인딩에 사용됩니다. static getDerivedStateFromProps() 컴포넌트가 생성될 때와 업데이트될 때 props로부터 상태를 동기화하는 데 사용됩니다. render() 컴포넌트 UI를 렌더링하는 메서드입니다. componentDi..
Error Boundary React의 Error Boundary는 React 컴포넌트 트리 내에서 자식 컴포넌트의 JavaScript 에러를 잡아내고 처리하는 방법을 제공합니다. 컴포넌트 트리의 특정 부분이 예외적인 상황에서도 애플리케이션 나머지 부분의 정상적인 동작을 보장하기 위해 도입되었습니다. 생명주기 메서드(lifecycle methods) 또는 Hook을 통해 구현됩니다: static getDerivedStateFromError(error): 에러가 발생했을 때 호출되며, 이를 이용해 컴포넌트의 상태를 업데이트 할 수 있습니다. 주로 UI를 에러 상태로 전환하는 데 사용됩니다. componentDidCatch(error, info): 에러가 발생한 후에 호출되며, 에러에 대한 추가 로깅이나 오..
Hook Flow - useEffect useEffect 훅의 의존성 배열(Dependency Array)은 React 컴포넌트가 렌더링될 때 Side Effects을 언제 실행할지 결정하는 데 사용됩니다. useEffect는 주로 데이터 fetching, DOM 업데이트, 구독 설정 등의 작업을 수행하기 위해 사용되며, 의존성 배열을 통해 이러한 작업의 실행 조건을 정밀하게 제어할 수 있습니다. 동작 방식 useEffect => render 가 끝난 뒤 update시 => useEffect clean up / useEffect dependency가 있을 경우 => dependency가 변경될 때만 실행 클린업은 부모의 클린업이 먼저 실행된다. useeffect-클린업은 useeffect 이전에 실행된다..
많이 쓰는 용어 Vanilla JS 순수 자바스크립트를 의미함 특정 라이브러리나 프레임워크를 사용하지 않은 그 자체의 자바스크립트 JSX 문자도 HTML도 아닌 JavaScript의 확장 문법 const element = Hello, world!; Babeljs.io JavaScript Complier 컴파일러: 언어 해석기, 특정 언어를 다른 프로그래밍 언어로 옮기는 프로그램 스프레드 연산자 const customH1 = {props.text}; // 스프레드 연산자 // const customH1 = {props.text}; ReactDOM.render(customH1, rootElement); re-render 바닐라 JS => 변경으로 인해 Element를 다시 그림 React => Virtual..

Anoconda 환경 파이썬 버전 변경하기 안녕하세요! 오늘은 Anaconda 환경에서 파이썬버전을 변경하는 방법 소개하겠습니다. 썸내일은 AI에게 귀여운 고양이를 뽑고자하는 의지에서 나오는 친구들입니다. 아나콘다 (Anaconda)란? by ChatGPT 간단하게 GPT를 이용한 설명을 가져와 볼깨요 아나콘다(Anaconda)는 데이터 과학 및 기계 학습 프로젝트를 위한 오픈 소스 배포판 및 패키지 관리자입니다. 아나콘다는 파이썬을 기반으로 하는 다양한 패키지와 도구들을 번들로 제공하여 데이터 과학자, 엔지니어, 연구원 등이 효율적으로 작업할 수 있도록 지원합니다. 아나콘다의 주요 특징은 다음과 같습니다: 패키지 관리자 (Conda): 아나콘다에는 Conda라는 강력한 패키지 관리자가 내장되어 있습니다..