
1. ALTER TABLE 테이블명 ADD CONSTRAINT 커스텀제약조건명 제약조건명 (컬럼명 또는 제약조건)ALTER TABLE customer ADD CONSTRAINT pk_customer PRIMARY KEY (id), ADD CONSTRAINT uq_email UNIQUE (email), ADD CONSTRAINT fk_region FOREIGN KEY (region_id) REFERENCES region(id), ADD CONSTRAINT ck_age CHECK (age >= 19); -- mysql은 커스텀 이름 없이도 가능ALTER TABLE customer ADD UNIQUE (email);ALTER TABLE customer ADD CHECK (age >= 19); 1)..

1. 리눅스 설치1) 리눅스에 mysql 설치# 패키지 리스트 업데이트sudo apt update# mysql 서버 설치sudo apt install mysql-server# mysql 상태 확인sudo systemctl status mysql# mysql 보안 설정sudo mysql_secure_installation# mysql 접속sudo mysql# root 계정/비밀번호 설정ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';FLUSH PRIVILEGES;# 로그인mysql -u root -p2) 윈도우 vscode에서 ubuntu에 설치된 mysql 접속하기- WSL2는 가상 네트워크로 동작해서, MySQL..
1. 데이터는?- 현실 세계에서 수집된 단순한 사실과 값들을 모아 놓은 것 2. 정보란?- 데이터를 특정 목적에의해 해석하거나 가공한 형태 ※ 데이터를 잘 가공해서 => 정보를 만드는것 3. 데이터베이스란?- 데이터가 모여있는것, 한 조직 안에서 여러 사용자와 응용 프로그램이 공동으로 사용하는 데이터들을 통합하여 저장하고운영하는 데이터 4. 파일처리시스템의 한계- 데이터의 구조가 바뀌면 응용프로그램의 구조도 바뀌어야 하기 때문에 응용 프로그램별로 데이터를 생성할 수 있기 때문에 데이터가 중복될 수 있다- 데이터의 무결성을 지킬 수 없다 5. 데이터베이스의 구성요소- 행(row): 칸(형태)- 튜플: 항에 값이 있을 때- 열(column): - 속성: 데이터의 특성을 나타내는 가장 작은 논리적 단위- 도메..
1. 스택- 후입선출: 마지막에 넣은 데이터가 가장 먼저 나옴- 활용: 재귀 호출, 괄호 짝 맞추기, DFS 등- 주요 연산# 가장 흔한 방법stack = []stack.append(10)top = stack.pop()2. 큐- 선입선출: 먼저 들어간 데이터가 먼저 나옴- 활용: BFS, 캐시, 작업 예약 처리에 사용- collections.deque: 가장 빠르고 많이 쓰임- queue.Queue: 스레드 안전(멀티스레스 환경용)from collections import dequequeue = deque()queue.append(1)queue.append(2)x = queue.popleft()print(queue) # [2] 3. 트리- 계층적 자료 구조. 노드와 간선으로 구성된 비순환 그래프- 이진트..
1. Json- 왜 사용할까? 웹 환경에서 데이터를 주고 받는 가장 표준적인 방식이기 때문에- 키를 이용해 원하는 데이터만 빠르게 추출할 수 있다- 데이터가 쉽게 오염되지 않는다 => 데이터의 구조가 명확하고 규칙이 엄격하기 때문!- 다른 포맷에 비해 용량이 조금 크다 1) JSON과 딕셔너리 변환(*s가 있으면 문자열 다루기)- JSON 문자열을 파이썬 객체(딕셔너리 등)로 : json.loads(JSON문자열)- 파이썬 객체를(딕셔너리를) JSON 문자열로: json.dumps(파이썬객체) 2) 파일 다루기- JSON 파일을 읽어 파이썬객체로(딕셔너리 등): json.load(JSON파일) => python 객체가 됨- 파이썬객체를(딕셔너리 등) JSON 파일에 쓰기: json.dump(파이썬객체를,..

1. 그래프 탐색 : 어떤것(Vertex)들이 연속해서 이어질때(Edge), 모두 확인하는 방법 2. BFS vs DFS- BFS: 자식을 먼저 봄- DFS: 자식의 자식을 먼저 봄 3. BFS 아이디어- 시작점에 연결된 vertex 찾기- 찾은 vertex를 queue에 저장 (들어온 순서대로 나감) => 넓게 퍼지며 탐색- queue의 가장 먼저 것을 뽑아서 반복- 최단거리에 BFS 쓰는 이유? BFS는 가까운 노드부터(거리1짜리 다음 거리2짜리,,,) 차례차례 탐색하기 때문에 처음 도착한 순간이 곧 최단거리가 된다.# 큐에 들어오는 순서[1,2,5,3,4,6]1 => 2랑 5 추가 => 1 제거2 => 2랑 열된 3 => 2제거5 => 5랑 연결된 4 => 5제거3 => 4는 이미 있으니까 넘어감 ..
1. 미니포지란?- conda : 패키지/가상환경 관리도구(명령어) - anaconda: conda + python + 데이터 과학관련 수백개 패키지 포함 배포판 - miniconda: conda + python만 있는 최소한의 anaconda => 기본 채널은 defaults, 상업적으로 사용시 유료- miniforge: miniconda와 같은데, 기본 채널이 conda-forge, 상업 제한 없음- defaults: Anaconda,Inc의 상업 채널, conda install 로 패키지 설치시 해당 채널에서 가져옴- conda-forege : conda 패키지를 위한 커뮤니티 채널(공개적으로 빌드, 배포, 유지보수)* 파이썬 내장 가상환경 도구 venv는 DS/AI 패키지 설치시 문제가 많아 co..
0. 클래스와 함수- 함수는 동작만- 클래스는 함수+상태 저장 가능 1. 상속 : 같은 기능인데 이름만 다름 => 중복 방지 - 예: 좋아요, 싫어요 기능class Like: def __init__(self, post, user): self.post = post self.user = user class Sad: def __init__(self, post, user): self.post = post self.user = user # 공통된 부모 클래스를 만들어줌class React: def __init__(self, type, post, user): self.type = type self.post = post ..
- Total
- Today
- Yesterday
- 루틴
- 고득점 Kit
- 미라클모닝
- 다이어트
- SQL
- 프로그래머스
- 갓생
- opic
- 뉴스
- llm
- Ai
- 아침운동
- 오픽
- 빅데이터 분석기사
- ChatGPT
- 실기
- 티스토리챌린지
- 습관
- Python
- 30분
- 기초
- IH
- 경제
- 영어회화
- 줄넘기
- 스크랩
- C언어
- 아침
- 오블완
- 운동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |