logo

웹프레임워크란?

Computer Science · 7월 24일 · 11 min read
poster

웹 프레임워크(WF) 또는 웹 애플리케이션 프레임워크(WAF)는 웹 서비스, 웹 리소스, 웹 API를 포함한 웹 애플리케이션 개발을 지원하도록 설계된 소프트웨어 프레임워크이다. 웹 프레임워크는 월드와이드웹에서 웹 애플리케이션을 구축하고 배포하기 위한 표준적인 방법을 제공하며, 웹 프레임워크는 웹 개발에서 수행되는 일반적인 활동과 관련된 오버헤드를 자동화하는 것을 목표로 한다. 예를 들어, 많은 웹 프레임워크는 데이터베이스 액세스, 템플릿 프레임워크, 세션 관리를 위한 라이브러리를 제공하여 코드 재사용을 용이하게 하는 경우가 많다. 동적 웹 사이트 개발을 대상으로 하는 경우가 많지만, 정적 웹 사이트에도 적용할 수 있다.

역사

월드와이드웹의 디자인은 본질적으로 동적이 아니었기 때문에 초기 하이퍼텍스트는 웹 서버에 게시된 수작업으로 작성된 HTML 텍스트 파일로 구성되었다. 1993년, 외부 애플리케이션과 웹 서버 간의 인터페이스를 위해 CGI(Common Gateway Interface) 표준이 도입되어 사용자의 입력을 반영하는 동적 웹 페이지를 제공하게 되었다. 하게 되었다.

그러나 CGI 인터페이스의 초기 구현은 각 요청이 별도의 프로세스를 시작하기 때문에 일반적으로 서버 부하에 악영향을 미쳤다. 최근의 구현은 서버의 리소스 사용량을 줄이고 일반적인 성능을 향상시키기 위해 다른 기술 중에서도 영구적인 프로세스를 사용한다.

1995년에는 서버와 언어가 완전히 통합된 개발 환경이 등장했고, ColdFusion, PHP, Active Server Pages와 같은 새로운 웹 전용 언어가 등장했다.

동적 웹페이지 제작을 위한 대부분의 언어에는 일반적인 작업을 지원하는 라이브러리가 있지만, 웹 애플리케이션에서는 HTML 작성과 같은 특정 작업을 위해 특정 라이브러리(예: Jakarta Server Faces)가 필요한 경우가 많다.

1990년대 후반에는 웹 개발에 유용한 여러 라이브러리를 웹 개발자가 사용할 수 있는 하나의 통합된 소프트웨어 스택에 모아놓은 성숙한 "풀스택" 프레임워크가 등장하기 시작했다.

프레임워크 애플리케이션

프레임워크는 단일 프로그래밍 언어를 기반으로 한 인터넷 애플리케이션 구축을 지원하기 위해 구축된 것으로, 젠드 프레임워크나 루비 온 레일즈와 같이 특정 언어의 기능을 보강하는 범용 도구부터 콘텐츠 관리 시스템(CMS), 모바일 개발 도구, 포털 도구와 같이 특정 사용자 애플리케이션을 중심으로 구축된 네이티브 언어로 프로그래밍이 가능한 패키지까지 다양하다.

범용 웹사이트 프레임워크

웹 프레임워크는 브라우저의 아키텍처 규칙과 상태 비저장 프로토콜인 HTTP와 같은 프로토콜에 따라 작동해야 한다. 웹 페이지는 서버에서 제공하고, 브라우저는 자바스크립트를 통해 수정할 수 있다. 두 가지 접근 방식 모두 장단점이 있다.

서버 측에서 페이지를 변경하는 경우 일반적으로 페이지를 새로 고쳐야 하지만 모든 언어를 사용할 수 있고 더 많은 계산 능력을 사용할 수 있다. 클라이언트 측 변경은 데스크톱 애플리케이션처럼 작은 덩어리로 페이지를 새로 고칠 수 있지만, 자바스크립트로 제한되고 사용자 브라우저에서 실행되기 때문에 계산 능력이 제한될 수 있다. 일반적으로이 두 가지를 혼합하여 사용합니다. JavaScript를 많이 사용하고 페이지의 일부만 업데이트하는 애플리케이션을 단일 페이지 애플리케이션이라고하며 일반적으로 클라이언트 측 JavaScript 웹 프레임 워크를 사용하여 코드를 구성합니다. 사용합니다.

