본문 바로가기

CS48

[React 및 JS] 리액트 및 JS 정보와 활용법 렌더링 컴포넌트가 현재 내부 컴포넌트의 상태에 기초해 UI를 어떻게 구성할지 컴포넌트에게 작업을 요청하는 것이다. 기본적인 리액트의 렌더링은 루트() DOM 부터 시작해 모든 컴포넌트를 찾아서 렌더링을 진행하는 것을 뜻한다. 리렌더링 리액트에선 초기에 한 번 렌더링을 진행하고, 그 이후에 특정 조건이 발생하면 다시 렌더링을 진행하는 것을 리렌더링 이라고 한다. 컴포넌트가 리렌더링되는 조건은 아래 4가지가 있다. 내부 상태(state) 변경 시 부모에게 전달받은 값(props) 변경 시 중앙 상태값(Context Value 또는 redux store) 변경 시 부모 컴포넌트가 리렌더링 될 때 리렌더링 과정 위의 조건을 통해 컴포넌트 리렌더링 구현부 실행 = props 취득, hook 실행, 내부 변수 및 .. 2023. 11. 5.
[GIT] GIT BASH로 SSH 연결 후 프로젝트 PUSH 예전에는 프로젝트를 github에 push 할 때 아무것도 모르고 https url로만 push를 진행하였다. 이제는 안전한 SSH(Secure Shell) url을 통해 push 하는 법을 배워보려 한다. SSH Secure Shell의 약자로, 보안이 강화된 원격 접속 방법이다. private 키와 public키를 활용해 사용하는 기기를 인증하는 방법이다. 1. GIT 설치 아래 링크로 가서 각 OS에 맞는 프로그램을 다운받고 설치한다. https://git-scm.com/downloads 2. 로컬 컴퓨터에 SSH 키 생성 GIT BASH를 실행하고 아래 순서에 따른다. cd ~ // 1. 홈 디렉토리로 이동 ssh-keygen // 2. ssh 키를 생성한다 // 이후 엔터를 2번 치라고 나오는데.. 2023. 10. 31.
[알고리즘 이론] 15. 펜윅트리 펜윅트리 세그먼트 트리의 가장 흔한 사용 예는 바로 구간 합을 빠르게 구하는 것이다. 이 경우 세그먼트 트리 대신 쓸 수 있는 세그먼트 트리의 진화 형태로 펜윅트리(Fenwick Tree) 혹은 이진 인덱스 트리(Binary Indexed Tree) 라고 불린다. 구간 합 대신 부분 합만을 빠르게 계산할 수 있는 자료구조로 만들어도 구간 합을 계산할 수 있다. 세그먼트 트리는 아래 게시글 참조 https://velog.io/@kimdukbae/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%8A%B8-%ED%8A%B8%EB%A6%AC-Segment-Tree 필요없는 구간 지우기 tree 배열은 오른쪽 끝 위치가 arr인 구간의 합이.. 2023. 5. 9.
[알고리즘 이론] 14. 최단거리 최단 거리 그래프 최단 거리 구하는 알고리즘이다. 1. 다익스트라 알고리즘 그래프의 최단 경로 구하는 알고리즘. 하나의 정점에서 출발하는 최단 거리를 구함(출발지만 정함) 음수 가중치 없어야 함 인접 행렬로 표현된 그래프의 경우 시간 복잡도 : O(n^2) 우선순위 큐를 사용하여 시간 복잡도를 O(mlogn)까지 낮출 수 있다 -> 개선된 다익스트라 알고리즘 탐욕법과 동적 계획법 사용 원리 자세한 원리는 아래 게시글 참조 https://velog.io/@suk13574/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98Java%EB%8B%A4%EC%9D%B5%EC%8A%A4%ED%8A%B8%EB%9D%BCDijkstra-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 알고.. 2023. 5. 9.