분류 전체보기 97

파이썬 가상환경 'uv'

https://github.com/astral-sh/uv GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.An extremely fast Python package and project manager, written in Rust. - astral-sh/uvgithub.com 새로운 파이썬 가상환경 uv 사용해보기설치깃허브링크에 나온 가이드대로 설치# On macOS and Linux.curl -LsSf https://astral.sh/uv/install.sh | sh# 설치후 다음과 같은 메시지가 출력된다.downloading uv 0.6.14 x86_64-unknown-linux-gn..

설치및설정 2025.04.18

Ubuntu 설치 후 화면 멈춤현상, 프리즈 현상

우분투 20.04 설치 후 재부팅하는데 기존과 다르게 로드되지 않는 현상이 발생했다.그래픽 카드가 설치된 상태로 설치후 재부팅시 그래픽 드라이버 인식 오류로 인해 이런현상이 발생한다고 한다.그래픽카드가 꼬였다고 한다.Recovery mode로 부팅 (GRUB 화면/부팅 로고 화면이 보일 때, ESC나 shift를 누른다.)-> BIOS 진입할 때처럼 연타해버리면 화면이 지나가니까 타이밍 맞춰 1번만 눌러야 한다.선택지가 뜨는데 root를 선택 (터미널로 연결됨)sudo apt update / sudo apt upgrade / sudo apt autoremove 실행sudo ubuntu-drivers devices 실행-> 추천 NVIDIA driver 버전 확인sudo apt install nvidia-..

에러모음 2025.04.17

SQL 정규화와 비정규화

정규화정규화란 데이터의 중복성을 제거하거나 줄이기 위해 크고 조직화 되지 않은 테이블들과 관계들을잘 조직된 테이블과 관계들로 나누는 과정이다.예시를 통해 이해해보자.위의 예시 데이터는 아래의 단점이 있다중복된 정보가 많아서 데이터가 비효율적으로 저장되어 있음중복된 정보 사이에 실수로 오류가 발생할 확률이 높음특정 구매 이력의 고유 값이 없어서 어떤 내역을 간단하게 특정 지을수 없음예시 데이터를 정규화 해보면위와 같이 3개 테이블로 나누어지고 각각의 테이블에 프라이머리 키 id값을 추가하게 된다.앞의 테이블보다 복잡해보이지만, 데이터의 중복이 최소화되어 있고, 더 적은 양의 데이터로 같은 내용을 저장한다.비정규화정규화의 반대로 데이터의 중복을 허용하여 테이블과 관계로 표현한다.정규화된 테이블은 정보가 여러..

SQL 2025.02.11

SQL 데이터 모델링

데이터베이스에서 하드웨어 개선 없이도 내부 구조나 기능을 활용하여 속도를 향상시키는 방법이 있는데,대표적인 방법이 데이터 모델링과 데이터 인덱싱이다. 그 중, 데이터 모델링을 살펴보자.인터넷 커뮤니티 사이트를 만든다고 가정해보자. 아래와 같은 조건이 필요할것이다.사용자는 이름과 생년월일, 그리고 점수를 가진다.게시판은 이름을 가진다.게시글은 사용자가 게시판에 작성 가능하고, 제목과 내용 조회수를 표시한다.조회수는 사용자당 1씩만 올릴 수 있고, 다시 게시글을 읽어도 조회수가 오르지 않는다각 상자는 테이블을 의미하고, 상자 안의 항목들은 테이블이 가지는 컬럼을 의미.각 테이블의 id 컬럼은 그 테이블의 프라이머리 키.게시글과 조회 테이블은 다른 테이블의 id값을 저장하여 서로 다른 테이블과 관계를 형성.게..

SQL 2025.02.11

SQL django와 연동

책에선 로컬환경에서 진행.나는 도커에서 연동.django, postgresql 이미지 다운# DockerfileFROM python:3.9.13-slimLABEL maintainer="https://github.com/spring0691"RUN pip install --no-cache-dir django==2.2.28 psycopg2-binary==2.8.6EXPOSE 8000# 이미지 다운로드docker build . -t django2# 이미지 다운로드(버전 변경가능)docker pull postgres:11.22-alpine3.19docker network 생성후 컨테이너 실행docker network create studySQL# django 실행 & 접속docker run --name djang..

SQL 2025.02.06

SQL 6장 실습문제

소스파일 : https://github.com/bjpublic/postgresql1교차로에서 사고자(다치거나 사망한 사람)가 5명 이상인 대형 사고는 어느 시도, 시군구에서 발생했는지 사고발생 수로 내림차순 출력# 사고자가 5명 이상인 대형 사고는 어느 시도, 시군구에서 발생했는지 사고자 수로 내림차순 출력 select 시도, 시군구, count(*) as 사고횟수 from accident where (사망자수+부상자수+중상자수+경상자수+부상신고자수)>=5 group by 1,2 order by 3 desc; 시도 | 시군구 | 사고횟수------+----------+---------- 경기 | 용인시 | 9 경기 | 화성시 | 7 경기 | 평택시 ..

SQL 2025.02.05

SQL 테이블 열연결(JOIN)

서로 다른 테이블을 가로 방향으로 합쳐보자.JOINselect rating.user_id, rating.rating, ramen.name, ramen.quantity, ramen.is_spicyfrom rating, ramenwhere ramen.id = rating.item_id and rating.item_type = 'ramen';위 쿼리는 아래와 같이 사용가능하다select rating.user_id, rating.rating, ramen.name, ramen.quantity, ramen.is_spicyfrom ( rating join ramen on ramen.id = rating.item_id and rating.item_type = 'ramen');두 쿼리문의 성능차이는 전혀 ..

SQL 2025.02.05