분류 전체보기

    [Algorithm] 그래프 탐색 - DFS & BFS

    그래프 탐색 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것 DFS (Depth First Search: 깊이우선탐색) 스택 사용 특정 노드에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 모든 노드를 방문하고자 하는 경우에 이 방법을 선택 깊이 우선 탐색이 너비 우선 탐색보다 좀 더 간단하다 검색 속도 자체는 너비 우선 탐색(BFS)보다 느리다 순환 알고리즘(재귀 함수) 형태를 가지고 있다 어떤 노드를 방문했었는지 여부를 반드시 검사해야 한다 이 과정을 생략하면 무한루프에 빠질 수 있다 정점의 수: N, 간선의 수: E인 경우 시간 복잡도 인접 리스트로 표현된 그래프 : O(E+N) 인접 행렬로 표현된 그래프 : O(N^2) BFS (Breadth F..

    [회고] 모아도 개인회고

    모아도 프로젝트가 끝났다. 이것으로 UMC 2기 활동이 종료 되었다. 처음 프로젝트를 신청할 때, 가장 관심이 가던 프로젝트 였다. 교통약자를 위한 지도를 만든다는 아이디어를 통해 "내가 가진 지식으로 세상을 더 편리하고 재미있게 만들자"는 나의 목표에 다가갈 수 있을 것 같아 지원하게 되었다. 함께 배우고자 하는 열정있는 팀원들과 그런 팀원들을 이끌었던 기획자, 사용자들이 더 쉽게 사용할 수 있도록 UI 배치 등에 많은 신경을 썼던 디자이너와 한 팀을 이루고 프로젝트를 진행한 것은 정말 좋은 기회였다. 기획부터 디자인, 개발과 함께 실제 플레이스토어 런칭까지 해볼 수 있었다. 사용자들이 실제로 다운받아 사용하는지는 알 수 없지만, 누군가는 필요에 의해 교통약자를 위한 지도를 찾게 될 것이고, 이 어플이..

    WSL + VSCode Git 변경사항 감지 불가 및 속도 저하

    WSL을 윈도우에 설치해서 사용하던 중 문제점이 발생했다. 1. WSL을 이용해 VSCode를 열고 파일을 수정할 때, 파일의 변경을 감지하지 못한다는 것 2. WSL을 이용해 VSCode를 열고 node 프로젝트를 npm 명령을 통해 실행시키는 경우, 시작시간이 매우 길어지는 것 3. 프로젝트를 실행시키면 CPU를 엄청 잡아먹는 프로세스가 작동하는 것 1. 파일 변경 감지 불가 파일의 변경을 감지하지 못하는 경우가 발생했다. 해결 방법은 프로젝트 디렉토리의 위치를 WSL에 설치한 리눅스 사용자의 디렉토리로 수정하는 것이다. 예를 들어, 윈도우 사용자 admin과 WSL에 설치한 Ubuntu의 사용자 hbsps가 있다고 가정하자. 현재 프로젝트 폴더는 admin의 바탕화면에 있다. (단순하게 우리가 사용..

    11. 타입스크립트(TypeScript) - Polymorphism + Generic + Class + interface

    다형성은 다른 모양의 코드를 가질 수 있게 해주는 것 다형성을 이룰 수 있는 방법은 Generic을 사용하는 것 Generic은 Placeholder 타입을 쓸 수 있도록 해준다 (Concrete type이 아니라 Placeholder type) 같은 코드를 다른 타입에 대해서 쓸 수 있도록 해준다 → 다른 타입에게 물려줄 수 있다 예제 - 브라우저에서 쓰는 로컬 스토리지 만들기 interface SStorage { [key: string]: T } class LocalStorage { private storage: SStorage = {} set(key: string, value: T) { this.storage[key] = value; } remove(key: string) { delete this...