전체 글 221

RESTful 설계 방법 / Validation / Server to Server

RESTful한 설계방법은 다음과 같다. 1. URI에는 명사 사용하고, 동사 사용은 지양해야 한다. 2. 언더바, 대문자는 사용하지 않는다. (소문자 지양) 3. 슬래시를 통해서 계층관계를 나타낸다. 4. 메소드는 실제 DB에서 동작하는 기준으로 정한다. 5. Delete보다 Patch가 더 적합하다. 5번에 대한 예시로는 데이터에 대해서, isDeleted N -> Y로 update가 더 낫고, 삭제는 지양해야 한다. 대부분의 데이터에 경우 업데이트를 통해 상태값만 바꾸고 실제로는 DB에 값이 남아있는 경우가 많다고 한다. 예시) RESTful한 URI 예시 GET /students/:studentId/subjects Validation이란 무엇일까? Validation: 사용자 요청이 서버로 들어왔..

백엔드 2021.11.14

RESTful API에 대한 이해

URI란 무엇일까? URI: URN + URL을 합친 개념으로 리소스를 식별하는 통일된 방식 이름으로 식별하는 경우: URN 위치로 식별하는 경우: URL REST란? 규칙적이지 않은 네이밍룰로 유지보수가 어렵고, 협업 개발자가 코드 이해가 힘들 수 있다. 그래서 도입된 것이 REST이다. 즉, HTTP로 정보를 보낼 때, URI를 어떻게 설계하고 어떤 메서드를 사용할 것인지 표준으로 정해놓은 개발자들 사이의 약속이다. API를 설계할 때 아무 규칙없이 개발한다면 예시) 멤버를 가져올 때 /get-member-list /readMembers 이런식으로 URI가 달라질 수 있다. 가독성이나 생산성이 떨어져 표준을 정한 것이 REST이다! API는 인터페이스가 핵심인데, API가 사용할 규칙을 만드는 것이다..

백엔드 2021.11.07

서버 5주차 정리 [키워드 정리]

Backend Language 홀서버 - 요리사 - 냉장고 (서버 프로그램) - (백엔드 랭기지) - (데이터베이스) API (Application Programming Interface) : 응용프로그램에서 상호 작용하는 인터페이스 인터페이스: 서로 다른 개체들이 상호작용할 수 있도록 연결하는 장치 예시) 노트북 키보드 예시) 당근마켓의 휴대폰 인증번호 받기 API [클라이언트와 서버의 관계] 클라이언트: Request 서버: Response 예시)상호작용은 휴대폰 인증번호 받기를 통해 이루어진다. API : http 메소드 + URI(ex: url) URL : 프로토콜 + hostname + port/path http 프로토콜은 http 패킷으로 데이터를 보냄 http 패킷(운송장: header, 박..

백엔드 2021.10.31

서버 4주차 정리 - DB에 관하여 - (2)

최소성: 꼭 필요한 최소한의 속성으로 키를 구별하는 속성 유일성: 하나의 키 값으로 각각의 튜플을 식별할수 있는 속성 슈퍼키: 최소성 X, 유일성 O 이름, 나이는 겹치지 않기 때문에 슈퍼키로 설정 가능하다. 후보키: 최소성 O, 유일성 O 이름+나이의 경우 (속성이 2개이기 떄문에 최소성 만족 하지 않는다.) 기본키 : 테이블의 각 레코드(테이블에서 행을)을 고유하게 식별하는 역할 테이블에서 기본키 한개를 설정할 수 있음 기본키는 널값과 중복된 값을 가질수 없음 기본키 : 대체키 , 외래키라고도 불림 대체키: 기본키로 선정되지 않은 후보들 외래키: 테이블이 다른 테이블을 참조해서 DB 연결 예) 수강 Table에서 학생 Table의 값을 가져옴 참조할 값은 기본키로 설정되어야 함 학생 Table: 부모..

백엔드 2021.10.24

서버 4주차 정리 - DB에 관하여 - (1)

[서버의 작동 원리] 클라이언트가 요청을 보내면 제일 먼저 서버 프로그램 요청 서버 프로그램 → BL(Backend language)에 요청 BL(Backend language)에서 데이터를 조회하기 위해서 DB에 요청 각 서버별로 DB 하나를 갖는게 좋을까? 서버 전체가 DB 하나를 공유하는게 편할까? 하나의 서버만 있다면 각종 트래픽이 있을거다. 하나의 서버별로 DB 하나를 가지는게 편할까? → 서버가 터지면 해당 DB도 문제, 해커가 공격 가능성 DB 관점에서 서버 전체가 DB 하나를 공유하는게 편하다! ID, PW → 구글 드라이브, GMAIL, Youtube 접근 → Google DB 통합 (하지만 속도가 좀 느리다는게 단점) AWS에서 제공하는 DB(RDS, DynamoDB, AWS Elast..

백엔드 2021.10.17

QUICK DBD 사용 후기

UMC 서버 4주차 준비에 앞서 QuickDBD Pro 버전이 필요하다고 해서, 무료로 받기 위해 게시물을 작성하고자 한다. QuickDBD의 후기를 쓰기 전에 ERD에 대해 간략하게 알아보고자 한다! ERD(Entity Relationship Diagram) 직역하자면 개체-관계 모델이다. 쉽게 생각하면, 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB 의 구조를 한눈에 파악할 수 있다. 즉, API를 효율적으로 뽑아내기 위한 모델 구조도라고 생각하면 된다. 이를 통해 프로젝트에서 사용되는 DB의 구조를 한눈에 파악할 수 있다. ERD의 기본 요소로는 Entity, Relationship, Attribute로 구성된다. 실세계의 모든 업무체계는 기본요소..

카테고리 없음 2021.10.15