전체 글(394)
-
Object Detection 도전
1. Visual Studio Code 안에 WSL 개발 환경 만들기 https://velog.io/@2hey9/Django-Visual-Studio-Code-%EC%95%88%EC%97%90-WSL-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EB%A7%8C%EB%93%A4%EA%B8%B02. Linux : Ubuntu 20.04 : Python Pip 설치 방법, 예제, 명령어 https://jjeongil.tistory.com/19473. pip install ultralytics -> 에러 발생 ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the pa..
2025.02.20 -
B+ Tree Index
table index: 테이블 속성을 사용하여 효율적으로 액세스 할 수 있도록 구성.각 쿼리를 실행하는 데 사용할 최적의 인덱스를 찾는 것이 DBMS의 작업이다. B+ Tree: 데이터가 정렬된 상태를 유지하고 검색, 순차적 액세스, 삽입 및 삭제를 항상 O(log n) 시간으로 가능-> 대용량 데이터 블록을 읽고 쓰는 시스템에 최적화 -> 모든 리프 노드가 트리의 동일한 깊이에 있다-> 루트 이외의 모든 노드는 최소한 절반은 차있다.-> k개의 키를 가진 모든 내부 노드는 k+1개의 null이 아닌 자식을 가진다 노드모든 B+Tree 노드는 키/값 쌍의 배열로 구성키는 인덱스의 기반이 되는 속성에서 파생값은 노드가 내부 노드로 분류되는지 아니면 리프 노드로 분류되는지에 따라 달라진다.배열은 (일반..
2024.06.11 -
가진 돈을 몽땅 써라 - 호리에 다카후미
1. 리스크 때문에 멈칫거리는 사람은 성공할 수 없다.바로 뛰어드는 실행력을 가져야 성공한다.생각이 떠오르면 바로 행동으로 옮겨라.성공을 경험하고 싶다면 시간을 투자해 계속 도전해야 한다.실패의 위험도 감수해야 한다. 2. 무엇을 하고 싶은가.어디에 가고 싶은가.무엇을 좋아하는가.이런 걸 끊임없이 자신에게 묻고 이를 위해 필요한 실천을 대담하게 반복해 가라. 3. 재미있는 일을 닥치는 대로 하다 보면 하고 싶은 일이 늘어난다.뭐든 해봐야 재미가 있는지 없는지도 알 것 아닌가?아주 사소하더라도 닥치는대로 하다보면 한두 가 진느 성공한다.성공을 맛보면 그 일 자체가 즐거워지고 없던 의욕도 다시 생겨난다. 4. 내가 과연 할 수 있을까?라는 걱정은 하지 마라.머릿속에는' 한다!'라는 생각만 하자.가능한 이유만..
2024.06.03 -
Hash Tables
쿼리 실행 엔진을 지원하기 위해DBMS가 어떻게 페이지에서 데이터를 읽고 쓸까?두 가지 유형의 데이터 구조가 있다. 1. 해시 테이블2. 트리 테이블 설계에서 고려해야 할 두 가지1. Data Organization메모리/페이지에서 데이터 구조를 어떻게 배치할 것인지효율적인 액세스를 지원하기 위해 어떤 정보를 저장할 것인지 2. Concurrency(동시성)어떻게 다중 스레드가 데이터 구조에 동시에 접근할 수 있게 할 것인지 Hash Table공간 복잡도: O(n)시간 복잡도: 평균 O(1), 최악 O(n)-> 데이터베이스는 상수 시간도 신경 써야 한다.-> 최악의 경우를 방지하는 해싱 기법이 필요하다. Static Hash Table 저장할 모든 요소에 대해 하나의 슬롯을 할당하는 거대한 배열을 할..
2024.05.15 -
7. Storage (1)
DBMS는 데이터베이스의 주요 저장소를 비휘발성 저장소인 디스크에 두고 있다.디스크에서 필요한 정보만 휘발성 저장소인 램으로 이동시켜 사용한다. 저장소 계층 구조 Random Access는 Sequential Access보다 대부분 훨씬 느리기 때문에DBMS는 순차적 접근법을 최대화하려 함.알고리즘은 데이터가 연속된 블록에 저장되도록무작위 페이지에 대한 쓰기 횟수를 줄이려고 함여러 페이지를 동시에 할당하는 것을 extent라 한다 DBMS의 설계 목표메모리를 초과하는 데이터베이스를 관리할 수 있게 하고디스크 읽기/쓰기의 비용을 줄이며random access보다 sequential access를 최대화하는 것. 운영체제의 메모리 매핑(mmap)을 사용하면 파일 내용을 프로그램의 주소 공간에 저장할..
2024.05.01 -
6. Normalization
좋은 설계 방법은1. 중복을 피해야 하고2. null값을 피해야 한다. 1. 중복을 피하기 위해선 -> 두 스키마로 Decomposition(분해) 하면 된다. 그러나 분해할 때 정보의 손실이 일어나서는 안된다. (Lossy decomposition)분해한 테이블을 합쳤을 때 원본과 같아야 한다. 식으로 쓴다면 정규화하는 이유1. 삽입 이상2. 갱신 이상3. 삭제 이상위 3가지를 피하기 위함. 1차 정규화(1NF): 모든 속성들이 원자값을 가지도록 분해-> 원자값: 더 이상 분해되지 않는 속성값을 가짐. 예) Functional Dependencies(함수 종속성) 1. 정의:함수 종속성 X->Y는 릴레이션 R에서 튜플들이 X속성값이 같다면 Y속성값도 반드시 같다는 것을 의미.즉, X값에 의..
2024.04.16