혼공학습단 16

혼자 공부하는 SQL / 혼공 학습단 회고

6주간의 혼공학습단 SQL이 끝났다! 체감상 저번에 했던 머신러닝 때보다 일찍 끝난 느낌이다. (머신러닝이 넘 어려웠어서 시간이 안 갔나…) 이번에 SQL을 선택한 이유는 나는 백엔드 개발자를 목표로 하고 있어서 SQL 잘 알이 되고 싶고, 쿼리문도 잘 짜고 싶었기 때문… 책을 보는데 확실히 나는 백엔드를 공부하고 있어서 그런지 책을 보면서 익숙한 게 많았다! 하지만 이번 SQL 공부는 처음부터 다시 차근차근 기억하는 느낌으로 시작하고 싶었다. 나는 무엇이든지 반복 학습을 해야 기억에 잘 남기 때문이다. SQL 공부 이외에도 내가 원했던 것은 글을 누가 봐도 쉽게 이해할 수 있도록 써보는 것? 그리고 좀 재밌게 써보는 것… 근데 이게 젤 어렵다아… 나 혼자 하는 공부랑 남한테 알려주는 거랑 정말 다르다...

SQL 2024.02.09

혼자 공부하는 SQL / Chapter 08 SQL과 파이썬 연결

08-1 파이썬 개발 환경 준비 파이썬-MySQL 파이썬 설치 파이썬과 MySQL을 연결 시켜주는 PyMySQL 외부 라이브러리 설치 08-2 파이썬과 MySQL의 연동 파이썬과 MySQL 연동 데이터베이스 연동 import pymysql pymysql.connect(host=’서버IP주소’, user=’사용자’, password=’암호’, db=’데이터베이스’, charset=’문자세트(utf8)’) 커서 생성 cur = conn.cursor() 테이블 생성 cur.execute(”CREATE TABLE ~~”) 데이터 입력 cur.execute(”INSERT INTO 테이블 VALUES(~~)”) 데이터 조회 cur.fetchone() 커밋 하기 conn.commit() 사용 후 데이터베이스 닫기 c..

SQL 2024.02.09

혼자 공부하는 SQL / Chapter 07 스토어드 프로시저

07-1 스토어드 프로시저 사용 방법 스토어드 프로시저 (stored procedure) SQL에 프로그래밍 기능을 추가한 것 (조건문, 반복문…) 쿼리 문의 집합으로도 볼 수 있다. 어떠한 동작을 일괄 처리하기 위한 용도로 사용 스토어드 프로시저 기본 형식 DELIMITER $$ CREATE PROCEDURE 스토어드프로시저(IN 또는 OUT 매개변수) BEGIN // SQL 프로그래밍 코드 작성 END $$ DELIMITER;​ 매개변수 입력 매개변수 IN 입력매개변수이름 데이터형식 CALL 프로시저이름(전달값); ex) DELIMITER $$ CREATE PROCEDURE user_proc(IN userName VARCHAR(10)) // 유저네임값을 입력 매개변수로 전달 BEGIN SELECT *..

SQL 2024.02.09

혼자 공부하는 SQL / Chapter 06 인덱스

06-1 인덱스 개념을 파악하자 인덱스(Index) 데이터 조회가 빨라지는 도구 (SELECT 응답 속도) 예로 책 맨 뒤에 있는 찾아보기 같은 도구! 키워드나 단어들이 가나다 순으로 정렬되어 있어서 페이지를 금방 찾을 수 있는 것 처럼! 데이터가 많아지면 인덱스를 사용해서 성능을 좋게 할 수 있다. 하지만 인덱스도 공간 필요! 인덱스가 있다고 무조건 좋은 건 아님.. 필요 없는 인덱스를 만들거나 데이터 변경이 자주 되면 오히려 느려질 수도 인덱스 종류 클러스터형 인덱스 기본 키로 지정하면 자동 생성, 테이블에 1개만 만들 수 있다. 기본 키로 지정한 열을 기준으로 자동 정렬 예로 사전과 같음 보조 인덱스 고유 키로 지정하면 자동 생성, 테이블에 여러개 만들 수 있다. 자동 정렬은 안된다. 예로 책 뒤 ..

SQL 2024.02.04

혼자 공부하는 SQL / Chapter 05 테이블과 뷰

05-1 테이블 만들기 테이블(table) 표 형태로 구성된 2차원 구조, 행과 열로 구성 행: row, record라고 부른다. 열: column, field라고 부른다. 테이블 설계하기(구조 정의) 열에 적합한 데이터 형식 지정 기본 키 지정 외래 키 지정 테이블 만들기 데이터베이스 생성 (CREATE DATABASE) 테이블 생성 (CREATE TABLE) 빈 값 허용하지 않을 시 NOT NULL 열 기본키로 지정시 PRIMARY KEY 열 외래키로 지정시 FOREIGN KEY 열 1부터 자동 증가시 AUTO_INCREMENT 05-2 제약조건으로 테이블을 견고하게 제약조건(constraint) 데이터의 무결성을 지키기 위해 제한하는 조건 여기서 데이터의 무결성이란? 데이터에 결함이 없는 것을 의미..

