전체 글

웹 성능 개선을 위한 HTTP Cache웹 페이지 로딩 시간을 단축하는 것은 웹 성능 최적화의 핵심이다. 여기서 중요한 역할을 하는 것이 바로 HTTP Cache.웹은 클라이언트가 서버에 요청을 보내고 그 결과를 받는 것이다. 이 때  웹 브라우저는 매번 웹 서버에게 요청해서 응답을 받아야하고 웹 서버는 매번 웹 브라우저의 요청에 대한 응답을 만들고 반환해야한다. 이 과정을 반복하면 서버에 부하를 가져올 수 있다. 이렇기에 HTTP Cache를 활용하면 서버와 클라이언트 부하를 모두 줄이고 웹 페이지 속도를 개선 할 수있다. 오늘은 HTTP Cache에 대해 포스팅하고자 한다.웹 브라우저는 매번 웹 서버에 요청을 보내고 서버는 그 요청에 따라 결과를 생성하여 반환한다. 이 과정은 시간과 리소스가 많이 소..
로드 밸런싱은 대규포 트래픽 처리의 핵심 기술이다. 서버에 가해지는 부하를 분산시켜 서비스의 안정성과 성능을 유지하는 역할을 한다. 로드밸런싱이란? 로드 밸런싱은 들어오는 네트워크 트래픽을 여러 서버에 분산하여 단일 서버에 과부하가 걸리지 않도록 하는 기술이다.   로드밸런스가 등장한 이유트래픽 이슈: 서버수를 늘린다.(수평적 확장)안정적인 배포를 위한 필요성:새로운 서버에 배포하는 경우: 새로운 서버에 애플리케이션을 배포하면 IP가 변경될 수 있다. 이러한 경우 로드 밸런서를 사용하여 고정 IP를 부여하면, 클라이언트는 IP 변경을 인지하지 않고 서비스를 이용할 수 있다.기존 서버에 배포하는 경우: 기존 서버에 새 버전을 배포하면서 서버를 재시작해야 하는 상황이 발생할 수 있다. 이때, 로드 밸런서는 ..
API 설계: 클라이언트가 필요로 하는 데이터를 효율적으로 반환하기API는 클라이언트가 서버와 소통하는 인터페이스로, 클라이언트가 원하는 데이터를 어떻게 효과적으로 잘 반환할지 결정하는 것이 중요하다.어떻게 반환할 것인가: API 설계 방법론REST, GraphQL 등 다양한 API 설계 방식이 있으며, 각각의 방식이 데이터 요청과 반환을 다르게 처리한다.잘 반환하기: 속도와 가용성 최적화속도: 빠른 응답을 위해 캐시 도입, 데이터베이스 최적화, 쿼리 성능 개선 등을 고려한다.가용성: MSA(마이크로서비스 아키텍처)와 ELB(로드밸런싱) 등의 기술을 통해 시스템의 안정성과 확장성을 보장한다.데이터 관리: 백엔드의 핵심 역할 백엔드 개발의 주요 목표 중 하나는 데이터를 효율적으로 저장하고 관리하는 것이다...
자바스크립트 프레임워크와 웹 개발의 진화 웹 개발은 빠르게 발전하며, 자바스크립트 프레임워크와 도구들이 등장해 개발자들이 복잡한 애플리케이션을 더 쉽게 관리할 수 있도록 도와주고 있다. 이번 글에서는 자바스크립트 프레임워크의 동작 원리부터 CSS 개발, 그리고 다양한 렌더링 방식에 이르기까지 현대 웹 개발의 주요 개념들을 정리해보겠다. 자바스크립트 프레임워크 동작 원리 라이브러리와 프레임워크는 자바스크립트 개발의 핵심 요소로, 각기 다른 목적을 가지고 있다.라이브러리는 특정 기능을 수행하기 위해 단일 파일로 제공되는 코드 집합이다. 예를 들어, jQuery는 DOM 조작에 특화된 라이브러리다.프레임워크는 여러 라이브러리를 포함한 종합적인 개발 환경을 제공하며, 다양한 목적을 위해 사용된다. 대표적으로 R..
자바스크립트 런타임과 엔진: 웹과 서버에서의 동작 원리 자바스크립트는 웹과 서버 양쪽에서 중요한 역할을 하는 언어다. 자바스크립트가 어떻게 실행되는지를 이해하기 위해서는 자바스크립트 런타임과 자바스크립트 엔진의 개념을 알아야 한다. 자바스크트 런타임: 엔진과 API 자바스크립트 런타임은 자바스크립트 코드가 실행되는 환경을 말하며, 크게 자바스크립트 엔진과 **API(라이브러리 및 바이너리)**로 구성된다. 자바스크립트 런타임은 자바스크립트 코드를 기계어로 변환하고 실행하는 역할을 하며, 이 과정에서 필요한 API와 라이브러리를 함께 제공한다.자바스크립트 엔진: 자바스크립트 코드를 읽고, 이를 기계어로 변환하여 실행하는 역할을 한다. 예를 들어, 구글 크롬의 V8 엔진이 대표적인 자바스크립트 엔진이다.JS..
프론트엔드 웹 개발 : Rendering = 웹 페이지의 화면 변경웹 페이지 화면 변경: Javascript를 통한 HTML(DOM) 직접 조작 → Hard to Manage, 반복적인 Rendering ProcessjQuery 등장: Javascript 통한 DOM 조작을 쉽게 돕는 라이브러리과거에는 웹 브라우저 간 자바스크립트 엔진이 서로 달랐기 때문에, 동일한 자바스크립트를 사용해도 브라우저마다 동작이 다를 수 있었다. 이러한 호환성 문제를 해결하기 위해 jQuery가 등장했다.크로스브라우저 지원: jQuery는 다양한 웹 브라우저에서 동일하게 작동하는 코드를 제공하는 라이브러리다. 이를 통해 브라우저 간 호환성을 쉽게 유지할 수 있다.주요 기능:DOM 요소 선택: getElementById와 같은..
프로그램, 프로세스, 스레드의 기본 개념 먼저 프로그램과 프로세스, 그리고 스레드의 차이점을 알아보자.프로그램은 실행 파일 자체로, 아직 실행되지 않은 정적인 상태를 의미한다. 예를 들어, 컴퓨터에 설치된 .exe 파일이 프로그램에 해당한다. 반면에 프로세스는 실행된 프로그램을 의미하며, CPU에 메모리가 할당된 동적인 상태를 말한다. 프로그램을 더블 클릭해서 실행하면, 그때부터는 프로세스가 된다.스레드는 프로세스 내에서 작업을 실행하는 단위다. 하나의 프로세스는 여러 스레드를 가질 수 있으며, 이를 통해 다중 작업이 가능해진다. 예를 들어, 리그 오브 레전드(롤) 게임에서 채팅 화면과 게임 화면은 서로 다른 스레드로 처리되며, 이를 통해 게임과 채팅을 동시에 할 수 있다.  프로그램과 프로세스 예라면을..
웹 서버와 웹 어플리케이션 서버는 웹 서비스에서 중요한 역할을 한다. 이번 글에서는 이 두서버의 차이점과 역할, 그리고 초기 웹 어플리케이션 도작 원리에 대해 포스팅 해볼 예정이다. 1. 웹 서버(WS)웹 서버(WS)는  정적 웹 리소스를 반환. 정적 웹 리소스란, 사용자의 요청에 따라 미리 저장된 파일을 그대로 반환하는 것을 의미.정적 웹 리소스 예시:JSON 파일: API 응답으로 반환되는 데이터 파일.HTML 파일: 웹 페이지의 구조를 정의하는 마크업 파일.정적 웹 리소스는 동일한 내용의 파일을 여러 번 반환하기 때문에, 동일한 콘텐츠를 수많은 사용자에게 빠르게 제공할 수 있다. 하지만 웹 페이지의 내용이 많아지면, 웹 서버의 용량이 커질 수밖에 없다. 이런 경우, 반복되는 템플릿과 사용자 정보를 ..
1000_sang
CHEONSANG-DEV