본문 바로가기

개발자는 알아야될 지식

(6)
마이크로 서비스란? 마이크로 서비스란? : 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식입니다. 참고 : https://aws.amazon.com/ko/microservices/ 모놀로식 아키텍처 마이크로서비스 아키텍처 장점 - End-to-End 테스트가 용이 (MSA 경우 테스트에 필요한 서비스들을 모두 동작시켜야함) - 빠르게 간단한 서비스를 만들 수 있다 (환경이 같아서) - 쉽게 고가용성 서버 환경을 만들 수 있다 (같은 어플리케이션으로 하나 더 만들면 된다) - 유지보수 용이(일부분의 오류만 수정 가능) - 거대한 서비스도 빠르게 수정 가능하다 - 각 기능에 따라 다른 언어를 선택할 수 있음 - ..
SSR(서버사이드랜더링) vs CSR(클라이언트사이드랜더링) [ 렌더링이란 ? ] 현재 페이지를 그리기전 DOM tree + CSSOM을 결합해 만들어진 렌더링 트리를 이용해 레이아웃단계를 거쳐 페인팅(화면에 그려주는 것)되는 과정을 말한다. 브라우저 동작 과정 에 렌더링 관한걸 적어두었다 참고하면 좋을꺼같다 ㅎㅎ 렌더링 방식에는 2가지가 있다. 1. SSR - Server Side Rendering - Client에서 요청시마다 페이지가 새로고침되며, 화면이 어떻게 보여질지 Server에서 해석하여 Client에게 보내주는 방식 - 웹의 초기부터 SPA에 대한 구현체들이 나오기 전까지는 전통적인 웹사이트들은 모두 MPA 형태로 서비스해 왔다. MPA는 페이지를 이동할 때마다 새로운 페이지를 요청한다. 모든 템플릿은 서버 연산을 통해서 렌더링하고 완성된 페이지 형..
클로져(Closure)는 무엇이며, 어떻게/왜 사용하는가? 클로져를 제대로 이해하기 위해서는 javascript 의 scope, scope chain, context 에 대한 이해가 선행 되어야 한다. [scope] : 우리말로 번역하면 ‘범위’라는 뜻을 가지고 있습니다. 즉, 스코프(Scope)란 ‘변수에 접근할 수 있는 범위’라고 할 수 있다 자바스크립트에선 2가지의 스코프가 있다 1. global (전역) : 어느 곳에서든지 해당 변수에 접근가능. 2. local (지역) : 해당 지역에서만 접근 가능 자바스크립트는 함수를 선언할 때마다 새로운 스코프를 생성한다. 함수 안에서 선언한 변수는 해당 함수 안에서만 접근할 수 있는데 이걸 함수 스코프(function-scoped)라고 한다.(함수스코프는 local scope의 예라고 할 수 있다.) EX) pri..
반응형 웹과 적응형 웹 차이점 [반응형 웹] 화면의 크기에 따라 홈페이지의 사이즈가 변화한다. PC / 태블릿 / 모바일 각각의 전용 홈페이지를 만들 필요가 없음 장점 : 1. 유지보수가 효율적이다. -> 하나의 소스를 수정하면 모든 기기 사이즈에 맞추어 콘텐츠가 최적화 2. 사용자가 기기에 구애를 받지 않는다 단점 : 1. 비용이 높다 해상도별로 출력될 화면을 정의하는데 소요되는 공수가 있어 제작비용이 높다 2. 접근성이 떨어지거나 , 비효율적일 수 있다. -> 쇼핑몰과 같이 많은 양의 정보를 한 화면에서 보여주는 경우 3. 코드가 복잡하다. (적응형 웹보다 가격이 비싼이유이다.) -> 고정된 픽셀값 대신 백분율 값을 사용하고 기기화면 크기에 따라 조정해야 되기 때문 [적응형 웹] 적응형 홈페이지는 기준이 되는 기기의 사이즈가 되면..
브라우저 동작 과정 웹 성능 최적화에 대해 공부를 하려다보니 브라우저가 어떻게 동작하는지 알아야 될꺼같아 차근차근 공부해 나갑니다. [브라우저] 브라우저란 웹 페이지, 이미지, 비디오 등의 콘텐츠를 수신, 전송 및 표현하는 소프트웨어입니다. 우리가 인터넷에 접속하기위해 사용하는 크롬, 사파리, 엣지, 파이어폭스, 익스플로어 등이 바로 브라우저 입니다. 각 브라우저마다 해석과정이 다르기 때문에 웹표준이 존재합니다. 원래는 W3C가 담당했으나 앞으로 HTML5 & DOM 표준은 WHATWG가 담당한다고 합니다. (출저 기사: zdnet.co.kr/view/?no=20190531184644 ) [브라우저의 기본 구조] 사용자 인터페이스(User Interface) 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등 요청한 페이지를 ..
쿠키(CooKie) / 세션(Session) / 캐시(Cache) [쿠키,세션 사용이유] : HTTP의 비연결성과 비상태성을 보완하여 서버가 클라이언트를 식별하게 해주기 위해서 사용한다. [HTTP 비연결성,비상태성 이란?] HTTP(Hypertext Transfer Protocol)는 WWW(World Wide Web)상에서 서버/클라이언트 사이의 요청과 응답 데이터를 주고 받기 위해 사용된다. 이 HTTP 프로토콜에는 비연결성(Connectionless) , 비상태성(Stateless)이라는 특징을 가지고 있다. 비연결성(Connectionless) : 클라이언트가 요청(Request)를 서버에 보내면 , 서버는 클라이언트에게 요청에 맞는 응답(Response)를 보내고 접속을 끊는다. (HTTP1.1 버전부터는 연결을 계속 유지하며 Request에 재활용하는 기능..