상세 컨텐츠

본문 제목

오늘의 공부.. 221022(토)

카테고리 없음

by 덴마크 당나귀 2022. 10. 24. 23:14

본문

728x90

- 서버의 특징

1. 서버 : 클라이언트 => 1 : N

2. 상대적인 관계

- 서버의 구성

   * 서버 : Apache, Ngnix

   * 백엔드 언어 : php, spring, node.js

   * DB,DBMS : mysql, oracle, mongo db

 

Protocol : 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

- http : 인터넷 상에서 서버와 클라이언트가 정보를 주고 받기 위한 프로토콜

- https : http에서 보안이 들어간 프로토콜

- mysql :  

- ssh : 원격프로토콜

- ftp : 파일전송 프로토콜

- sftp : ftp에서 보안이 들어간 프로토콜 

 

ip & port

도메인 : 실제 ip 주소를 사용하기 쉽게 변환하기 위해서 쓰는 주소

port = '문'이라고 생각 하면 됨.

 

AWS ec2

 

Amazon Machine Image = ubuntu 선택 즉, OS 라고 생각하면 됨.

 

인바운드 규칙 : 서버에서 접속할 때 규칙

아웃바운드 규칙 : 서버에서 데이터가 나갈 때 규칙

 

보통 인바운드 규칙이 더 중요함

즉 누가 들어올 수 있게 하는 '문'을 만들어 두는 작업이라고 간단하게 생각

ssh는 원격접속을 하는 직원용 문으로 만들어 둔것이고,

그러면서 http로 들어올 수 있게 하는 두가지 문을 만든다.

 

 

Redirection 

ip 주소로 입력을 해도 도메인으로 접속이 되는 것 처럼 다시 바꿔주는 것

http로 접속을 하려해도 https로 들어가는 것 처럼 바꿔주는 것.

 

하 aws ec2로 서버 인스턴스 들어가려고 터미널로 연결하려는데 안되가지고 짜증난다. 2시간 동안 찾고 있는데도 안들어가짐^_^ 

강의 진도 안나가는 거 다 참고 했지만, 여기선 그냥 프레임워크 어떻게 쓰는지만 알고 지나가자 ^_^

 

 

db가 이해할 수 있는 언어로 '쿼리'[요청] 를 해줘야 되는데 그 언어를 structured querry language 라고 합니다. 이를 sql 이라고 합니다!

 

RDBMS 관계형 데이터 베이스 매니지먼트 시스템

 

DB

엑셀 파일 -> 데이터베이스, 스키마

시트 -> 테이블

컬럼 -> 속성

DDL -> 스키마 생성

DML -> 스키마에 데이터 넣고 빼고 하는것

DCL -> 전체적인 스키마에 대한 관리 누가 볼 수 있고 그런 것이 있다는 것만 알면 됨.

 

 

DB설계

1. 데이터 모으기 : DB설계는 필요한 데이터를 받아줄 공간이 몇개가 필요한 지 알아 두는 것 중요.

     즉, 필요한 데이터들을 하나씩 나열해서 몇개가 필요한지 알아두는 것

     예를 들면, 유저 닉네임, 유저 이름 , 댓글 내용 태그된 유저, 좋아요 수 등등

2. 논리 단계 : 이렇게 나열 된 데이터를 논리에 따라 Entity, Attribute, Relation에 맞게 분류를 하는데

Entity -  객체 : 1단계에서 모든 데이터들을 하나로 묶어둘 수 있는 하나의 기준이라고 생각

예) user라는 객체 = 유저 닉네임,유저 이름, 유저 프로필 사진, 유저 소개글 등 이렇게 묶는 것.

어떤 것들을 묶을지 결정하는 것.

Attribute - 속성 

Relation - 관계 

3. 물리 단계 : 이 단계에서는 묶어 놓은

Entity 들을 직접 테이블화 하는 단계

Attribute들은 각 테이블의 collumn으로가져가면 된다.

 

테이블간의 관계를 만들어주는 것도 중요한데 

이 때 관계를 만들어줄 때 1:1 , 1:N , N:M 이런식으로 진행 될 수 있음.

예를 들어 

유저 : 게시물 -> 유저 한명이 게시물 여러개를 쓸 수는 있지만, 게시물 하나를 여러 유저가 사용할 수는 없으니 = 1: N

게시물 : 댓글  -> 같은 이유로 1 : N

유저 : 댓글 -> 댓글 하나를 유저 여러명이 쓸 수 없음. 이것도 1 : N

책 : 작가 = N:M

 

물리적인 관계에서 관계 

PK : 각 테이블의 고유 대표 값 / FK : 외래키 join :쿼리 용어

테이블을 만들 때 꼭 pk는 있어야 함. 구분시키기 위해서. 

 

DB를 만들 때 가장 중요한 것은 '정규화'  이 '정규화'란 중복 데이터를 줄이는 것.

 

RDS : 데이터 베이스 서버 ex 크레이지 아케이드의 해피서버와 드림서버 즉, 서버 하나당 DB를 갖고 있기 때문.

->여러개의 서버가 DB를 공유하는 방법이 있으면 서버를 나눠도 같이 게임 가능.

 

728x90