티스토리 뷰
우리가 웹사이트를 만들기 위해서는 많은 것들이 필요하다.
웹사이트는 일종의 Product이다. 고객들이 많이 방문해야 잘 팔리는 제품이 되는 것이다. 웹사이트를 만들기 위해서는 콘텐츠 요소(어떤 제품을 만들 것인가?), 기술적요소(어떻게 만들 것인가?) , 디자인 요소 등이 필요하다.
기술적 요소
1.프로그래밍 언어
웹사이트의 구조와 기능을 구현하는 데 프로그래밍 언어이다. 프론트엔드와 백엔드로 나뉘는데, 백엔드 언어는 웹사이트 마다 다른 언어가 사용되어 진다.
- 프론트엔드: HTML(구조), CSS(스타일링), JavaScript(동작) 등을 사용
- 백엔드: Python, Java, PHP, Ruby, Node.js 등 서버에서 동작하는 언어
2. 웹 프레임워크(Web Framework)
웹사이트의 기본 구조를 잡고, 빠르고 효율적으로 만들 수 있도록 도와주는 도구입니다. 예를 들어, 파이썬에서는 Django나 Flask, 자바스크립트에서는 Express.js 같은 프레임워크가 사용됩니다.
3. 데이터베이스(Database : DB)
사용자의 데이터나 웹사이트가 사용하는 정보를 저장하는 곳이다. MySQL, PostgreSQL, MongoDB 같은 데이터베이스가 많이 사용된다.
4. 서버(Server)
웹사이트의 모든 파일과 데이터를 저장하고, 사용자가 웹사이트에 접속할 수 있도록 서비스를 제공하는 컴퓨터이다. AWS, Google Cloud, Azure 등의 클라우드 서버나 개인 서버를 사용할 수 있다.
5. 도메인(Domain)
웹사이트 주소(URL)이다. 예를 들어, www.example.com 같은 주소가 도메인입니다. 사용자가 웹사이트에 쉽게 접근할 수 있도록 도메인을 설정해야 한다.
6. 웹 호스팅(Web hosting)
웹사이트 파일을 서버에 저장하고, 인터넷을 통해 접속할 수 있도록 해주는 서비스입니다. 호스팅은 서버 공간을 대여하는 개념이라고 볼 수 있습니다.
웹 프레임워크(Web Framework)
아카데믹하게 설명하자면, 웹 프레임워크는 웹 애플리케이션 개발을 위한 표준화된 코드 구조와 필수 도구를 제공하는 소프트웨어 프레임워크라고 한다. 개발자는 기본적인 웹 기능을 직접 구현할 필요 없이 프레임워크가 제공하는 기능을 활용하여 웹 애플리케이션을 효율적으로 구축할 수 있다.
쉽게 설명하면, 웹사이트를 만드는 데 필요한 도구와 규칙을 미리 갖춰 놓은 "건축 키트" 라고 할 수 있습니다.
비유로 설명하면,
집을 짓는다고 하자. 필요한 게 많다. 벽을 세우고, 전기와 수도를 연결하고, 문과 창문도 만들어야 한다. 그런데 매번 집을 지을 때마다 처음부터 모든 걸 직접 만든다면 너무 오래 걸리고 어렵다.
웹 프레임워크는 마치 집을 짓기 쉽게 미리 만들어진 벽, 창문, 전기 배선 같은 것들을 제공하는 키트와 비슷하다. 이런 키트를 사용하면 기본적인 것들은 이미 만들어져 있어서 웹사이트를 쉽게 만들 수 있게 해준다.
예를 들어, Flask라는 웹 프레임워크는 기본 뼈대(예: 웹페이지를 서버에 올리고 내려받는 기능), 창문이나 문(예: 사용자가 로그인을 하거나 정보를 입력할 수 있는 기능), 전기와 배관(예: 데이터베이스와의 연결, 사용자 관리) 등 이런 기능들이 기본적으로 갖춰져 있다.(특별한 요구성능이 아니라면 이러한 기능들은 대부분 똑같을 것이다.) 우리는 직접 이런 걸 다 만들 필요 없이, 필요한 부분만 수정하거나 새로 더해서 웹사이트를 만들 수 있는 것이다.
요약하자면,
자동차를 만든다고 하자. 바퀴부터 만들 필요가 있을까? 누군가 잘 만들어 놓은 키트를 활용하여 만들면 조금 더 쉽게 만들 수 있다.
웹 프레임워크는 웹사이트를 쉽게, 빠르게 만들 수 있도록 돕는 미리 만들어진 도구 상자 같은 것이다. 덕분에 개발자는 기본적인 것들에 신경 쓰지 않고, 웹사이트의 특별한 기능과 디자인에만 집중할 수 있게 된다.
웹 프레임워크의 주요 특징은 아래와 같다.
코드 재사용성 : 웹 프레임워크는 일반적으로 반복적으로 사용되는 코드(예: HTTP 요청 처리, 세션 관리, 인증 시스템 등)를 미리 정의해 놓아 재사용 가능한 모듈로 제공한다.
표준화된 코드 구조 : 웹 프레임워크는 특정한 규칙과 코드 구조를 강제함으로써 개발자들이 일관된 방식으로 코드를 작성하게 한다. 이를 통해 개발 팀 간의 협업이 용이해지고, 유지보수성이 높아진다.
추상화 및 간소화 : 웹 프레임워크는 데이터베이스와의 상호작용, URL 라우팅, 세션 및 쿠키 관리 등을 추상화하여, 개발자가 이러한 복잡한 기능을 간단한 인터페이스로 사용할 수 있게 해준다.
보안 및 성능 최적화 : 많은 웹 프레임워크는 보안 취약점(예: SQL 인젝션, XSS 공격 등)에 대한 방어 기능을 내장하고 있으며, 효율적인 메모리 관리 및 캐싱과 같은 성능 최적화 기능도 제공한다.
- Total
- Today
- Yesterday
- 오블완
- GitHub
- 주택청약
- 챗gpt
- 고양장항신혼희망타운
- 티스토리챌린지
- 구글시트
- chromedriver버전오류
- Git
- OpenAI
- scraping
- chrome버전
- 무주택세대구성원
- kc인증
- 버전제어
- chatGPT
- This version of ChromeDriver only supports Chrome version
- Google sheet
- Python
- Selenium
- 청약제도
- 주택청약제도
- 청약통장
- vscode 구글시트 연동
- 구글API
- flask
- VSCode
- IMPORTRANGE
- 소스제어
- 스크래핑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |