2023~2024 동계모각코

[2023~2024 동계모각코] 4주차 결과

슈슈버거 2024. 1. 23. 23:00

2024.01.23

 

서버란?

: 무언가를 제공하는 것으로 우리 눈으로 보기는 힘들다

클라이언트와 서버

  • 클 > 서 :: 요청
  • 서 > 클 :: 응답

터미널이란?

: 나와 컴퓨터가 소통하는 공간 (키보드 입력으로 소통 가능함)

package.json

: 프로그램의 정보를 알려주고 공동개발 시 소통경로로 활용된다

  • dependence : 내가 설치한 목록
  • request : 요청과 관련
  • response : 응답과 관련
  • get : 앞선 get, post와 유사
  • listen : 서버에서 벌어지는 일을 듣고 있다

** 포트 == 문 || ** localhost == 우리의 컴퓨터

데이터베이스란?

: 무언가를 저장할 수 있는 곳

왜 사용하는가?

: 누구에게나 동일한 데이터를 보여주기 위해서

 

데이터베이스 서버 > 데이터베이스 > 테이블

테이블

: 데이터가 직접적으로 저장되는 곳

  • 항목별로 분류되어 저장된다
  • 1개 이상이다

데이터베이스

: 테이블을 감싸는 단위

  • 우리는 NOTE라는 데이터베이스를 LIST라는 테이블을 만들거임
  • 역시 여러개 사용 가능

데이터베이스 서버

: MYSQL이라고 생각하면 편함

<aside> 💡 지금은 테이블내에 데이터가 많이 없지만 만약 데이터가 1000개 이상이라면?

테이블을 묶을 수 있는 좀 더 큰 범위 지정

EX) 하나의 테이블에는 치킨집 이름, 또 다른 테이블에는 치킨집 가격… 이렇게 항목별로 테이블을 나누고 동위성은 지켜주기

</aside>

** 점차 테이블이 많아지고 테이블 간 관계가 꼬이기 쉽기 때문에 프로젝트의 단위가 작을 때부터 테이블을 세분화하는 것이 백엔드 개발자의 중요 능력 중 하나이다.

그 역할을 SQL이 해줄 것이다

sql 코드들 정리

  • database 들어가는 코드 = cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  • mysql 실행 코드 = mysql -u root -p
  • 데이터베이스 보여주는 코드 = show databases;
  • 특정 데이터베이스 생성 = create database [이름];
  • 특정 데이터베이스 선택 = use [이름];
  • 테이블 보여줌 = show tables;
  • 테이블의 구조 확인 = desc [테이블명];

 ** 테이블을 만들기 전엔 항상 테이블의 항목에 뭐가 있는지 판단

  • 필드 ++ 필드의 특성으로 구성 ex) id int NOT NULL
  • id :: 필드 int :: 필드의 속성 NOT NULL :: 필드의 특징

** 속성들

  • PRIMARY KEY ;; 식별할 수 있는 유일한 값
  • AUTO_INCREMENT :: 자동적으로 1씩 증가
  • varchar(255) :: 데이터가 문자형이고 255개의 문자를 저장
  • datetime :: 데이터가 날짜형식이다

CREATE, READ, UPDATE, DELETE

:: 생성하고 읽고 수정하고 삭제하는 과정을 의미함

ex) sns에 글을 올리고 남의 글을 읽고 수정 삭제하는 것

서버 : 응답이 오면 요청을 해주는 것

응답, 요청에 집중을 해보자

  • 올바른 data와 올바른 요청을 보내야 함
    • html form의 속성 중 method에는 get, post가 있다
    CREATE POST
    READ GET
    UPDATE PUT
    DELETE DELETE
    • 서버에서 데이터의 수정, 특히 생성이 일어날 때 POST
    • 서버에서 데이터를 받아올 때 GET
    • 데이터의 수정이 일어날 때 PUT
    • 데이터를 삭제할 때 DELETE