Web 개발/Web 기본 지식
-
OAuth2.0 - AccessToken, Role, RegisterWeb 개발/Web 기본 지식 2023. 5. 5. 12:12
3가지 point가 존재 예를 들면 사용자가 Service에 접속해 글을 작성하거나 글을 봤다고 가정하면 해당 Service 사용자를 대신해서 Their(구글,페이스북, 트위터) 구글과 같은 서비스에 캘린더에 날짜 기록을 한다던지, 또는 페이스북에 글을 썼다거나 글을 봤다는 걸 공유 해준다던지 이러한 것들을 하기 위해서는 Service에서 User로 부터 User가 사용하고 있는 Their Service에 접근할 수 있도록 허가를 받아야한다. 일단 Their Service에 사용자의 Id, Password가 존재할 것이다. 그것을 User로 부터 전달 받아 Service에서 User의 Id, Password를 기억하고 있다가 실제로 User를 대신해서 Their Service에 접속할 때 기억한 Id,P..
-
GraphQL - GraphQL로 정보 주고받기Web 개발/Web 기본 지식 2023. 3. 23. 17:05
GraphQL로 정보 주고 받기 REST API는 어떤 라이브러리나 기술이 아니라 정보를 주고 받는 형식이다. 그래서 해당 형식에 따라서 여러 라이브러리들이 정보를 주고 받을수 있다. 위 화면은 Apllo라이브러리에서 제공하는 UI이다. 위 UI로 만들고 있는 GraphQL프로젝트에 여러 명령어들을 실행 할 수 있는 UI를 제공한다. REST API에서 사용되는 PostMan과 같은 기능을 한다고 생각하면 된다. GraphQL 사용해 보기 teams정보 받아오기 query는 REST API에서 GET과 같은 것이다. 그 다음에 받아올 객체인 teams{ }을 입력하고 그 안에 team객체에서 받아오기를 원하는 모든 속성을 입력해준다. 일단 위 그림에서는 team에 존재하는 모든 속성을 입력한 다음에 재생..
-
도커 와 마이크로 서비스Web 개발/Web 기본 지식 2022. 4. 29. 15:53
웹 서비스 개발과 마이크로 서비스 모노리틱 구조 처음에는 하나의 서버에 모든 기능을 넣었음 1세대 : USER ----- INTERNET --- WEB SERVER (Read static HTML) 2세대 : USER ----- INTERNET --- WEB SERVER (Create request-based HTML from CGI + DB) 3세대 : USER ----- INTERNET --- WEB SERVER MVC 패턴 기반 프레임원크 활용 MVC : Model - View - Control 패턴으로 구조화된 프레임워크를 사용, 빠르게 다양한 기능을 제공 코드 레벨에서 분리를 한 것임으로 분리를 했다 쳐도 하나의 Server에 있는 것과 동일하다. 마이크로 서비스 서비스가 방대해짐에 따라, 하나..
-
JWT(JSON Web Token)Web 개발/Web 기본 지식 2022. 2. 19. 16:59
JWT의 존재 이유 가상의 시나리오 어떤 웹 어플리케이션을 하나 개발한다고 생각 해보자 당연히 클라이언트가 있고, 그 클라이언트와 통신을 할 API 서버를 두게 된다. 그럼 거기에는 자연스럽게 데이터베이스가 따라간다. 이런 구조로 서비구를 구동 중에 있다가 서비스가 잘되어서 이용자가 많이 늘어 나게 되었다. 그런 경우에 클라이언트는 보통 문제가 되지 않는다. 오프라인 앱이라면 그냥 유저가 가지고 있는거니까 상관이 없고, 웹 어플리케이션이라면 CDN을 통해서 저렴하게 배포를 할 수가 있다. API서버는 어떨까 이 경우에도 스케일 아웃을 해서 서버를 늘리면 된다. 서버를 굴리기 위한 비용도 그닥 비싸지 않다. 이런 경우 가장 번거로운건 바로 데이터베이스 이다. 병렬처리 하기가 쉽지 않기 때문에 기본적으로 분..
-
Web Server와 WAS의 차이 1Web 개발/Web 기본 지식 2022. 1. 17. 11:59
Static Page - Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. - 항상 동일한 페이지를 반환한다. Dynamic Page - 인자의 내용에 맞게 동적인 contents를 반환한다. - 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 *Servlet:WAS위에서 돌아가는 Java Progeam - 개발자는 Servlet에 doGet()을 구현한다. Web Server 와 WAS의 차이 Web Server Web Server의 개념 Web Server의 기능 -HTTP프로토콜을 기반으로 하여 클라이어트(웹브라우저 또는 웹 크롤러)의 요청을 서비스하는 기능을 담당한다. 요청에 따라 다음 2가지 기능 중 적절하게 선택하여 수행한다. ..
-
커널과 쉘Web 개발/Web 기본 지식 2022. 1. 7. 20:00
사용자가 입력한 명령어는 일려의 과정을 거쳐 하드웨어를 제어하게 된다. 사용자가 명령어를 작성하고 조작하기 까지 이 사이에는 몇 가지의 과정을 거쳐서 수행을 하게 되는데, 명령어를 입력하게 되면 컴퓨터 내부에서는 쉘(Shell)이 이를 받아들이고, 명령어를 해석하여 커널(Kernel) 을 통해 하드웨어를 조작한다. 즉 제일 하단에는 하드웨어가 있고, 그 위에는 커널, 커널위에는 쉘, 그리고 쉘 위에는 사용자가 존재하여 사용자인 유저의 입력을 받게 된다. 커널 커널은 운영체제의 핵심 으로, 쉽게 말해 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램 이다. 운영체제에서 가장 중요한 구성요소로서 입출력을 관리하고 소프트웨어로부터의 요청을 컴퓨터에 있는 하드웨어(CPU,메모리,저장장치등)가 처리 할 수..