분류 전체보기 (32) 썸네일형 리스트형 [SQLD: PART 1] 데이터 모델링의 이해 본 포스팅은 SQLD 자격증 취득을 위해 공부한 내용을 정리하기 위한 포스팅입니다.1. 모델링 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정을 뜻한다.추상화단순화명확화1. 데이터 모델링의 세 가지 관점(1) 데이터 관점(2) 프로세스 관점(3) 데이터와 프로세스의 상관 관점2. 모델링시 유의해야 할 점(1) 중복: 같은 데이터가 여러 엔터티에 중복으로 저장되는 현상을 지양한다.(2) 비유연성: 데이터 모델과 프로세스를 분리하여 유연성을 높여야 한다.(3) 비일관성: 데이터 간의 연관 관계에 대해 명확히 정의해야 한다.3. 모델링의 세 가지 단계(1) 개념적 데이터 모델링: 추상화 레벨이 가장 높다.(2) 논리적 데이터 모델링: 재사용성이 가장 높다.(3) 물.. [SQLD: PART 1] 데이터 모델과 SQL 본 포스팅은 SQLD 자격증 취득을 위해 공부한 내용을 정리하기 위한 포스팅입니다.1. 정규화 엔터티를 작은 단위로 분해하는 과정을 말한다. 입력, 수정, 삭제 성능은 일반적으로 향상되지만, 데이터 조회 성능은 처리조건에 따라 향상되는 경우도 있고 저하되는 경우도 있다.1. 제 1 정규화(원자성) 모든 속성은 반드시 하나의 속성값만 가져야 한다.2. 제 2 정규화 엔터티의 모든 일반속성은 반드시 모든 주식별자에 종속되어야 하며, 제 1정규형에서 완전 함수 종속을 만들도록 한다. PK가 2개 이상일때 발생하며 PK 일부와 종속되는 경우가 있다면 분리해야 한다.3. 제 3 정규화 주식별자가 아닌 모든 속성 간에는 서로 종속될 수 없으며, 제 2 정규형에서 이행적 종속을 없애도록 한다. 이행적 종속이란 A-.. [밑바닥부터 시작하는 딥러닝2: Chapter 2] 자연어와 단어의 분산 표현 본 포스팅은 밑바닥부터 시작하는 딥러닝2을 토대로 공부한 내용을 정리하기 위한 포스팅입니다.해당 도서에 나오는 Source Code 및 자료는 GitHub를 참조하여 진행하였습니다.https://github.com/WegraLee/deep-learning-from-scratch-2 자연어 처리(National Language Processing, NLP)는 ’사람이 쓰는 언어를 컴퓨터에게 이해시키기는 기술‘을 말한다. 사람이 쓰는 말은 ‘문자’로 구성되며, 말의 의미는 ‘단어’로 구성된다. 즉, 단어는 의미의 최소 단위이다. 그래서 컴퓨터에게 먼저 ‘단어의 의미’를 이해시키는 것이 자연어 처리의 시작이라고 볼 수 있다. 이 책에서는 세 가지 기법으로 ‘단어’를 이해시킨다.시소러스를 활용한 기법통계 기반 .. 물고기는 존재하지 않는다. 과학전문기자인 저자 룰루 밀러의 ‘물고기는 존재하지 않는다’ 에세이.줄거리 이 책의 저자인 룰루 밀러는 분류학자이자 스탠퍼드 대학교 초대 학장인 데이비드 스타 조던이라는 인물을 우연히 접하며 그의 삶을 파헤쳐보기 시작한다. 데이비드 스타 조던은 어렸을 때부터 수집과 분류하는 것을 즐겨하곤 했다. 그러던 어느날 당대 유명한 박물학자였던 루이 아가시가 함께 섬으로 떠나서 본질을 탐구할 학생들을 모집했고 조던은 지원하게 된다. 그곳에서 생물들을 분류하면서 탐구해나가면 신의 창조적 의도를 알 수 있을 것이라는 아가시의 말에 매료되어 조던은 물고기들을 분류할 목표를 세우게 된다. 데이브드는 전세계의 물고기들을 발견하여 이름짓겠다는 신념을 가지고 있었고, 행동으로 실천한 결과 인류에게 알려진 5분의 1이 모두 .. [Baekjoon] 2156번: 포도주 시식(Dynamic Programming) # Baekjoon 2156번: 포도주 시식import sysinput = sys.stdin.readlineN = int(input())cost = []dp = [0] * Nfor i in range(N): cost.append(int(input()))if N == 1: dp[0] = cost[0]elif N == 2: dp[1] = cost[0] + cost[1]else: dp[0] = cost[0] dp[1] = cost[0] + cost[1] dp[2] = max(cost[0] + cost[2], dp[1], cost[1] + cost[2])for i in range(3, N): dp[i] = max(dp[i-2] + cost[i], dp[i-3] + cost[.. [Baekjoon/Python] 1149번: RGB거리(Dynamic Programming) # Baekjoon 1149번: RGB거리import sysinput = sys.stdin.readlineN = int(input())RGB = []dp = [[0]*3 for _ in range(N+1)]for i in range(N): cost = list(map(int, input().split())) RGB.append(cost)dp[0][0] = RGB[0][0]dp[0][1] = RGB[0][1]dp[0][2] = RGB[0][2]for i in range(1, N): dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + RGB[i][0] dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + RGB[i][1] dp[i][2] =.. [Baekjoon/Python] 10026번: 적록색약(BFS) # Baekjoon 10026번: 적록색약import syssys.setrecursionlimit(10**9)from collections import dequeinput = sys.stdin.readlineN = int(input())painting = [[] for _ in range(N)]nor_visited = [[] for _ in range(N)]abnor_visited = [[] for _ in range(N)]normal, abnormal = 0, 0for i in range(N): paint = input().rstrip() for j in paint: painting[i].append(j) nor_visited[i].append(0) ab.. [Baekjoon/Python] 16928번: 뱀과 사다리 게임(BFS) # Baekjoon 16928번: 뱀과 사다리 게임 import sys from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) visited = [0 for _ in range(101)] ladder = [tuple(map(int, input().split())) for _ in range(N)] snake = [tuple(map(int, input().split())) for _ in range(M)] visited_ladder = [None for _ in range(101)] visited_snake = [None for _ in range(101)] for x, y in ladder: visi.. 이전 1 2 3 4 다음