Today I learned
- OSI 7계층 특강
- 미니프로젝트 시작
OSI 7계층 특강
네트워크의 기본구조
네트워크란 정보가 전송되는 경로를 말한다
클라이언트와 서버는 통신 장비, 규칙에 따라서 정보를 주고 받는다
OSI 7계층
국제 표준화 기구(ISO)에서 OSI 7계층 모델을 만들어서 네트워크 기본 구조를 가이드
계층별 역할을 알아보자
계층 이름 설명
7계층 | 👩💻응용 계층(Application) | 애플리케이션 서비스 제공 |
6계층 | 🗂️표현 계층(Presentation) | 문자코드, 압축, 암호화 |
5계층 | ⛳️세션 계층(Session) | 통신 방식 결정 |
4계층 | 🔐전송 계층(Transport) | 신뢰성 있는 통신 구현 |
3계층 | 🎯네트워크 계층(Network) | 다른 네트워크와 통신하기 위한 IP주소 결정 |
2계층 | ⛓️데이터링크 계층(Data Link) | 물리주소 결정 |
1계층 | 📡물리 계층(Physical Layer) | 물리적인 연결과 전기 신호 변환 |
7~5번 계층은 사용자 지원계층으로 관계 없는 소프트웨어 시스템 간 상호 운용성을 제공한다
4번 계층은 전송계층으로 네트워크 지원 계층과 사용자 지원 계층을 서로 연결 네트워크 지원 계층이 전송한 것을 사용자 지원 계층이 사용할 수 있는 형태가 되도록 보장한다
3~1번 계층은 네트워크 지원계층으로 하나의 장치에서 다른 장치로 전송되는 데이터의 물리적인 면을 처리한다
(4계층을 퉁쳐서 1~4의 데이터 플로우 계층과 5~7의 애플리케이션 계층으로 나누기도 한다)
계층별 통신 규칙 및 단위
TCP/IP 프로토콜
TCP/IP는 TCP와 IP를 중심으로 한 여러 프로토콜의 집합체를 총칭하는 용어다
미니 프로젝트 시작
이번에 미니프로젝트는 SNS의 기능 중 뉴스피드를 구현하는 미니프로젝트이다
우리는 벨로그를 참고해서 프로젝트를 진행하기로 했다
뉴스피드 프로젝트 S.A
프로젝트면 : 플레인 요거트
간단 설명
기본에 충실한 벨로그 스타일의 뉴스피드를 구현한다
회원가입, 로그인, 글쓰기. 댓글 달기 등 기능을 구현한다
와이어 프레임
로그인
회원가입
로그인 전 메인페이지
로그인 후 메인페이지
게시글 작성
마이페이지
프로필 수정
API
기능 | method | url | request | response |
메인 페이지 | GET | / | 게시글 전체 목록 | |
회원 가입 | POST | /users | {"user_id":"user_id", "user_pw":"user_pw", "name":"name", "email":"email", "image":"image", "disc":"disc"} |
회원 가입 완료 |
마이 페이지 | GET | /users/{id} | - | {"id":"id", "name":"name", "email":"email", "image":"image", "disc":"disc"} |
프로필 수정 | PUT | /users/{id} | {"name":"name", "email":"email", "image":"image", "disc":"disc"} |
수정 완료 |
로그인 | POST | /login | {"user_id":"user_id", "user_pw":"user_pw"} |
로그인 성공 |
로그아웃 | POST | /logout | - | 로그아웃 |
게시글 작성 | POST | /board | {"user_id":"user_id", "title":"titlle", "contents":"contents"} |
작성 성공 |
게시글 수정 | PUT | /board | {"title":"titlle", "contents":"contents""} |
수정 성공 |
게시글 삭제 | DELETE | /board | - | 삭제 성공 |
파일 업로드 | POST, GET | /upload | {"file":"file"} | - |
게시글을 board보다는 articles라고 API를 정하고 진행하는게 좋다는 튜터님에게 피드백을 받았다
하지만 지금의 프로젝트에서는 게시판이 하나이기 때문에 진행해도 문제는 없다고 하셔서 이미 진행한 상황들이 있어서
그냥 board를 사용하기로 했다
나는 이번 프로젝트에서 로그인과 데이터베이스 설계를 담당했다
ER다이어그램을 작성해 보았다
팀원들과 확인 후 괜찮다고 해서 데이터베이스를 생서하고 테이블을 만들며 세팅을 진행했다
'과거공부모음' 카테고리의 다른 글
나의 개발일지 TIL(Today I learned) - 미니프로젝트 (2일) (0) | 2022.12.05 |
---|---|
나의 개발일지 WIL(Weekly I learned) - 데이터베이스, CS기초, 미니프로젝트 시작 (0) | 2022.12.05 |
나의 개발일지 TIL(Today I learned) - rest API, HTML, CSS, Javascript 특강 (0) | 2022.12.01 |
나의 개발일지 TIL(Today I learned) - 데이터베이스 (DB 특강) (0) | 2022.11.30 |
나의 개발일지 TIL(Today I learned) - 자료구조와 알고리즘(트리, 힙, 그래프, BFS, DFS, 타임어택 문제풀기) (0) | 2022.11.29 |