본문 바로가기

TIL24

ERD 알아보기 ERD(개체-관계 다이어그램)란ERD는 데이터베이스 설계 시 데이터들이 어떻게 구성되고 서로 어떤 관계를 맺는지 시각적으로 나타내 주는 도구입니다. 이 다이어그램을 통해 데이터베이스에 저장될 데이터와 그 데이터들 간의 관계를 한눈에 파악할 수 있어, 실제 데이터베이스를 구축하기 전에 전체 구조를 설계하고 조정할 수 있습니다.주요 구성 요소1. 엔티티 (Entity)정의: 데이터베이스에 저장할 주요 객체를 의미합니다.예시: 고객, 주문, 상품 등표현 방법: 보통 사각형 모양으로 표시합니다.2. 속성 (Attribute)정의: 엔티티가 가지는 세부 정보를 뜻합니다.예시: 고객 엔티티의 경우, 이름, 주소, 전화번호 등표현 방법: 일반적으로 타원이나 둥근 사각형으로 나타냅니다.3. 관계 (Relationshi.. 2025. 2. 7.
[알고리즘] 시간 복잡도, 공간 복잡도 알고리즘 효율성 : 시간 복잡도 및 공간 복잡도 프로그래밍의 핵심 가치, 효율성: 프로그램의 세계에서 효율성은 단순히 '빠르게' 작동하는 것을 넘어, 최소한의 자원으로 최대의 효과를 내는 것을 의미합니다. 본론에서는 알고리즘 효율성을 평가하는 두 가지 주요 척도인 시간 복잡도와 공간 복잡도에 대해 알아보겠습니다.왜 알고리즘 복잡도 분석이 필수적일까요?알고리즘 복잡도 분석은 이론적인 개념을 넘어, 실제 개발 현장에서 발생하는 다양한 문제 해결의 핵심입니다. 효율성을 간과한 알고리즘은 다음과 같은 심각한 문제점을 초래할 수 있습니다.사용자 경험 저하: 느린 실행 속도는 사용자 대기 시간을 증가시키고, 프로그램에 대한 불만족으로 이어져 사용자 이탈을 야기할 수 있습니다. 특히 실시간 응답이 중요한 웹 서비스나.. 2025. 2. 4.
Docker 소개 Docker: 컨테이너 기반 환경의 이해소프트웨어 개발 및 배포 환경은 점점 더 복잡해지고 있습니다. 개발 환경과 운영 환경의 차이로 인해 발생하는 문제를 해결하기 위해 Docker가 등장했습니다. Docker는 컨테이너(Container) 기술을 활용하여 일관된 실행 환경을 제공하는 강력한 도구입니다. 이 글에서는 Docker의 개념과 필요성을 살펴보고, 주요 개념과 실전 활용 방법을 정리하겠습니다.1. Docker란 무엇인가?Docker는 애플리케이션을 컨테이너라는 독립적인 환경에서 실행할 수 있도록 해주는 오픈소스 플랫폼입니다. 기존의 가상 머신(VM)과 달리 가볍고 빠르며 시스템 자원을 효율적으로 사용할 수 있습니다.🔹 왜 Docker가 필요할까?개발 환경과 운영 환경의 차이로 인한 "이거 안돌.. 2025. 1. 31.
[TIL] 241216 금요일에 3시간을 붙잡고 있어도 못풀었던 문제.주말동안에 생각해서 결국 월요일에 문제해결에 성공했다.  얼핏 보면 between 등으로 날짜조건만 넣으면 쉽게 해결될 것 같지만 사실 각각의 자동차ID  여러개의 대여기록을 가지고 있고 10월 16일 이후에도 많은 대여기록이 존재하기 때문에 중복된 데이터를 거르고 10월 16일의 대여 가능여부만 뽑아내는데 어려움이 있다. 처음에는 car_id를 distinct를 써서 중복을 제거해야하나 했지만 사실 distinct는 레코드값이 모두 동일한 완전히 일치하는값에 대해 하나로 합쳐서 출력해주는 기능이기에 여러 대여기록을 합치지 못하고 그다음에 생각한 max(start_date)로  최신 대여기록을 기준으로 조건을 판별한다 >> 이것 역시 10월16일이후에 대여기.. 2024. 12. 16.
[TIL] 241210 코사인 유사도, 고유값과 고유벡터 코사인 유사도란?두 벡터 간의 각도를 이용하여 유사도를 측정하는 방법입니다.코사인 유사도는 두 벡터가 이루는 각의 코사인 값을 계산하여 유사도를 나타냅니다.이론상 값의 범위는 -1에서 1까지이며, 1에 가까울수록 두 벡터가 유사하다는 것을 의미합니다.실제 코사인 유사도를 구성하는 벡터값은 거의 1사분면만 지나기 때문에 값의 범위는 0에서 1범위이 됩니다. 코사인 유사도를 사용하는 이유크기 무시: 벡터의 크기(길이)를 무시하고 방향만 비교합니다.예를 들어, 문서의 길이가 다르더라도 내용이 비슷하면 유사하다고 판단할 수 있습니다.단순성: 계산이 간단하고 효율적입니다.두 벡터의 내적(dot product)과 크기(norm)만으로 계산할 수 있습니다.정규화 필요 없음: 벡터를 정규화하지 않아도 됩니다.벡터의 크.. 2024. 12. 10.
[WIL] 24.12 1주차 이번 주 주간 회고FACTSMarkdown 문법 정리: 효율적인 문서화의 필요성을 깨달음.스택(Stack) 자료구조: Last In First Out 원리 이해와 실습.GitHub 사용법: 기본 명령어와 협업 방식 학습.데이터 분석 프로젝트: 서울시 범죄 데이터를 활용한 통계적 접근.Python 함수 반환과 종료 차이점: 각 메서드의 정확한 활용법 터득.FEELINGS처음 접근 시 막막했지만, 꾸준히 학습하며 자신감을 얻게 됨.FINDINGS기초적인 학습이 응용 능력으로 연결됨.협업 도구와 데이터 활용 능력의 중요성.FUTURE실전 프로젝트를 통해 자료구조와 GitHub 활용 능력을 높이기.데이터 분석 프로젝트 진행하며 시각화 능력 강화하기. 2024. 12. 6.