230220(월)
🎄 성장일지 3.1
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
🌳 키워드 (1.0)<br/> 최대한 간단하게 정리, 추후에 보면서 스스로 설명<br/> 🍉 경험 위주로 (2.0)<br/> 단순 정보를 전달하기보다 무엇을 배웠고 어떻게 해결했는지 짧고 간단하게 작성<br/> ❄️ 정해진 템플릿에 맞춰서 (3.0)<br/> 키워드, 경험 모두 좋다. 다만 매일 작성하기로 마음 먹은만큼 핵심만 간결하게 정리할 수 있게 템플릿을 작성 (3.1) 230102부터 시작되는 학습에 관한 내용 추가
🔑 오늘의 키워드
데이터베이스
- 데이터의 집합, 흔히 DB(DataBase)라고 부른다.
- 일반적으로 그냥
데이터베이스
라고 하면 보통 관계형 데이터베이스를 말한다. - 또한, 엄밀히 DB는 데이터 저장소를 의미하고 우리가 사용하는 MySQL, MariaDB, MongoDB 등은
DBMS(DataBase Management System)
이다.
SQL
Structured Query Language
의 약자로, 데이터베이스에게 질문하듯이 사용하는구조화된 질의 언어
이다.- SHOW, SELECT, DELETE 등의 쿼리 명령은 가능하면 대문자로 작성하며 쿼리 마지막에 ; 를 붙여주도록 하자!
MySQL
- 가장 널리 사용되고 있는 RDBMS(Relational DBMS; 관계형)으로 썬 마이크로시스템즈가 개발하고 추후 오라클에 인수됐다.
- 기본적으로는 오픈 소스 라이센스이지만 상업적으로 사용 시, 상업용 라이센스를 구입해야한다.
- 15년도 11월에 발표된 5.7버전이 범용적으로 많이 사용되고 있다.(글작성 기준 8.0까지 출시)
npm i -D mysql mysql2
const mysql = require('mysql2'); const connection = mysql.createConnection({ host: 'localhost', user: 'jayden', password: '1234', port: 3306, database: 'databasename', }); // 보통 port는 3306을 사용하지만, 만약 로컬에 MySQL이 설치되어있는 상태로 // docker에 mysql container를 만들어 사용한다면 port를 3307과 같은 비어있는 포트를 할당해줘야 한다.
도커(docker)
당신이 어떤 인프라를 갖고 있든지, 도커를 사용해서 배포하면 어디서든 똑같이 개발, 실행, 배포가 가능하다!
(feat. docker)- 실제로 도커 없이 로컬에서 개발 후 실행 완료까지 테스트가 끝나도, 서버에 배포하면 안되는 경우가 허다하다!
- 도커는 os(linux)에서 제공하는 어떻게 보면 아주 기본적인 기능을 통해 만들어졌다.
- 이미지(image): 프로그램, 컨테이너(container): 각 프로그램의 이미지를 컨테이너로 띄워서 실행하는 느낌?!(프로세스 느낌)
기억해두면 좋을 도커의 기반 기술 3가지(OS의 기능이기도 하다.)
- Namespaces: 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행(프로세스마다 같은 Namespace에 속해야 리소스 공유 가능)
- Cgroups: 시스템 자원의 할당을 컨트롤 할 수 있게 한다.('1번 프로세스는 cpu 10%만 쓸 것!'과 같은 기능)
- Chroot: 루트 디렉토리를 변경하는 리눅스 명령(내가 원하는 디렉토리를 루트 디렉토리로 지정하는 것)
위의 기반 기술들이 합쳐져서 마치 가상 소프트웨어가 돌아가는 것처럼 실행이 된다!(컨테이너를 띄울 수 있다!)
DDL
Data Definition Language
의 약자로,데이터 정의 언어
정도로 번역할 수 있다.- 즉, 여러 SQL 쿼리 명령들 중 데이터베이스의 스키마를 정의하고 조작할 수 있는 명령들을 말한다.
- 대표적으로 CREATE, ALTER, DROP, RENAME 등이 있다.
- 참고로 DDL의 경우 실행하면 AUTO COMMIT이 된다.(실행 즉시 반영된다. -> 롤백이 안된다.)
테이블
- 데이터베이스에 실제 데이터가 저장되는 형태
- 행에 해당하는 row, 열에 해당하는 column을 갖는다.
- 이 때, row는 Record, column을 field라고도 한다.
- 각 field는 동일한 데이터 타입을 갖는다.(엑셀을 생각하면 편하다.)
참고
📝 요약 및 하루 간단 회고
잊고 있었던 db와 sql 그리고 docker를 다시 접했다. 확실히 데이터 분석 때 배웠던 게 도움이 돼서 재미있게 공부할 수 있었다.(물론 에러는 계속 만나지만...)<br/> 굳이 나눌 건 없지만, 따지면 백엔드의 영역이라 처음엔 쪼금 눈에 안보이는 게 답답했다. 하지만 이내 머리에 그리면서 하니까 금방 익숙하게 쓸 수 있었다.
오늘의 잘한 점
- 여행 다녀오고 아침에 와서 코어타임을 열심히 지킨 점
오늘의 아쉬운 점
- 와... 확실히 너무 힘든 일정이었나, 코어타입 끝나고 진짜 뻗어버렸다...
undefined