전체 글 63

[week1 - day 3] 벡터 & 행렬

벡터란 ? 벡터는 공간에서 한 점을 나타낸다. 1차원 공간에서 (x), 2차원 공간에서 (x,y), 3차원 공간에서 (x,y,z)와 같이 한 점을 지칭한다. 위에서 언급한 (x), (x,y), (x,y,z)는 모두 원점으로부터 떨어진 거리이다. 즉, 벡터는 원점으로부터 상대적 위치를 표현한다. 애초에 x도 0+x이므로, 두 백터의 덧셈은 다른 벡터로부터의 상대적으로 이동한다고 볼 수 있다. 벡터의 노름(norm) ||x|| : 벡터의 크기(=원점으로부터의 거리)를 의미한다. 노름의 정류에 따라 기하학적 성질이 달라진다. L1-노름 : 각 성분 변화량의 절대값의 합. L2-노름 : 피타고라스의 정리를 이용한 유클리드 거리 ex) v = [1, -2, 3] L1-노름의 거리 : 1 + 2+ 3 = 6 L2-..

[week 1 - day 2] Pandas

Pandas란 ? 구조화된 데이터의 처리를 지원하는 라이브러리 import pandas as pd data_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data' df_data = pd.read_csv(data_url, sep="\s+", header=None) #정규식을 통해 여러 띄어쓰기로 구분 series column vector를 표현한 object이다. 1차원 배열같은 자료구조인데, 인덱스가 같이 출력된다는 점과 그 인덱스를 지칭할 수 있다는 점에서 새롭다. obj = Series([1,2,3,4], index = ['a', 'b', 'c', 'd']) dataframe series들을 하나로 모..

[week 1 - day 2] Python data handling/ Numpy

CSV CSV는 Comma Separate Value의 약자로, 필드를 쉼표(,)로 구분한 텍스트 파일이다 wget -Uri https://bit.ly/3psoUZb -OutFile .\ai_math\lec3\customer.csv wget을 통해 파일을 다운받아준다. 나는 윈도우를 쓰고 있기 때문에 다음과 같이 작성해주었다. """ code """ cust_lst = [] data_header = [] line_counter = 0 f = open("./data/customer.csv", "r") while 1: data = f.readline().rstrip() #끝 공백 제거하고 한 줄씩 읽어오기 if not data: break #데이터가 없다면, 즉, 끝나면 종료 if line_counter =..

[week 1 - day 2] Exception Handling

Exception Exception에는 크게 2가지가 존재하는데, 1) 예상 가능한 예외 2) 예상 불가능한 예외 이다. 예상 가능한 예외는 if문으로 처리해도 되지만, 예상 불가능한 예외는 인터프리터 과정에서 발생하는 예외이므로 try ~ except문을 이용한다. try: print("start") print(abc) except NameError: print("에러발생") 결과>> start 에러발생 다음과 같이 사용하면 된다. 예외 모두를 지칭하는 Exception을 이용해도 되지만, 이는 어떤 에러인지 판단하지 못하기 때문에 지양하자. try, except, else, finally try : 에러가 발생할 것으로 예상되는 코드 작성 except : try문을 읽다가 에러가 발생하면 넘어감 el..

[SQLD] 2과목-1 오답노트

DML : SELECT, INSERT, DELETE => 변경,삭제 등등등 DCL : REVOKE, GRANT ==> 권한제어 DDL : ALTER, DROP, RENAME, CREATE ==> 데이터 변형 TCL : COMMIT, ROLLBACK ==> 트랜잭션 제어어 (틀) 4. 틀린 것 고르기 DML은 비절차적 데이터조작어이고, 사용자가 무슨(WHAT) 데이터를 원하는지 명세한다 절차적 데이터 조작어(오라클, SQL 서버)는 어떻게(HOW) 데이터를 접근해야 하는지 명세한다. 절차적은 어떻게!!! 접근해야하는지 (틀) 6. 올바른 DDL 문장 찾기 PK설정문구 : ALTER TABLE PRODUCT ADD CONSTRAINT PRODUCT_PK PRIMARY KEY (PROD_ID)인데, 1번엔 A..

SQLD 2023.03.06