SQL 2024.01.29

혼자 공부하는 SQL / Chapter 04 SQL 고급 문법

04-1 MySQL의 데이터 형식 데이터 형식 정수형 소수점이 없는 숫자 TINYINT(1byte), SMALLINT(2byte), INT(4byte), BIGINT(8byte) UNSIGNED 예약어 값의 범위가 -가 아닌 0부터 시작되는 예약어 예로 TINYINT는-128~127로 표현하면 TINYINT UNSIGNED는 0~255로 표현할 수 있다. 문자형 글자를 저장하기 위해 사용하며 입력할 최대 글자의 개수를 지정해야 한다. CHAR(1~255byte), VARCHAR(1~16383byte) CHAR은 고정길이 문자형으로 자릿수가 고정되어 있다. 예로 CHAR(10)에 3글자만 저장해도 10자리 모두 확보를 해서 7자리를 낭비하게 된다. VARCHAR은 가변길이 문자형으로 3글자를 저장하면 3자..

SQL 2024.01.21

혼자 공부하는 SQL / Chapter 03 SQL 기본 문법

03-1 기본 중에 기본 SELECT ~ FROM ~ WHERE 데이터베이스 만들기 DROP DATABASE db_name 데이터베이스를 삭제하는 문장 CREATE DATABASE db_name 데이터베이스를 새로 만드는 문장 USE db_name; 사용할 데이터베이스를 지정하는 문장 쿼리를 새로 열거나 다른 DB를 사용하겠다고 명시하지 않으면 해당 DB에서 계속 수행된다. 주석 — (하이픈 2개 연속) 하이픈 2개 이후에 한 칸을 띄우고 설명 작성하기 테이블 생성하기 CREATE TABLE table_name ( column_name 데이터 형식 AUTO_INCREMENT NOT NULL PRIMARY_KEY, … ); 테이블 생성하는 문장 AUTO_INCREMENT 순번 자동 입력 (1, 2, 3… ..

SQL 2024.01.10

혼자 공부하는 SQL / Chapter 01~02 데이터베이스와 SQL, 실전용 SQL 미리 맛보기

Chapter 01 데이터베이스와 SQL 01-1 데이터베이스 알아보기 데이터베이스(database, DB) 정보가 저장되고 관리되므로 데이터의 집합이라고 할 수 있다. DBMS(Database Management System) 데이터베이스를 관리하고 운영하는 소프트웨어 데이터베이스에는 여러 명이 동시에 접근할 수 있다. 종류 MySQL, 오라클, SQL 서버, MariaDB SQL(Structured Query Language) 구조화된 질의 언어라고 표현되며 DBMS에 데이터를 구축, 관리, 활용을 위해 사용되는 언어 표준 SQL 국제표준화기구에서 SQL에 대한 표준을 정한 것 DBMS의 유형 계층형 DBMS 트리 형태 처음 구성을 완료 후 변경하기 까다로워서 지금은 미사용 망형 DBMS 활용하려면 ..

SQL 2024.01.03

혼자 공부하는 머신러닝+딥러닝 / 혼공 학습단 회고

짧다면 짧고, 길다면 길었던 혼공 학습단이 끝났다. 내가 이번 혼공 학습단을 하며 가장 원했던 것은 저녁에도 공부를 하는 삶이었다. 나의 큰 인생 목표 중 하나가 죽을 때까지 공부하기인데, 생각보다 저녁에 책상에 앉아서 혼자 공부하기가 참 어렵다.. 마침 혼공 학습단을 알게 되어서 혼자 공부하는 루틴을 갖는 데 도움이 되겠다 하고 신청했다. 눈에 보이는 강제는 없지만 약간의 내 맘속에서 신경쓰이는 덩어리가 하나 있는것만으로도 자연스럽게 책상에 앉게 되었다.. 그리고 가끔씩 날라왔던 간식 기프티콘도 뿌듯함을 느끼게 해줬다. 그리고 개념을 읽고, 코드를 작성하고, 특히 마지막 정리하면서 블로그에 글 올리는 게 도움이 많이 되었다. 개념을 더 쉽게, 잘 보이게 쓰고 싶었지만 생각보다 남이 잘 이해하도록 글 쓰..

혼자 공부하는 머신러닝+딥러닝 / Chapter 07 딥러닝을 시작합니다

Chapter 07-1 인공 신경망 - 인공 신경망 (artificial neural network, ANN) 뉴런에서 영감 받은 머신러닝 알고리즘 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하고 딥러닝이라고도 한다. 케라스이 Sequential 클래스 사용 출력층(output layer): z값을 계산하고 이를 바탕으로 클래스를 예측, 신경망의 최종 값을 만든다. 뉴런(neuron): z값을 계산하는 단위, 유닛이라고 부르기도 한다. 입력층: x값이고 픽셀값 자체이기 때문에 특별한 계산을 수행하지 않는다. 밀집층(dense layer): 가장 기본이 되는 층이며 픽셀과 뉴런이 모두 연결된 선이다. 완전 연결층이라고도 부른다. - 텐서플로우 구글이 공개한 딥러닝 라이브러리 CPU와 GPU를 사용해..