[요구사항 분석] 유튜브
유튜브 크리에이터 관점보다는 사용자 입장에서 요구사항 분석해봤습니다. 유튜브 홈 영상 리스트 조회 영상 검색 영상 목록 조회, 생성, 삭제 유튜브 영상 영상 재생, 중지, 좋아요, 영상 목록에 추가 유튜브 채널 구독 댓글 작성, 삭제, 조회 알림 회원
유튜브 크리에이터 관점보다는 사용자 입장에서 요구사항 분석해봤습니다. 유튜브 홈 영상 리스트 조회 영상 검색 영상 목록 조회, 생성, 삭제 유튜브 영상 영상 재생, 중지, 좋아요, 영상 목록에 추가 유튜브 채널 구독 댓글 작성, 삭제, 조회 알림 회원
OAuth란? 구글, 카카오 같은 다양한 플랫폼의 자신의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여할 수 있는 수단으로 우리가 개발하는 서비스가 플랫폼의 정보에 접근하기 위해 접근권한을 플랫폼으로부터 위임을 받는 것이다. 본 포스팅은 Authorization Code 방식의 OAuth만을 다룹니다. OAuth 2.0이 나오게 된 이유 위와 같은 주체들이 있을 때 USER는 GOOGLE이나 KAKAO에 회원가입이 되어있는 상태이고, MY SERVER에서 PLAFORM에 접근하기 위해 PLATFORM INFO를 넘겨주면 MY SERVER에서는 PLATFORM에 USER 리소스에 대한 접근을 USER인 것 처럼 할 수 있다. 하지만 USER의 입장에서 MY SERVER에서 해당 정보를 유실하거나..
이 글은 '면접을 위한 CS 전공지식 노트' 책을 토대로 작성하였습니다. 메모리 계층 레지스터 CPU 안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량 가장 적음 캐시 L1, L2 캐시를 지칭. 휘발성, 속도 빠름, 기억 용량 적음 주기억장치 RAM을 지칭. 휘발성, 속도 보통, 기억 용량 보통 보조 기억장치 HDD, SSD를 지칭. 비휘발성, 속도 낮음, 기억 용량 많음 계층 위로 올라갈수록 가격은 비싸지고 용량은 작아지고 속도가 빨라지는 특징이 있다. 이러한 계층이 있는 이유는 경제성과 캐시 때문이다. 예를들어 16GB RAM은 8만원이지만 동일 용량의 SSD는 훨씬 더 싸다. CPU에서 멀어질수록 용량은 크고 속도는 느리고 가격은 저렴해지지만 CPU까지 가져오기 위해 추가작업이 필요해지..
이 글은 '면접을 위한 CS 전공지식 노트' 책을 토대로 작성하였습니다. 운영체제는 사용자(애플리케이션)가 컴퓨터(하드웨어)를 쉽게 다루게 해주는 인터페이스이다. 운영체제와 유사하지만 S/W 추가 설치가 안되는 것을 펌웨어라고 한다. 운영체제의 역할 CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 메모리 관리 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리 디스크 파일 관리 디스크 파일의 보관 방식 관리 I/O 디바이스 관리 마우스, 키보드 등과 컴퓨터 간에 데이터를 주고 받는 것을 관리 운영체제의 구조 GUI, 시스템콜, 커널, 드라이버 부분을 운영체제라고 칭한다. GUI 대신 CUI만 있는 리눅스 서버도 존재한..
HTTP프로토콜은 무상태 프로토콜로 이전과 이후의 통신상태와는 독립적으로 사용된다. 하지만 무상태 프로토콜을 이용하지만 로그인 유지 같은 사용자의 상태를 포함해야하거나 인가가 필요한 상황에서는 세션을 사용하거나 토큰을 HTTP Request Header 내에 넣어 사용한다. 위치 둘 다 인증(로그인)시에 생성되고 중요한 것은 저장이 되는 위치이다. 세션 로그인 성공 시에 해당 유저의 세션을 서버에서 저장하고, 클라이언트에게는 세션id를 넘겨준다. 이후에 로그인이 필요한 서비스에 접근할 때(인가)는 HTTP Request의 헤더에 세션 id를 추가해서 보내고, 서버는 관리중인 세션중에 넘겨받은 세션id와 일치하는 세션이 있다면 세션의 Role을 확인하고 접근을 허가한다. 토큰 로그인 성공 시에 서버는 해당..
인덱스의 개념 자주 사용되는 칼럼으로 생성해 테이블 전체를 찾지 않고도 데이터 조회 동작 속도를 높여주는 자료구조 인덱스가 설정되지 않으면 Table Full Sacn이 일어나 성능이 저하되거나 치명적인 장애로 이어질 수 있다. 사용자가 직접 접근할 수는 없고, 검색과 질의에 대한 처리에만 사용된다. 조회속도는 빨라지지만 쓰기(INSERT, UPDATE, DELETE)속도는 별도의 자료구조의 수정도 필요하므로 낮아진다. 인덱스를 저장하기 위한 데이터베이스 전체 크기의 10%정도의 저장공간도 필요하다. 위와 같은 특징들로 인해 수정보다 검색이 필요한 테이블에서 사용한다 인덱스의 특징 인덱스는 하나 혹은 여러개의 컬럼에 대해 설정할 수 있다. WHERE절을 사용하지 않고 인덱스가 걸린 컬럼을 조회하는 것은 ..
데이터베이스 정규화? 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정으로 단계별로 구분해 정규형이 높아질수록 이상현상을 줄인다. 이상현상? 데이터베이스에서 정규화를 수행하지 않으면, 데이터의 중복이 발생하고 전체적인 무결성의 저하로 이어진다. 이러한 원인은 이상현상으로 인해 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제가 발생한다. 이상현상을 설명할 대학교 릴레이션이다. 학번 학생명 학과명 동아리 1 바트 컴퓨터공학과 피아노 2 호머 물리학과 마술 3 마지 신소재공학과 밴드 삽입 이상 튜플 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야하는 현상 새로 개설된 탁구 동아리를 테이블에 추가 해야하지만 동아리원이 없어 특정 속성에 해당하는 값이 없어 NULL을 입력해야한다. ..
2월 2주차 스터디 발표자료 DB, DBMS, RDB 등에 대한 개념정리 데이터베이스란? 여러사람에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합 DBMS란? 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 데이터를 관리해주는 소프트웨어 RDBMS란? DBMS의 한 종류로 관계형 데이터베이스를 이용한다. 관계형 데이터베이스? RDB(관계형 데이터베이스)는 테이블, 행, 열의 정보를 구조화하고 테이블을 조인하여 정보 간 관계 또는 링크 설정을 통해 여러 데이터 포인트 간의 관계를 쉽게 얻을 수 있다. 관계형 데이터베이스의 모든 테이블에는 행에서 고유하게 식별가능 한 기본 키라는 속성이 있으며, 외래 키(다른 기존 테이블의 기본키를 참조)를 사용하여 각 행에서 서로 다른 테이블 간의 관계..