관련 포스트
post image
머신 코드
컴퓨터 프로그래밍에서 기계어 명령어로 구성된 컴퓨터 코드를 말하며, 컴퓨터의 중앙처리장치(CPU)를 제어하는 데 사용된다. 과거에는 10진법 컴퓨터가 일반적이었지만, 현대 시장에서는 2진법 컴퓨터가 주류다. 이러한 컴퓨터에서 기계 코드는 '컴퓨터가 실제로 읽고 해석하
Computer Science·12월 26일·22 min read
post image
책 디자인 패턴 후기
디자인 패턴: Elements of Reusable Object-Oriented Software(디자인 패턴: 재사용 가능한 객체지향 소프트웨어의 요소)(1994)는 소프트웨어 디자인 패턴을 설명한 소프트웨어 공학 서적이다. 에리히 감마, 리처드 헬름, 랄프 존슨,
Computer Science·12월 16일·16 min read
post image
브라우저 엔진, blink
블링크는 크롬 프로젝트의 일환으로 개발된 브라우저 엔진으로 애플, 구글, 메타, 마이크로소프트, 오페라 소프트웨어, 비발디 테크놀로지스, 어도비, 인텔, IBM, 삼성 등이 참여하고 있으며, 2013년 4월에 처음 발표되었다. 되었다. # 네이밍 블링크의 네이밍은
Computer Science·9월 14일·13 min read
post image
nextjs의 탄생배경
Next.js는 민간기업 베르셀(Vercel)이 개발한 오픈소스 웹 개발 프레임워크로, 서버 측 렌더링과 정적 웹사이트 생성 기능을 갖춘 리액트 기반 웹 애플리케이션을 제공한다. 리액트 문서에서는 'Node.js로 서버 렌더링된 웹사이트를 구축할 때' 개발자에게 조
Computer Science·7월 14일·16 min read
post image
알고리즘의 정의
수학 및 컴퓨터 과학에서 알고리즘은 일반적으로 특정 문제 클래스를 해결하거나 계산을 수행하는 데 사용되는 엄격한 명령의 유한한 시퀀스이다. 알고리즘은 계산이나 데이터 처리를 수행하기 위한 사양으로 사용된다. 고급 알고리즘은 조건식을 사용하여 코드 실행을 다양한 경로(
Computer Science·7월 4일·29 min read
post image
운영체제 톺아보기
운영체제(OS)는 컴퓨터의 하드웨어 및 소프트웨어 자원을 관리하고 컴퓨터 프로그램에 공통된 서비스를 제공하는 시스템 소프트웨어이다. 시간 공유 운영 체제는 시스템을 효율적으로 사용하기 위해 작업을 예약하고 프로세서 시간, 대용량 저장 장치, 주변 장치 및 기타 자원
Computer Science·5월 21일·17 min read
post image
백그라운드-프로세스에-대해-알아보기
백그라운드 프로세스는 사용자의 개입 없이 무대 뒤에서(즉, 백그라운드에서) 실행되는 컴퓨터 프로세스를 말한다. 이러한 프로세스의 일반적인 작업에는 로깅, 시스템 모니터링, 스케줄링, , 사용자 알림 등이 있다. Windows 시스템에서 백그라운드 프로세스는 사용자
Computer Science·3월 1일·15 min read
post image
프로세스란?
컴퓨팅에서 프로세스는 하나 이상의 스레드에 의해 실행되는 컴퓨터 프로그램의 인스턴스이다. 다양한 프로세스 모델이 존재하며, 일부는 경량화되어 있지만, 거의 모든 프로세스(전체 가상 머신 포함)는 프로그램 코드, 할당된 시스템 자원, 물리적 및 논리적 액세스 권한, 실
Computer Science·2월 16일·26 min read