[SQLD 자격증] 2과목 - 강의 정리(1)

https://jonhyuk0922.tistory.com/115 [SQL] SQLD 공부방법 & 합격후기 (꿀팁 많음) 안녕하세요~! 27년차 진로탐색꾼 조녁입니다! 이번에는 제가 지난 3월 20일에 응시했던 SQLD 자격증 시험 공부방법 / 시험보며 느낀 점 / 합격 후기를 남기려합니다. 참고로 저도 전공자는 아니고, jonhyuk0922.tistory.com 이 분의 공부법을 따라하고 있습니다. 저처럼 공부할 시간이 부족하고 다른 할 일이 많다면 추천,, 아래는 강의 정리한건데 패드를 캡쳐하여 화질은 좋지 않습니다..

SQLD 2023.02.27

[SQLD 자격증] 1과목 2 - 데이터 모델과 성능 오답노트

개인적인 정리입니다. 31. 성능 데이터 모델링에 대한 설명 틀린 것 찾기 데이터 증가가 빠를수록 비용 증가 성능을 튜닝하면서 데이터모델이 변경될 수 있음 분석/설계 단계에서 데이터 모델링을 하면 rework비용 최소화 틀린 것 : 성능이 저하된 결과를 대상으로 문제 발생 시점의 SQL을 중심으로 집중하여 튜닝을 하기보다는 애초 설계 단계의 데이터모델링때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이 좋음 32. 데이터모델링 순서 빈칸찾기 1) 정규화 수행 2) 용량 산정하기 3) 트랜잭션 유형 파악하기 4) 용량과 트랜잭션 유형에 따른 반정규화 진행 5) 조정 후 최종적 데이터 모델 검증 33. 데이터모델링 순서는 위와 같음 34. 성능 데이터 모델링의 고려 사항 중 틀린 것 찾..

SQLD 2023.02.14

[SQLD 자격증] 1과목 2 - 데이터 모델과 성능

성능 데이터 모델링 DB 성능 향상을 위한 사항이 데이터 모델링에 반영되도록 하는 것 사전에 할수록 저렴하지만, 분석/설계 단계에서 수행할 경우 재업무 비용을 감소시킬 수 있음. 고려 사항 : 정규화, DB 용량, 트랜잭션 유형 파악 - 모델링 순서 1) 정규화를 정확하게 수행한다 2) 데이터베이스 용량을 산정한다. 3) 트랜잭션 유형 파악 4) 용량과 트랜잭션에 따라 반정규화를 수행 5) 조정 (pk, 슈퍼타입, 서브타입 조정) 6) 성능 관점에서 데이터 모델 검증 정규화와 성능 - 정규화란 ? 데이터 분해 과정으로 이상현상(anomaly)를 제거하는 것이다. - 함수적 종속성 결정자와 종속자의 관계로, 결정자의 값으로 종속자의 값을 알 수 있음 결정자 ► 종속자 ex ) 주민등록번호 ► (이름,출생지..

SQLD 2023.02.14

[SQLD 자격증] 1과목 - 데이터 모델링의 이해의 오답노트 (1)

개인적인 정리입니다. 공부법 찾아보니깐, 일단 문제 풀고 해설을 보면서 공부한대요....(제가 잘못 찾은 걸수도..) 이런 공부법 개인적으로 안 좋아하지만 어쩌겠어 해야지... 1. 모델링의 특징 추상화, 단순화, 애매모호함을 배제한 명확화의 의미를 가짐 시스템 구현만을 위함이 아닌, 시스템 구현을 포함한 업무 분석 및 업무 형상화의 목적을 지님 2. 데이터 모델링이 필요한 이유 일정한 표기법을 이용함으로써 업무 내용을 정확하게 분석하는 것이 첫 번째 목표 (별도의 표기법이 아닌 약속된 표기법 사용) 데이터 모델링을 가지고 실제 DB를 생성해 개발 및 데이터 관리에 사용하는 것 데이터 모델링은 단지 데이터베이스만을 구축하기 위한 용도가 아닌 분석 측에서도 중요한 의미를 지님 3.데이터 모델링 유의 사항 ..

SQLD 2023.02.12