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가 있다
READ GET UPDATE PUT DELETE DELETE - 서버에서 데이터의 수정, 특히 생성이 일어날 때 POST
- 서버에서 데이터를 받아올 때 GET
- 데이터의 수정이 일어날 때 PUT
- 데이터를 삭제할 때 DELETE