본문 바로가기

BackEnd41

브라우저 동작 원리 브라우저의 핵심 기능은 사용자가 참조하고자 하는 웹페이지를 서버에 요청(Request)하고 서버의 응답(Response)을 받아 브라우저에 표시하는 것이다. 브라우저는 서버로부터 HTM, CSS, Javascript, 이미지 파일 등을 응답받는다. HTML, CSS 파일은 렌더링 엔진의 HTML 파서와 CSS파서에 의해 파싱(Parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합된다. 이렇게 생성된 렌더 트리를 기반으로 브라우저는 웹 페이지를 표시한다. 브라우저의 기본 구조 사용자 인터페이스 : 여기에는 주소 표시줄, 뒤로/앞으로 가기 버튼, 북마크 메뉴 등이 포함된다. 요청한 페이지가 표시되는 창을 제외한 브라우저의 모든 부분이 표시된다. 브라우저 엔진 : UI와 렌더링 엔진 간의 작.. 2022. 1. 10.
[OAuth] OAuth2.0란? OAuth(Open Authorization)란? 자신이 소유한 리소스에 소프트웨어 애플리케이션이 접근할 수 있도록 허용해 줌으로써 접근 권한을 위임해주는 개방형 표준 프로토콜 OAuth 탄생 배경 OAuth이 등장하기 전에 A 사이트에서 B 사이트의 리소스를 가져오기 위해서는 다른 사이트의 ID와 Password를 직접 입력 받아 저장하여 필요할 때마다 불러와서 사용을 해야했다. 위와 같은 방식을 사용하게되면 다음과 같은 문제가 발생한다. 사용자 : A 사이트에 B사이트의 ID와 Password를 넘겨주는 것에 대해 신뢰할 수 없다. A 사이트 : ID와 Password를 받았기 때문에 보안 문제가 생기는 경우 모든 책임을 져야한다. B 사이트 : A 사이트를 신뢰할 수 없다. 위와 같은 문제를 해결하.. 2021. 10. 19.
Data Warehouse Vs Data Lake Data Warehouse(데이터 웨어하우스) 다양한 소스에서 수집된 잘 구성된 데이터의 중앙 저장소이다. 간단히 말해서 데이터는 이미 정리되고 분류되어 복잡한 구조의 테이블에 저장된다. 데이터 웨어하우스가 설정되고 현재 및 과거 데이터로 로드되면 기업은 이를 사용하여 예측 대시보드 및 추세 보고서를 생성하고 비지니스 프로세스에 대한 귀중한 통찰력을 얻을 수 있다. 데이터 웨어하우스 특성 통합 데이터는 원본 소스에 관계없이 항상 동일한 방식으로 추출되고 변환된다. 비휘발성 데이터 웨어하우스는 실시간으로 업데이트되지 않는다. 데이터의 예약 및 시간 업로드를 통해 업데이트되어 일시적인 변경의 영향으로부터 데이터를 보호한다. 확장 가능 데이터 웨어하우스는 스토리지 공간에 대한 증가하는 수요를 충족하기 위해 쉽.. 2021. 10. 12.
Node.js와 Spring 비교 Node.js 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼 작성 언어 : JavaScript Node.js 특징 싱글 스레드의 non-blocking I/O 이벤트 기반 비동기 방식으로 작동한다. 서버의 무리가 적다. JavaScript 엔진(V8 Engine)으로 빌드된 JavaScript 런타임이다. c++로 개발된 V8 JavasScript Engine이기 때문에 확장성이 좋다. 개발속도 향상이 가능하다. JavaScript를 사용하면 JSON 데이터 다루기가 용이하다. npm(node package manager)를 통해 다양한 패키지를 제공한다. non-blocking I/O 호출 직후 프로그램으로부터 제어가 돌아오기 때문에, 시스템 호출 종료를 기다리.. 2021. 9. 17.
[Node.js] Express 프로젝트에 Swagger 사용하기 Swagger란 Swagger는 APi 개발 Workflow 전반에 걸쳐 일관성과 규율을 주도하도록 팀을 위해 구축된 통합 API 설계 문서 플랫폼이다. 더 빠르고 표준화된 API 설계 스마트 오류 피드백 및 구문 자동 완성 기능을 갖춘 강력한 편집기 코드 없이 작업을 가상화하는 API Mocking 여러 API에서 디자인 일관성을 보장하기 위한 스타일 유효성 검사기 여러 API에서 공통 OAS 구문을 저장, 재사용 및 참조하기 위한 도메인 안전한 API 협업 API에 대한 효과적인 협업을 위한 조직 및 팀 관리 협업자와 소통하고 미해결 문제를 추적하기 위한 실시간 댓글 협업 워크플로에 대한 엄격한 제어를 위한 분기, 비교 및 병합 Source Control 및 API Gateway와 같은 API 수명 .. 2021. 9. 6.
[RESTful] API 설계 PUT vs PATCH API Endpoint를 설계할 때 항상 CRUD(Create, Read/Retrieve, Update, Delete) 작업에 사용할 HTTP 메서드를 지정해야 한다. 일반적으로 다음과 같이 정리된다. Create : POST Read/Retrieve : GET Update : PUT/PATCH Delete : DELETE Update의 경우 PUT과 PATCH 두 가지 매서드가 존재하는데, 두 방법 모두 한 Location에서 리소스를 업데이트하는 역할을 하지만 방식이 다르다. 여기서 말하는 '한 Location에서 리소스를 업데이트'란 무엇을 뜻하는 것일까? HTTP Request 대상을 "resource(리소스)"라고 부르는데, 리소스는 문서, 사진 그 어떤 객체든 될 수 있으며 각 리소스는 HTT.. 2021. 8. 24.
반응형