1. 개념
웹 개발이란 웹 사이트를 만든다는 뜻으로 앱 개발 이전에 가장 중요하고 활발한 분야 중 하나였으며, 앱 개발이 나온 이후에도 역시 중요한 분야입니다. 웹 개발은 인터넷의 발전과 사용자들이 온라인에서 다양한 서비스와 정보에 웹 사이트를 통해 접근하고 제공받을 수 있게 하는 것인입니다. 웹 개발은 개인 블로그부터 대기업의 블로그 및 서비스까지 광범위하게 사용됩니다.
2. 프런트엔드
프런트엔드 기술은 웹 개발 구성요소 중 하나로, 사용자가 직접 모니터에서 보는 페이지를 제작하는 기술입니다. HTML, CSS, JavaScript 등을 사용하여 웹 페이지의 구조, 스타일, 기능 등을 구현합니다. HTML은 Hypertext Markup Language의 약자로 웹 페이지의 구조를 정의하는 마크업 언어입니다. 마크업 언어란 웹 페이지의 구조와 형식을 정의하는 언어로 텍스트, 이미지 , 링크 등을 웹 페이지 각종 위치에 배치합니다. HTML은 현재 HTML5까지 나와 있습니다. CSS는 Cascading Style Sheets의 약자로 웹 페이지의 스타일을 정의하는 언어입니다. 웹페이지의 레이아웃, 색상, 폰트 등은 CSS 언어를 통해 제작됩니다. 애니메이션 효과 등도 여기에 포함됩니다. JavaScript는 웹 페이지의 기능을 담당하는 스크립트 언어로 웹페이지를 이용하는 사용자와의 상호작용에 중요한 역할을 하는 언어입니다. 사용자의 마우스 클릭이나, 키보드 입력 등을 확인하고 이에 대한 웹 페이지의 반응을 담당하는 것이 JavaScript의 역할입니다.
3. 백엔드
백엔드는 웹페이지에서 사용자가 보지 않는 뒤의 부분이라 백이라는 표현을 사용하는데, 우리가 관념적으로 개발이라고 생각할 때 이런 느낌인가 하는 것이 백엔드 부분입니다. 백조가 수영을 할 때 우아 해 보이는 데, 물속에서는 열심히 발질을 하고 있는 것과 비슷한데, 여기서 발질 부분이 백엔드, 보이는 우아한 백조의 윗부분이 프런트엔드 부분이라고 할 수 있습니다. 백엔드 부분은 사용자의 상호작용에 따라 데이터베이스를 활용하여 처리됩니다. 백엔드 기술에서 데이터베이스의 처리는 중요한 영역인데, 데이터베이스는 각종 정보를 저장하고 관리하는 곳이라고 이해할 수 있습니다. 대표적인 데이터베이스로는 MySQL, PostgreSQL, MongoDB 등이 사용됩니다. 백엔드 개발자는 데이터베이스를 통해 사용자에게 필요한 서비스를 제공합니다. 또한 웹페이지의 보안 부분도 백엔드의 담당 분야라고 할 수 있습니다. 불법적인 접근으로부터 사용자의 정보를 보호하고 관리하는 것도 백엔드의 중요 역할 중 하나입니다. 웹페이지의 안전성과 속도도 백엔드 개발과 관련된 부분이라고 할 수 있습니다. 같은 기능을 구현해 내 는 것이며, 복잡한 백엔드 기술보다 간단한 백엔드 기술이 웹페이지의 안전성과 속도를 확보하는 데 있어 유리합니다.
4. 프레임워크
프레임워크는 웹페이지 개발을 더 효율적이고 표준화된 방법으로 진행할 수 있도록 지원하는 도구와 라이브러리의 모음입니다. 일반적으로 개발자들이 웹페이지 등을 개발할 때, 모든 기능을 일일이 처음부터 구현해낼 수 없으며, 가능하다 하더라도 시간이 너무 오래 걸리는 관계로 자주 사용하거나 필요한 기능들을 미리 구현해놓아 모아놓은 것이 프레임워크라고 할 수 있습니다. 프레임워크로는 Django, Flask, Ruby on Rails 등이 사용되고 있습니다. 프레임워크는 풀스텍 프레임워크와 마이크로 프레임워크로 나눌 수 있습니다. 풀스텍 프레임워크는 웹 애플리케이션의 개발 전반에 걸쳐 필요한 기능을 제공하는 종합적인 프레임워크입니다. 예를 들어, Django 와 Ruby on Rai는 웹 애플리케이션의 백엔드와 프런트엔드를 모두 다루는 기능들을 포함하고 있어, 이 프레임워크 만으로 일반적인 기능들을 구현해낼 수 있습니다. 마이크로 프레임워크는 개발 전반이 아닌 개발 부분에서 필요한 기능을 제공하는 프레 워크로 할 수 있으며, 이때 개발자들은 필요한 경우에만 마이크로 프레임워크를 사용하며, 필요하지 않은 경우에는 사용하지 않을 수도 있습니다. Flask의 경우 마이크로 프레임워크의 예입니다.
5. 웹 서버
웹 서버는 HTTP(HyperText Transfer Protocol)를 통해 클라이언트가 요청하는 데이터를 처리해 주는 역할을 하는 소프트웨어 또는 하드웨어를 말합니다. 웹 서버의 역할은 정적 콘텐츠 제공 및 동적 콘텐츠 처리가 있는데, 정적인 콘텐츠는 HTML, CSS, JavaScript, 이미지 등을 말하며 이를 서버에서 클라이 언트에게 제공합니다. 이러한 콘텐츠는 서버에 저장되어 있으며, 클라이언트의 요청에 따라 그에 맞는 적절한 콘텐츠를 반환합니다. 이때 서버는 요청된 정적 콘텐츠를 캐싱 할 수 있는데, 캐싱 된 정적 콘텐츠 등은 다시 요청될 때 빠르게 제공될 수 있습니다. 동적인 콘텐츠는 서버가 데이터베이스 등에 있는 데이터로 동적으로 생성한 콘텐츠 등을 말합니다. 클라이언트가 특정한 요청을 보낼 때 서버는 해당 요청을 처리하고 데이터를 가공하여 동적인 콘텐츠를 생성하여 응답합니다. 정적 콘텐츠와의 차이점은 정적 콘텐츠의 경우 반환되는 콘텐츠의 내용이 동일하나, 동적 콘텐츠는 변경된다는 점입니다. 이 외에도 웹 개발에 도움을 주는 또 다른 도구로는 라이브러리와 버전 관리 시스템(VCS, Version Control System)이 있습니다. 이러한 도구들로 인해 개발자들은 웹 페이지를 개발하고 사용자들에게 서비스를 제공합니다. 프런트엔드, 백엔드, 서버 등 이러한 도구들이 합쳐져 하나의 웹 페이지를 만들어내게 되며, 이러한 웹 페이지들은 인터넷이 생활의 필수 요소인 현재에는 빠질 수 없는 WWW(World Wide Web) 인터넷 세상의 필수 요소가 되었습니다.
'산업분석' 카테고리의 다른 글
<IT 산업> 금융산업의 첨단기술, 핀테크 (0) | 2023.10.15 |
---|---|
<IT산업> 생성형 AI, 저작권 문제는 없나요? 상업적 활용 가능한가요? (0) | 2023.10.05 |
<IT 산업> IT 산업의 꽃, 게임 개발 엔진 유니티 (소개, 특장점, 전망) (0) | 2023.07.24 |
<IT 산업> 새로운 디지털 공간, 메타버스(개념, 페이스북, 원리, 활용, 한계) (0) | 2023.07.21 |
<IT 산업> 개발언어 PHP (개념, 역사, 기본 요소, 전망) (0) | 2023.07.18 |