You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 웹 페이지 개발 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 웹 페이지 개발 웹사이트 제작 툴, 웹페이지 만들기 예제, 웹사이트 만들기 순서, 웹사이트 제작 코딩, 웹사이트 제작 프로그램, 웹사이트 구축 계획서, 자바 웹사이트 만들기, html5 웹페이지 만들기
웹사이트를 만드는 방법: 3가지 쉬운 접근 / 단계별 자습서
- Article author: www.webhostingsecretrevealed.net
- Reviews from users: 3123 Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about 웹사이트를 만드는 방법: 3가지 쉬운 접근 / 단계별 자습서 나는 100년 후까지 웹 개발자를 고용하지 않았습니다. 그리고 나는 잘했다. 오늘날 – 우리는 혁신적인 개발 도구와 더 나은 웹 퍼블리싱 플랫폼을 보유 … …
- Most searched keywords: Whether you are looking for 웹사이트를 만드는 방법: 3가지 쉬운 접근 / 단계별 자습서 나는 100년 후까지 웹 개발자를 고용하지 않았습니다. 그리고 나는 잘했다. 오늘날 – 우리는 혁신적인 개발 도구와 더 나은 웹 퍼블리싱 플랫폼을 보유 … 웹사이트 가이드 만들기: 1-IDE로 만들기 / 2-CMS로 만들기(WordPress, Joomla 등) / 3-사이트 빌더로 만들기(Zyro, Weebly 등).
- Table of Contents:
1 도메인 등록
2 웹 호스트 구입
3 웹사이트 제작 및 디자인
4 웹 사이트 확인 및 테스트
5 사이트 미세 조정 및 성장
LINEìì í루 ë§ì ì ì ì¹ íì´ì§ ê°ë°í´ì ë°°í¬íë ë°©ë²
- Article author: engineering.linecorp.com
- Reviews from users: 4124 Ratings
- Top rated: 3.7
- Lowest rated: 1
- Summary of article content: Articles about LINEìì í루 ë§ì ì ì ì¹ íì´ì§ ê°ë°í´ì ë°°í¬íë ë°©ë² 이번 글에서는 정적(static) 웹 페이지를 빠르게 개발하는 방법에 대해서 이야기하려고 합니다. 개발에서 빌드, 배포까지 하루 만에! 시작하기에 앞서 … …
- Most searched keywords: Whether you are looking for LINEìì í루 ë§ì ì ì ì¹ íì´ì§ ê°ë°í´ì ë°°í¬íë ë°©ë² 이번 글에서는 정적(static) 웹 페이지를 빠르게 개발하는 방법에 대해서 이야기하려고 합니다. 개발에서 빌드, 배포까지 하루 만에! 시작하기에 앞서 … 2022-LINE-engineering-site
- Table of Contents:
ê°ë°ìì ë¹ë ë°°í¬ê¹ì§ í루 ë§ì!
ëì ì ì
문ì ë ‘ë°ë³µ’
LandPress íë¡ì í¸ – ë°ë³µ ìì ì¤ì´ê¸°!
ë§ì¹ë©°
Tags
Related Post
[웹개발] 1. 웹개발 시작하기
- Article author: shyunku.tistory.com
- Reviews from users: 21102 Ratings
- Top rated: 4.2
- Lowest rated: 1
- Summary of article content: Articles about [웹개발] 1. 웹개발 시작하기 웹개발이란, 인터넷이나 인트라넷을 위한 웹사이트를 개발하는 일을 가리킨다. 웹 개발은 가장 단순한 단일 정적 문서의 플레인 텍스트에서부터 가장 … …
- Most searched keywords: Whether you are looking for [웹개발] 1. 웹개발 시작하기 웹개발이란, 인터넷이나 인트라넷을 위한 웹사이트를 개발하는 일을 가리킨다. 웹 개발은 가장 단순한 단일 정적 문서의 플레인 텍스트에서부터 가장 … 웹개발이란, 인터넷이나 인트라넷을 위한 웹사이트를 개발하는 일을 가리킨다. 웹 개발은 가장 단순한 단일 정적 문서의 플레인 텍스트에서부터 가장 복잡한 웹 기반 인터넷 애플리케이션, 전자 비즈니스, 소셜 네..
- Table of Contents:
프론트엔드 개발(Frontend Development)
백엔드 개발(Backend Development)
태그
‘WEB’ Related Articles
웹사이트 개발(Web Development), 현실적으로 얼마나 걸릴까? – wishket
- Article author: blog.wishket.com
- Reviews from users: 31273 Ratings
- Top rated: 3.7
- Lowest rated: 1
- Summary of article content: Articles about 웹사이트 개발(Web Development), 현실적으로 얼마나 걸릴까? – wishket ‘웹사이트 개발’에 걸리는 타임라인은 탐색과정, 디자인 과정, 개발 과정의 세 가지 단계로 나뉜다. 경쟁자들에 대한 조사를 수행하여 브랜드에 있어서 중요한 것과 대상 … …
- Most searched keywords: Whether you are looking for 웹사이트 개발(Web Development), 현실적으로 얼마나 걸릴까? – wishket ‘웹사이트 개발’에 걸리는 타임라인은 탐색과정, 디자인 과정, 개발 과정의 세 가지 단계로 나뉜다. 경쟁자들에 대한 조사를 수행하여 브랜드에 있어서 중요한 것과 대상 … 사이트 개발, 웹 사이트 개발, 웹사이트 개발, 웹사이트 구축 프로세스, 웹페이지 개발웹사이트 개발 프로젝트 타임라인은 크게 탐색과정, 디자인 과정, 개발 과정 등의 여러 단계로 나누어집니다. 위시켓과 함께 ‘웹사이트 개발’에 걸리는 단계들을 알아볼까요?
- Table of Contents:
위시켓 홈페이지
위시켓 바로가기
STEP 01 계획안 작성
STEP 02 웹사이트 구축 착수
STEP 03 개발 단계
STEP 04 최종 점검
웹사이트 개발 어떻게 시작해야 할까
앱 개발 비용 궁금하세요 위시켓이 바로 알려드릴게요!
위시켓 블로그의 새로운 소식 받기
2022 © wishket
2022 © wishket
웹사이트를 제작하는 5단계 과정! 기초편
- Article author: cucat.tistory.com
- Reviews from users: 47532 Ratings
- Top rated: 5.0
- Lowest rated: 1
- Summary of article content: Articles about 웹사이트를 제작하는 5단계 과정! 기초편 웹사이트는 만드는 순서는 아래와 같습니다. 1. 프로젝트 기획. 2. 웹사이트 설계. 3. 디자인 제작. 4. 웹사이트 개발. 5. 출시. …
- Most searched keywords: Whether you are looking for 웹사이트를 제작하는 5단계 과정! 기초편 웹사이트는 만드는 순서는 아래와 같습니다. 1. 프로젝트 기획. 2. 웹사이트 설계. 3. 디자인 제작. 4. 웹사이트 개발. 5. 출시. 웹사이트 제작 과정의 대략적인 흐름에 대해 알아봅니다. 웹사이트를 제대로 제작하려면 기획부터 출시까지, 많은 계획과 작업이 필요합니다. 하지만 전문가가 아닌데, 구체적인 사항과 기법까지 알려고 하면 지쳐..윈도우, 윈도우 10, 구글 크롬, 구글 독스, 구글 문서, 구글 시트, 구글 스프레드시트, 구글 미트, 파워포인트, 엑셀, 인터넷, 유튜브, 무료 사이트, 사파리, 맥, 맥북, 아이폰, 컴퓨터, 블로그, 웹사이트 기획, 게임 기획, 웹디자인, 피그마, 노션, 웹 코딩, html, css, javascript, jquery
- Table of Contents:
1 프로젝트 기획
2 웹사이트 설계
3 디자인 제작
4 웹사이트 개발
5 출시
요약
태그
관련글
댓글3
연재글 보는 순서
티스토리툴바
웹사이트 만들기 – 생활코딩
- Article author: opentutorials.org
- Reviews from users: 11444 Ratings
- Top rated: 4.1
- Lowest rated: 1
- Summary of article content: Articles about 웹사이트 만들기 – 생활코딩 HTML은 HyperText Markup Language의 약자로서 웹페이지를 만드는 언어입니다. body >. html > … …
- Most searched keywords: Whether you are looking for 웹사이트 만들기 – 생활코딩 HTML은 HyperText Markup Language의 약자로서 웹페이지를 만드는 언어입니다. body >. html > …
- Table of Contents:
토픽 목록
예제
칸아카데미 밖에서 웹 페이지 개발하기 (개념 이해하기) | 웹 개발 도구 | Khan Academy
- Article author: ko.khanacademy.org
- Reviews from users: 15419 Ratings
- Top rated: 3.3
- Lowest rated: 1
- Summary of article content: Articles about 칸아카데미 밖에서 웹 페이지 개발하기 (개념 이해하기) | 웹 개발 도구 | Khan Academy 여기서 HTML/CSS를 다 배우고나면, 파일 복사하기, 파일 찾기, 사용자 정의 플러그인, 그리고 그 이상의 더 많은 기능을 제공하는 에디터에서 웹 페이지 개발을 시작 … …
- Most searched keywords: Whether you are looking for 칸아카데미 밖에서 웹 페이지 개발하기 (개념 이해하기) | 웹 개발 도구 | Khan Academy 여기서 HTML/CSS를 다 배우고나면, 파일 복사하기, 파일 찾기, 사용자 정의 플러그인, 그리고 그 이상의 더 많은 기능을 제공하는 에디터에서 웹 페이지 개발을 시작 …
- Table of Contents:
웹 개발 도구
웹 개발 도구
사이트 탐색
웹 개발자를 위한 추천 사이트 22개 — Hello, 7ingout world!
- Article author: 7ingout.tistory.com
- Reviews from users: 30072 Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about 웹 개발자를 위한 추천 사이트 22개 — Hello, 7ingout world! NEW 웹페이지덜 올라오는 사이트. 틈틈이 주시하기 ! [외국사이트]에 화려한게 많음. ⭐ 2) W3Schools – 다양한 웹 개발 언어 정보 및 문제 풀어볼 수 … …
- Most searched keywords: Whether you are looking for 웹 개발자를 위한 추천 사이트 22개 — Hello, 7ingout world! NEW 웹페이지덜 올라오는 사이트. 틈틈이 주시하기 ! [외국사이트]에 화려한게 많음. ⭐ 2) W3Schools – 다양한 웹 개발 언어 정보 및 문제 풀어볼 수 … * 마크업 검사 / CSS 검사 사이트 2022.05.31 – [“Hello, world!”/기타 정보] – 마크업 검사 / CSS 검사 사이트 (+ 확장 프로그램 추천) 마크업 검사 / CSS 검사 사이트 (+ 확장 프로그램 추천) 1. W3C Markup 검..
- Table of Contents:
공지사항
인기 글
티스토리
티스토리툴바
See more articles in the same category here: toplist.maxfit.vn/blog.
웹사이트를 만드는 방법: 3가지 쉬운 접근
오늘날의 세상에서 웹사이트를 만드는 것은 매우 쉽습니다. 기술 괴짜나 프로그래머가 될 필요는 없습니다. 올바른 방법을 따르고, 올바른 플랫폼을 선택하고, 올바른 도구를 사용하십시오. – 순식간에 첫 번째 웹사이트를 소유할 수 있습니다.
2004년 처음 온라인 사업을 시작했을 때 나는 웹 개발에 대한 지식이 전혀 없었습니다. 나는 100년 후까지 웹 개발자를 고용하지 않았습니다. 그리고 나는 잘했다. 오늘날 – 우리는 혁신적인 개발 도구와 더 나은 웹 퍼블리싱 플랫폼을 보유하고 있습니다. XNUMX% 괜찮을 겁니다.
웹사이트를 만드는 세 가지 방법
첫 웹사이트를 만드시나요? 세 가지 선택이 있습니다.
방법 #1을 사용하면 디자인과 사이트 기능에서 더 많은 유연성을 얻을 수 있지만 웹 언어에 대한 충분한 지식이 필요합니다. 생성 및 관리 프로세스는 방법 #2 및 #3을 사용하면 훨씬 쉽습니다. 귀하의 능력에 따라 이러한 방법 중 하나를 선택해야 합니다.
위에서 언급한 세 가지 방법을 모두 살펴보고 웹사이트를 만드는 데 필요한 단계를 살펴보겠습니다.
1. 도메인 등록
표준 .com 도메인 이름의 비용은 연간 $8 – $15입니다. > NameCheap으로 도메인 이름을 검색해 보세요..
도메인은 귀하의 웹 사이트 이름입니다. 도메인은 고유한 도메인이어야 하며 비즈니스 브랜드를 전달해야합니다.
가장 쉬운 검색 방법과 도메인 등록 도메인 등록 기관으로 이동하는 것입니다.
도메인 등록 기관에서는 연간 계약 또는 장기 계약을 통해 도메인 이름을 등록할 수 있습니다.
도메인 등록 위치
다음은 유명한 도메인 등록 기관 및 시작 가격입니다.
도메인 이름 팁
도메인 이름을 알아내는 데 어려움이 있다면 언제든지 domain name.generators를 사용하여 아이디어를 얻을 수 있습니다. 더 인기있는 것들 중 일부는 워드 로이드 및 린 도메인 검색.
당신이 처음이라면 나는 Namecheap 도메인 이름을 찾고 구입합니다.
또한 읽기 – 인형 용 도메인 이름.
2. 웹 호스트 구입
기본 단일 웹사이트 호스팅 비용은 월 $2 – $5입니다. > 체크 아웃 Hostinger 여기서 거래.
웹 호스트는 웹사이트를 저장하는 큰 컴퓨터(일명 서버)입니다. Amazon, IBM 및 FB와 같은 일부 거대 기업은 자체 웹 서버를 소유하고 관리합니다. 다른 기업은 웹 호스팅 제공업체로부터 서버를 임대하기만 하면 됩니다(훨씬 더 저렴하고 간편함).
참고 : 웹 사이트 빌더가 사이트를 생성하도록 선택한 경우이 단계를 건너 뛰십시오 (3 단계 참조).
웹 호스팅에서 당신의 선택은 무엇입니까?
웹 호스팅은 오늘날 다양한 패키지로 제공됩니다.
전통적으로 웹 호스팅 제공업체는 기본 소프트웨어 및 기술 지원을 통해 서버 임대에만 관여합니다. 웹 사이트 호스팅 기존 호스팅 제공업체 일반적으로 더 저렴하고 유연합니다. 그러나 웹 사이트를 설정하려면 약간의 추가 작업이 필요합니다.
오늘날 기업들은 서로 다른 서비스를 함께 묶어 사용자가 하나의 서비스 제공 업체에서 웹 사이트를 구축, 호스팅 및 관리 할 수 있도록합니다. 우리는 일반적으로 이러한 회사를 웹 사이트 빌더 또는 온라인 스토어 빌더라고 부릅니다. 웹 사이트 호스팅 이러한 “번들”플랫폼에서는 일반적으로 비용이 많이 들고 유연성이 떨어집니다. 하지만 웹 사이트 나 온라인 스토어를 쉽게 구축 할 수 있습니다.
일정 금액을 지급하고 초보자도 쉽게 이용할 수 있는 일부 호스팅 서비스.
웹 호스팅 팁
초보 유튜버의 흔한 실수가 많고 단시간에 모든 실수를 고칠 수는 없다. 따라서 해야 할 일은 하나씩 해결하고 가장 중요한 것부터 시작하는 것입니다. 다양한 종류의 호스팅 사용 가능 : 공유 호스팅, 전용 서버 호스팅 및 클라우드 / VPS 호스팅.
작은 웹 사이트 인 경우 공유 호스팅 계획을 사용하는 것이 더 저렴합니다. 클라우드 또는 전용 호스팅을 사용하려면 더 큰 사이트를 사용하는 것이 좋습니다.
웹 호스트를 선택하기 전에 고려해야 할 몇 가지 주요 특성은 사용자 친 화성, 가격, 서버 속도 및 가동 시간 비율입니다.
현재까지 70개 이상의 호스팅 회사에 가입, 테스트 및 검토했습니다. 최고의 호스팅 선택.
다음과 같은 온라인 상점 빌더 사용을 고려하십시오. Shopify or BigCommerce 웹 사이트에서 직접 제품을 판매하려는 경우.
일부 회사는 부당하게 높은 서버 요금을 부과합니다. 우리의 호스팅 시장 조사 당신이 구매하기 전에.
일반적으로 결제가 완료되면 호스팅에 대한 모든 필수 정보가 포함된 환영 이메일을 받게 됩니다. 여기에서 웹사이트 소유자로서의 여정을 시작하게 됩니다. 에 대해 자세히 알아보기 이 가이드의 웹 호스팅 온보딩 프로세스.
3. 웹사이트 제작 및 디자인
도메인 이름과 웹 호스팅이 준비되면 소매를 걷어 올리고 생성을 시작할 때입니다! 웹 페이지를 디자인하고 만들려면 웹 개발자를 고용하거나 직접 할 수 있습니다.
자세히 논의합니다 여기에서 웹 개발 작업을 아웃소싱하는 방법. 웹 사이트를 개발할 사람을 고용 할 계획이라면 다음 단계를 건너 뛰고 해당 페이지로 이동해야합니다.
DIYer의 경우 웹 사이트를 만드는 세 가지 쉬운 방법이 있습니다.
방법 #1: HTML 및 CSS로 처음부터 웹사이트 만들기
주요 웹 언어와 웹 사이트의 기본 사항을 알고 있다면 자신만의 독창적인 웹 사이트를 만들 수 있습니다.
그렇지 않으면, 2번 방법/ 3번 방법으로 건너 뛰는 것이 좋습니다. 혹은 웹 개발자를 찾아보세요.
기본 웹 언어 / 도구
HTML (Hyper Text Markup Language)
HTML은 웹 페이지와 웹 응용 프로그램의 기본 구조로, 웹 브라우저에 의미있는 콘텐츠를 만듭니다. 열고 닫을 수 있는 순차적 태그와 꺾쇠 괄호로 묶인 키워드로 구성됩니다. 예 :
HTML은 웹 페이지와 웹 응용 프로그램의 기본 구조로, 웹 브라우저에 의미있는 콘텐츠를 만듭니다. 열고 닫을 수 있는 순차적 태그와 꺾쇠 괄호로 묶인 키워드로 구성됩니다. 예 : CSS (Cascading Style Sheets)
CSS는 웹 페이지의 HTML 마크 업을 장식하는 데 사용되는 스타일 언어입니다. CSS가 없으면 웹 페이지는 정렬되지 않은 텍스트와 이미지가 있는 흰색 배경의 페이지밖에 보이지 않을 것입니다. CSS는 페이지를 우리가 원하는 이상적인 방식으로 만드는 것입니다.
CSS는 웹 페이지의 HTML 마크 업을 장식하는 데 사용되는 스타일 언어입니다. CSS가 없으면 웹 페이지는 정렬되지 않은 텍스트와 이미지가 있는 흰색 배경의 페이지밖에 보이지 않을 것입니다. CSS는 페이지를 우리가 원하는 이상적인 방식으로 만드는 것입니다. 스크립팅 언어
HTML과 CSS는 인터랙티브하지 않기 때문에 스크립크 언어가 없으면 아무 것도 아닙니다. 사용자에게 반응하는 다이나믹한 웹 페이지를 만들려면 JavaScript 및 jQuery와 같은 언어가 필요합니다. PHP, Python 및 Ruby와 같은 서버 측 언어 또한 시간이 지남에 따라 필요할 수 있습니다.
HTML과 CSS는 인터랙티브하지 않기 때문에 스크립크 언어가 없으면 아무 것도 아닙니다. 사용자에게 반응하는 다이나믹한 웹 페이지를 만들려면 JavaScript 및 jQuery와 같은 언어가 필요합니다. PHP, Python 및 Ruby와 같은 서버 측 언어 또한 시간이 지남에 따라 필요할 수 있습니다. 데이터베이스 관리
웹 사이트의 사용자가 입력한 데이터를 저장, 관리 및 액세스하려면, 데이터베이스라는 거대한 정보의 표가 고려됩니다. MySQL, MongoDB 및 PostgreSQL과 같은 데이터베이스 관리 시스템은 서버 측에서 이 작업을 효율적으로 수행하는 데 사용됩니다.
웹 사이트의 사용자가 입력한 데이터를 저장, 관리 및 액세스하려면, 데이터베이스라는 거대한 정보의 표가 고려됩니다. MySQL, MongoDB 및 PostgreSQL과 같은 데이터베이스 관리 시스템은 서버 측에서 이 작업을 효율적으로 수행하는 데 사용됩니다. FTP(파일 전송 프로토콜) / sFTP(보안 파일 전송 프로토콜)
FTP는 다음을 위해 사용됩니다. 웹사이트의 소스 파일 전송 호스팅된 서버에 더 쉽게. 파일을 서버 컴퓨터에 업로드하는 데 사용할 수 있는 웹 기반 및 컴퓨터 소프트웨어 기반 FTP 클라이언트가 있습니다.
IDE를 사용하여 웹 사이트를 만드는 단계
위에서 언급한 기본 웹 언어 및 웹 사이트 필수 사항을 알고 있다고 가정하고 직접 웹 사이트를 만드는 방법에 대한 개요를 보여 드리겠습니다.
1 단계 : 로컬 작업 환경 설정
Subline Text 작업 환경 스크린샷.
웹 사이트의 소스 파일을 만들고 구성하려면 좋은 로컬 작업 환경이 중요합니다. IDE (Integrated Development Environment)를 설치하여 컴퓨터 장치에서 웹 개발 환경을 만들 수 있습니다. IDE는 기본적으로 텍스트 편집기, 빌드 자동화 및 디버거로 구성됩니다.
서브라임 텍스트(Sublime Text) 및 Atom 웹 개발 지원을 위한 기본 IDE 중 일부입니다. HTML, CSS, JS, PHP, Python 및 유사한 웹 언어.
반면에 IDE와 같은 확장 된 IDE가 있습니다. 어도비 드림위버 몇 가지 다른 기능을 제공합니다(예: 서버 연결, FTP).
2단계 : Adobe Photoshop을 사용하여 웹 사이트 계획 및 디자인
계획 웹 사이트 구조 및 탐색 시스템은 중요합니다. 먼저, 콘텐츠를 전달하려는 방식을 이해해야합니다. 탐색 메뉴 수, 열 또는 내용 입력란 수, 포함할 이미지 수 및 위치를 계획하십시오.
모범 사례는 Adobe 포토샵 웹 페이지의 대략적인 그림을 만드는 것입니다. 홈 페이지, 정보 페이지, 연락처 페이지, 서비스 페이지 등과 같이 페이지마다 다른 러프를 만들어야 할 수도 있습니다.
예 – 2016 년 XNUMX 월 사이트 개편 중에 수행 한 디자인 모형.
3단계: HTML 및 CSS를 사용하여 디자인을 코딩합니다
Adobe Photoshop에서 웹 페이지의 대략적인 디자인을 마친 후에는 소스 코드 작성을 시작할 수 있습니다.
이 부분은 가장 쉬운 부분입니다. 포함하려는 웹 요소에 대해 HTML 마크 업을 만들고 CSS를 사용하여 디자인에 따라 꾸미십시오.
4단계 : JavaScript와 jQuery를 사용하여 웹사이트를 다이나믹하게 만들기
HTML 및 CSS를 통해 프런트 엔드 사용자 상호 작용을 제어 할 수 없기 때문에 HTML 및 CSS 기반 웹 사이트 만 존재하지 않습니다.
JavaScript와 같은 스크립크 언어와 개선된 라이브러리인 jQuery를 사용하여 양식, 로그인, 슬라이더, 메뉴 또는 원하는 곳의 사용자 활동을 제어 할 수 있습니다.
5 단계 : FTP 클라이언트를 사용하여 로컬 파일을 서버에 업로드합니다
FTP 클라이언트의 예.
마지막 단계는 모든 소스 파일을 웹 서버에 업로드하는 것입니다. 이 단계를 진행하는 가장 쉬운 방법은 FTP 클라이언트를 사용하는 것입니다.
먼저 컴퓨터 장치에 FTP 클라이언트를 다운로드하고 FTP 계정을 사용하여 웹 서버에 연결합니다. FTP 계정에 성공적으로 연결 한 후 모든 로컬 파일을 웹 디렉터리의 루트에 복사합니다. 좋은 FTP 클라이언트는 FileZilla, WinSCP 및 Cyberduck.
방법 #2: CMS를 사용하여 웹사이트 만들기
필요한 기술 및 도구 관련 지식 : 컴퓨터와 인터넷의 기본 운영; HTML, CSS 및 PHP (필수 사항은 아니지만 기본 사항을 알고있는 경우 더 좋습니다)
툴 : 워드 프레스, 줌라의 메이크업 시연, 그리고 한국에서 사랑을 담아 보낸 Drupal
CMS 또는 컨텐츠 관리 시스템은 초보자부터 숙련된 웹 개발자에게 적합하도록 전략적으로 구축되었습니다.
온라인 콘텐츠를 쉽게 만들고 관리할 수있게 해주는 소프트웨어 응용 프로그램입니다. 대부분은 오픈 소스이며 자유롭게 사용할 수 있습니다.
HTML, CSS 또는 PHP의 기본 사항을 알고 있다면 장점이 될 수 있습니다. 이러한 플랫폼은 매우 직관적이기 때문에, 기본 사항을 모른다고 해도 큰 문제는 아닙니다. 다음 내용은 필요에 따라 선택할 수 있는 CMS 플랫폼의 무료 선택 사항 TOP XNUMX입니다.
워드 프레스
워드 프레스, 다양한 통계에 따르면, 최대 블로그 수와 중소 규모 웹 사이트에서 사용되고 있습니다. 그럼에도 불구하고 많은 강력한 웹 사이트는 단순성 때문에 WordPress를 선호합니다. WYSIWYG Editor는 첫 번째 콘텐츠를 시작하기 위해 배워야 할 유일한 것입니다.
이 플랫폼은 초보자를 위한 툴일 뿐만 아니라 다양한 레벨의 웹 개발자들이 많이 개발할 수 있는 툴입니다. 이 플랫폼에는 자체 저장소에 많은 무료 플러그인과 테마를 보유하고 있습니다. #1 CMS를 선택하면 많은 타사 리소스를 사용할 수 있습니다.
자세한 내용은 다음을 참조하십시오. 30 WordPress 기반 웹 사이트 . 에서 무료 계정을 만들어 WordPress를 직접 사용해 볼 수도 있습니다. WordPress.com, 또는 WordPress.org에서 CMS를 다운로드하실 수 있습니다. .
WordPress 테마의 선택.
장점 융통성이 뛰어나고 사용자 정의 가능
이용하기 쉬움
수많은 학습 자료
우수한 커뮤니티 및 지원 단점 주요한 시각적 사용자 정의를 위한 코드 필요
업데이트로 인해 플러그인 관련 문제가 발생할 수 있습니다.
줌라
Joomla는 워드프로세스와 여러 면에서 유사합니다. 사용하기 쉽고, 설치가 쉽고, 모듈을 사용하여 쉽게 확장 할 수 있습니다.- 워드프로세스 플러그인과 동등합니다. 결과적으로, Joomla는 초보자를 위한 차선책입니다.
그러나 초보자는 사용 가능한 옵션이 많기 때문에 Joomla를 탐색하는 것이 더 위협적 일 수 있습니다. 왼쪽 메뉴 외에도 “제어판”오른쪽 상단 표시 줄에 메뉴가 있습니다. 심벌 마크. 혼동을 피하기 위해 “콘텐츠”, “사용자”및 “확장 프로그램”을 포함하여 왼쪽 및 상단 표시 줄 메뉴의 일부 항목이 유사하다는 점을 기억하십시오.
WordPress와 마찬가지로 Joomla에는 사이트를 빠르게 독특한 모양으로 만들 수있는 몇 가지 스타일과 템플릿이 있습니다. 그러나 세 가지 콘텐츠 관리 시스템 중에서 Joomla는 소셜 네트워크를 만들 때 가장 쉬운 솔루션을 제공합니다. EasySocial 및 JomSocial과 같은 플랫폼을 사용하면 소셜 네트워킹 웹 사이트에서 단 몇 분 거리에 있습니다.
Joomla를 사용하여 만든 사이트에는 다음이 포함됩니다. 립톤, 리눅스, 만큼 잘 하버드 대학교. Joomla를 무료로 다운로드하여 사용해 볼 수 있습니다. 바로가기.
내부 Joomla 시스템.
장점 기술적으로 보다 우수함
일반적으로 웹사이트 성능이 보다 우수함
기업 수준의 보안 단점 모듈 유지하기 어려움
절충적인 CMS – 워드프레스만큼 쉽지는 않지만 Drupal만큼 기술적으로 뛰어나지는 않습니다.
Drupal
숙련된 웹 개발자는 Drupal이 가장 강력한 CMS임을 입증합니다.
그러나 사용하기 가장 어렵습니다. 유연성으로 인해 Drupal은 세계에서 두 번째로 많이 사용되는 CMS이지만 초보자에게는 선호되지 않습니다. Drupal을 사용하여 “완전한”웹 사이트를 성공적으로 구축하려면 손을 더럽 히고 다음의 기본 사항을 배워야합니다. 코딩. 초보자도 CMS를 사용하는 방법을 아는 것도 어렵습니다.
Drupal을 사용하여 만든 사이트는 다음과 같습니다. 테슬라, 워너 브라더스 레코드, 및 옥스퍼드 대학. 자세히 알아 보려면 Drupal을 무료로 다운로드하여 사용해 보세요..
새로운 Drupal 설치 – Drupal의 복잡한 기능에도 불구하고 CMS는 단순하고 최소한의 인터페이스를 제공합니다.
장점 쉽게 배울 수
훌륭한 도움말 포털
업데이트가 완벽하게 통합됩니다.
더 많은 빌트인 옵션 단점 시작 단계에서 가파른 학습 곡선 – 고급 사용자에게 권장
CMS를 사용하여 웹사이트를 만드는 단계
이 방법의 경우 WordPress를 예로 사용합니다. 지금쯤이면 이미 웹 호스팅 계정과 등록된 도메인 이름이 있어야 합니다.
1단계 : 웹 호스팅 패널에서 워드프레스 설치 프로그램 찾기
웹 호스팅 서비스 일반적으로 WordPress 및 기타 일반 플랫폼을 설치하기 위한 빠른 설치 프로그램이 있습니다.
웹 호스팅 계정에 로그인하여 설치 프로그램을 찾으십시오. 검색해야 할 인기있는 이름은 Softaculous, QuickInstall 또는 Fantastico입니다.
일부 호스팅 제공 업체 (예 : SiteGround) 사용자 대시 보드 (cPanel에 로그인 한 직후에 표시되는 화면)에 통합 설치 프로그램을 사용하십시오. 이 경우 ‘WordPress’가 포함 된 제목을 찾으십시오.
2단계 : 설치 프로그램을 통해 워드프레스 설치
Softaculous는 가장 널리 사용되는 자동 설치 프로그램이며 cPanel에 포함되어 있습니다. Softculous를 통해 설치하는 방법을 안내해드리겠습니다. 다른 설치 프로그램은 거의 동일합니다.
Softaculous를 클릭한 다음, WordPress에 ‘설치’를 클릭하여 설치를 시작하십시오.
여기서 중요한 부분이 나옵니다.
다음과 같이 옵션을 구성하고, 다른 필드를 기본 구성으로 두고(이 부분은 나중에 정렬할 것입니다) 설치를 클릭하십시오.
프로토콜: http:// URL 버전을 설치할 것인지 http://www. URL 버전을 설치할 것인지 결정해야 합니다. 어떤 항목을 선택하든별로 차이가 없습니다. 기술적 관점에서, http : // www. 는 융통성과 쿠키 관리 측면에서 더 좋습니다. 유효한 SSL 인증서가 있고 WordPress를 설치하려면 http 대신 https를 선택하십시오.
도메인 : 웹 사이트를 설치할 도메인을 선택하십시오.
디렉토리 : 워드프레스 사이트를 설치할 위치를 지정하십시오. 루트 URL (예 : http://www.yourwebsite.com/)에 설치하려면, 이 부분을 비워 두십시오. 하위 URL(예 : http://www.yourwebsite.com/myblog/)에 추가하려면 필드에 디렉토리를 지정하십시오.
관리자 계정 : 워드프레스 사이트에 로그인 할 때 사용할 사용자 이름, 비밀번호 및 이메일을 설정하십시오.
마지막 단계를 성공했다면, 잘 하셨습니다. 여러분의 웹사이트가 탄생했습니다!
이제 WordPress 사이트에 로그인하십시오. 사이트의 로그인 페이지는 설정한 웹 사이트 URL을 추적하는 wp-login.php처럼 보일 것입니다.
3단계 : 테마 및 몇 가지 중요한 플러그인 설치
다음으로, 필수 플러그인과 필수 테마를 설치해야합니다. 워드프레스 대시 보드의 왼쪽 사이드 바를 살펴보십시오.
무료 톤이 있습니다 준비된 테마 WordPress 디렉토리에서 사용할 수 있습니다.
이러한 무료 테마를 검색하려면 ‘모양> 테마> 새로 추가’로 이동하여 요구 사항에 맞는 테마를 검색하고 설치 버튼을 클릭하십시오.
WordPress 테마 디렉토리.
‘테마 업로드’섹션에서 타사 테마를 설치할 수도 있습니다. 유료, 전문적으로 디자인 된 WordPress 테마의 경우 Elegant Themes를 권장합니다 (효율적인 코드와 아름다운 프런트 엔드 디자인을 위해).
플러그인의 경우, ‘플러그인> 새로 추가’를 탐색하십시오.
필요한 플러그인만 검색하고 설치하십시오. 타사 플러그인은 ‘플러그인 업로드’ 섹션에서도 설치할 수 있습니다.
WordPress 플러그인 디렉토리.
여기에 몇 가지 중요한 무료 플러그인을 제안하고 싶습니다. 워드프레스 플러그인 디렉토리에서 이름을 검색하여 찾을 수 있습니다. 각 카테고리에서 하나의 플러그인만 설치하면 됩니다.
검색 엔진 최적화 : Yoast SEO, All in One SEO Pack
보안 : iThemes 보안, Wordfence 보안
사이트 통계 : WordPress.com의 Jetpack, Monster Insights의 WordPress 용 Google Analytics
양식 작성 : 연락처 양식 7
성능 : W3개의 총 캐시, WP 수퍼 캐시
사이트 정체성을 위해서는 훌륭한 테마를 사용하더라도 무언가를 만들어야합니다. 멋진 로고 생성기가 많이 있지만, 살펴볼 것입니다 Logaster. 유료 서비스이지만 훌륭한 점은 계층화 된 가격 책정을 제공한다는 것입니다. 즉, 웹 형식 로고 만 있으면 필요한만큼만 지불하거나 다양한 플랫폼 용 형식을 포함하는 전체 브랜드 키트에 가입 할 수도 있습니다.
4단계 : 준비 되었습니다!
여러분의 사이트는 마지막 단계까지 작동되어야 합니다. 그러나 분류되어야 할 몇 가지가 더 있습니다.
‘설정> 일반’에서 사이트 제목과 태그 라인을 설정하십시오.
‘설정> 읽기’에서 홈페이지에 표시할 내용과 한 페이지에 표시할 블로그 게시물 수를 선택하십시오.
‘설정> 퍼머 링크’에서 블로그 게시물의 URL 구조를 설정하십시오.
새로운 WordPress 사이트의 기본 설정.
방법 #3: 사이트 빌더로 웹사이트 만들기
필수 기술 & 툴 관련 지식: 컴퓨터와 인터넷의 기본적인 이용 방법
툴 : 자이로, 윅스 및 위블리
사이트 빌더는 손쉽게 웹 사이트를 설정합니다. 웹 언어에 대한 지식이 없으면 몇 분 만에 모든 기능이 갖춰진 웹 사이트를 시작할 수 있습니다. 이렇게 하기 위해서 코딩 지식이 전혀 필요 없는 드래그 & 드롭 웹 사이트 빌더를 제공합니다.
초보 유튜버의 흔한 실수가 많고 단시간에 모든 실수를 고칠 수는 없다. 따라서 해야 할 일은 하나씩 해결하고 가장 중요한 것부터 시작하는 것입니다. 인터넷에 흩어져있는 많은 사이트 빌더 그러나 그들 모두가 필요를 충족시킬 수있는 것은 아닙니다.
다음 세 가지는 가장 많이 사용되는 웹 사이트 빌더입니다.
자이로
웹사이트 빌더의 특성을 고려하더라도, 자이로 절대적으로 사용하기 쉽습니다. 워드 프로세서 또는 이와 유사한 것을 사용한 적이 있다면 What-You-See-Is-What-You-Get(WYSIWYG) 응용 프로그램 – Zyro를 사용하여 사이트를 구축하는 데 문제가 없습니다.
이론은 동일합니다. 빌딩 블록을 가지고 노는 것과 같습니다. 블록은 이미지, 텍스트 상자 등과 같이 미리 디자인된 웹 사이트 요소입니다. 웹사이트 디자인은 원하는 요소를 선택한 다음 원하는 위치에 끌어다 놓는 것만큼 간단할 수 있습니다.
윅스
윅스 다양한 카테고리로 분류된 500개 이상의 완전히 사용자 정의 가능한 템플릿을 제공하는 시장에서 가장 쉬운 사이트 빌더 중 하나입니다. 따라서 자신에게 맞는 것을 찾을 수 있을 것이라고 확신합니다.
윅스는 항상 콘텐츠 위에 보이는 융통성 있는 드래그 & 드롭 웹 사이트 편집기를 제공하고 있습니다. 목록에서 한 항목을 드래그하여 추가할 웹 사이트의 아무 곳으로나 놓을 수 있습니다. 표시되는 항목은 이동하거나 편집할 수 있습니다.
유일한 단점은 윅스 무료 플랜을 이용하시면 광고가 뜬다는 점입니다. 최소 $ 12/월을 내고 콤보 플랜으로 업그레이드하여 광고를 제거할 수 있습니다.
위블리
위블리 탐색, 사용자 편의성과 같은 여러 면에서 더 쉽습니다. 선택할 수 있는 수백 개의 템플릿을 제공하지만 개인화 옵션이 제한적으로 느껴질 수 있습니다.
위블리에는 사용할 수 있고 수정될 수 있는 사전 설계된 페이지 레이아웃이(예 : 페이지, 가격 책정 페이지, 연락 페이지) 많이 있습니다.
드래그 앤 드롭 빌더는 사용하기가 더 쉽지만 때로는 사용자 정의를 위해 지정된 영역으로 제한됩니다. 확장 프로그램 및 타사 앱의 사용도 제한됩니다.
4. 웹 사이트 확인 및 테스트
웹 사이트가 준비되면 주요 브라우저 (Chrome, Firefox, Safari, Microsoft Edge, IE 11 등)와 다양한 화면 크기에서 어떻게 작동하는지 검증하고 테스트 할 차례입니다.
온라인에서 무료 도구를 사용하여 이러한 테스트를 실행할 수 있습니다.
마크 업 유효성 검사
다음을 사용하여 웹 사이트 마크 업을 쉽게 확인하세요. W3C 마크 업 검증 서비스.
마크 업 유효성 검사 란 무엇입니까? HTML, PHP 등과 같은 코딩 언어 또는 스크립트에는 각각 고유 한 형식, 어휘 및 구문이 있습니다. 마크 업 유효성 검사는 웹 사이트가 이러한 규칙을 따르는 지 확인하는 프로세스입니다.
브라우저 테스트
한 번에 최대 115 개의 서로 다른 브라우저에 대한 웹 사이트 교차 테스트 브라우저샷.
스크린 테스트
Screenfly를 사용하여 모니터, 태블릿, 스마트 폰 및 기타 다양한 화면 크기에서 웹 페이지를 미리 볼 수 있습니다.
5. 사이트 미세 조정 및 성장
인터넷에 웹 사이트를 게시하는 것은 XNUMX 단계입니다. 웹 사이트의 성공을 보장하기 위해 여전히해야 할 일이 많이 있습니다. 시작해야 할 몇 가지 작업은 다음과 같습니다.
웹 사이트 속도
Google은 다음과 같이 분명히 밝혔습니다. 사이트 속도 순위 요인 중 하나입니다. 즉, 사이트가 빠르게 로드되면 순위가 더 높을 수 있습니다.
또한 – 웹사이트 로드 속도 향상, 웹사이트 방문자가 더 행복해질 것입니다. 수많은 사례 연구와 실험에서 느린 로딩 웹사이트가 사용자 경험을 손상시키고 웹사이트 수익에 영향을 미친다는 것이 입증되었습니다. 아마존은 사이트 속도가 1.6초라도 느려지면 약 XNUMX억 달러의 매출 손실을 보았을 것입니다.
웹사이트 검색 가시성
독점 SEMrush 거래
현재 1만 명이 넘는 사람들이 웹사이트 SEO 및 콘텐츠 마케팅을 위해 SEMrush를 사용하고 있습니다. 특별 링크를 사용하여 평가판에 등록하면 평가판 기간이 14일 연장됩니다(신용카드 정보 필요) > Click Here
당신은 마스터가 될 필요가 없습니다 검색 엔진 최적화 (SEO) 귀하의 웹사이트가 주목받도록 하십시오. 하지만 몇 가지 기본적인 검색 엔진 최적화 기술은 항상 가지고 있는 것이 좋습니다.
웹 마스터 계정을 만드십시오. Google 검색 콘솔 웹 사이트를 Google에 제출하고 SEO 문제를 식별합니다. 기본 키워드 조사를 수행 한 다음 기본 키워드에 대한 페이지 제목과 제목을 최적화하십시오. 검색 결과 페이지에서 눈에 띄도록 사이트에 스키마 마크 업을 구현하세요.
HTTPS 구현
Chrome이 HTTP 웹 사이트에 ‘안전하지 않음’이라는 라벨을 지정하기 시작한 이후로 SSL 인증서 큰 문제가되었습니다. 사용자가 웹 사이트를 “신뢰”할 수 있도록하려면 HTTPS 연결이 필수입니다.
소셜 미디어 플랫폼에서 도달 범위 확장
귀하의 웹 사이트는 또한 대부분의 타겟 고객이 어울리는 소셜 미디어 플랫폼에 존재해야합니다. 우리 사이트에서는 페이스 북과 트위터를 의미합니다. 다른 사람들에게는 LinkedIn, Tumblr 또는 Pinterest가 될 수 있습니다.
파비콘 추가
편지 봤어?W” 브라우저 탭 왼쪽에 표시되는 파란색 원 안에? 그것은 “파비콘”으로 알려져 있습니다. 로고와 마찬가지로 파비콘은 웹사이트를 나타내는 작은 시각적 요소입니다.
Favicon은 웹 사이트 소유자가 종종 간과하는 멋지고 작은 브랜딩 기술입니다. 그게 당신처럼 들리면-이것을 사용하십시오 무료 파비콘 생성기 당신을 도울 수 있습니다.
웹사이트에 있어야 할 필수 페이지
다른 목적 및 / 또는 기능을 제공 할 수 있으므로 두 웹 사이트가 동일하지 않습니다. 그러나 모든 웹 사이트에는 인덱스 (홈페이지), 정보 페이지 및 연락처 페이지의 세 가지 표준 페이지가 있습니다.
홈페이지
홈페이지는 대부분의 방문자가 귀하의 웹 사이트를 방문한 후 가장 먼저 보게되는 곳입니다. 홈페이지는 적절한 프레젠테이션을 제공하고 방문자를 사이트로 더 깊이 유도해야합니다.
예 – Haus 홈페이지에는 명확한 탐색 메뉴와 갤러리 스타일의 디자인이 함께 제공됩니다 (제품 쇼케이스에 적합).
페이지 정보
페이지 정보는 방문자와의 관계를 구축하는 것입니다. 자신을 소개하고 웹 사이트에 대한 세부 정보를 제공 할 수 있습니다. 일반적으로 웹 사이트를 소유하고 운영하는 사람들의 사진을 포함하는 것이 좋습니다.
예 – Bulldog Skincare의 About Page는 사랑스럽고 기억에 남는 메시지를 보냅니다.
연락 페이지
사용자 및 잠재 고객과 소통하는 것이 중요합니다. 따라서-연락처 페이지. 가능한 모든 커뮤니케이션 채널 (소셜 미디어 프로필, 연락처 양식, 이메일 주소 등)을 포함하여 방문자가 귀하에게 연락 할 수 있도록하십시오.
Survicate의 연락처 페이지는 간단한 레이아웃으로 아름답게 디자인 된 페이지입니다. 큰 양식 필드, CTA 버튼 및 일반적인 연락처 정보 (회사 주소, 연락처 번호, 이메일 주소, 운영 시간 등)를 읽고 스캔하기 쉬운 방식으로 결합합니다.
웹 사이트 제작에 관해 자주 묻는 질문
무료로 웹 사이트를 어떻게 만드나요? 무료 웹 사이트를 만드는 두 가지 주요 방법이 있습니다. 무료 웹 호스팅 처럼 000 웹 호스트 또는 웹 사이트 구축 플랫폼 Wix와 같은 무료 플랜을 제공합니다. Is 에서 GoDaddy 웹사이트 빌더 무료? GoDaddy는 월 $ 10부터 시작하는 웹 사이트 빌더를 기반으로 계획을 세웠습니다. 초보자를위한 가장 쉬운 웹 사이트 빌더는 무엇입니까? 대부분의 웹사이트 빌더는 초보자가 사용하기 쉽습니다. 본질적으로 웹 사이트 빌더는 기술에 정통하지 않은 사용자를 대상으로 하며 많은 도움을 제공합니다. 이는 사용자 친화적인 인터페이스에서 사전 제작된 템플릿에 이르기까지 다양합니다. 웹 사이트를 만들 때 어디에서 시작합니까? 사이트 빌드를 시작하기 전에 다음과 같습니다. 블로그 시작하기가장 먼저 해결해야 할 것은 당신의 의도입니다. 귀하의 웹 사이트가 되고자하는 것은 설계 및 개발에 중요한 역할을 할 수 있습니다. 웹 사이트를 코딩하는 데 시간이 얼마나 걸립니까? 웹 사이트를 코딩하는 데 걸리는 시간은 복잡성에 따라 다릅니다. 기능과 디자인 측면에서 더 많이 필요할수록 시간이 오래 걸립니다. 간단한 정적 웹 사이트는 몇 시간 안에 코딩 할 수 있으며, 규모가 크고 복잡한 사이트는 몇 개월이 걸릴 수 있습니다.
지금 완료하세요!
이제 성공적인 웹 사이트를 만들고 구축하는 데 충분한 지식이 있습니다. 여러분의 지식을 업무에 적용 할 때입니다. 지금 시작하고 인터넷을 즐기십시오!
더 읽기
LINE에서 하루 만에 정적 웹 페이지 개발해서 배포하는 방법
안녕하세요. 이번 글에서는 정적(static) 웹 페이지를 빠르게 개발하는 방법에 대해서 이야기하려고 합니다.
개발에서 빌드, 배포까지 하루 만에!
시작하기에 앞서 여러분들께 한 가지 질문을 드리겠습니다. 아래 보이는 화면은 LINE에서 최근에 진행했던 이벤트 페이지입니다. 언뜻 보시기에 이 페이지를 만드는 데 대략 얼마나 걸렸을 것이라고 예상하시나요?
같은 질문을 주위 개발자분들에게도 물어보았습니다. 대부분 3일에서 5일 정도 걸릴 것 같다고 답변해 주셨는데요. 실제로 이 이벤트 페이지를 개발한 엔지니어는 단 하루 만에 개발에서 빌드, 배포까지 마무리하셨습니다.
어떻게 이렇게 짧은 시간에 서비스를 개발하고 론칭할 수 있었을까요? 이번 글에서는 정적 웹 페이지를 이렇게 빠르게 개발하기 위해서 우리가 고민했던 내용을 하나하나 짚어볼 예정인데요. 먼저 이번 글을 이해하기 위해 필요한 배경지식을 간단하게 소개한 뒤 정적 웹 페이지를 만들면서 직면했던 문제들을 하나하나 들여다보고 이 문제들을 어떻게 개선할 수 있었는지에 대해서 이야기하겠습니다.
동적? 정적?
이번 글에서는 웹 페이지에 대한 개념을 비중 있게 다루기 때문에 웹 페이지에 대해 간략하게 짚고 넘어가겠습니다.
동적 웹 페이지
오늘날 여러분께서 많이 접하게 되는 웹 페이지는 많은 콘텐츠가 실시간으로 업데이트되는 웹 페이지입니다. 여기에 개인화 기능까지 추가되어 있다면 같은 웹 페이지라도 사용자마다 다른 화면이 보이는 경우도 많을 것입니다. 지금 아래 화면에 보이는 뉴스 페이지도 시간에 따라서 혹은 사용자의 관심사에 따라서 각 개인마다 다른 뉴스가 보일 텐데요. 이런 웹 페이지를 동적 웹 페이지라고 부릅니다.
동적 웹 페이지는 데이터를 가공해 각 사용자에게 맞춤형으로 화면을 보여주기 때문에 데이터베이스와 웹 애플리케이션 서버가 필요합니다. 클라이언트에서 요청을 보내면 웹 애플리케이션 서버에서 데이터베이스를 조회하거나 외부 서버에서 데이터를 읽어와 HTML을 렌더링합니다.
이렇게 서버가 동적으로 HTML을 생성하는 개념을 ‘서버 사이드 렌더링(server side rendering)’이라고 부릅니다.
동적 웹 페이지는 동적인 콘텐츠를 보여줄 수 있다는 장점이 있으나 매우 복잡하고 용량이 크며 동적 데이터를 보여주기 때문에 캐시를 사용하기도 쉽지 않습니다. 따라서 내용이 자주 바뀌지 않는 콘텐츠를 보여주는 서비스에는 적합하지 않다고 볼 수 있습니다.
정적 웹 페이지
동적 웹 페이지와는 달리 내용이 자주 바뀌지 않는 정적 콘텐츠를 보여줄 때는 바로 오늘의 주제인 정적 웹 페이지를 활용합니다. ‘플랫(flat) 페이지’ 혹은 ‘스테이셔너리(stationary) 페이지’라고도 부르는 이 개념은 최초의 웹 페이지를 생각하면 이해하기 쉽습니다.
정적 웹 페이지는 저장된 그대로 사용자에게 전달하는 웹 페이지로서 정적인 콘텐츠를 전달하기 때문에 별도의 웹 애플리케이션 서버가 필요하지 않습니다.
쉽게 말해서 클라이언트가 요청을 보내면 다음과 같이 서버에 저장되어 있는 HTML을 그대로 보내주는 구조입니다.
다소 원시적으로 보이는 개념이지만 단순하기 때문에 얻을 수 있는 장점이 있습니다. 첫 번째로 동적인 요소가 없기 때문에 데이터베이스가 필요 없어서 환경을 구성하고 구축하기가 굉장히 쉽습니다. 두 번째로 단순하게 문서로만 구성되므로 HTML만 전송하면 되기 때문에 서버 간 통신이 거의 없어 전송 속도가 매우 빠릅니다. 세 번째로 동적 웹 페이지에서는 의미 있는 첫 화면, 즉 First Meaningful Paint를 보기까지 오래 걸리는 반면에 정적 웹 페이지에서는 HTML을 바로 보내주기 때문에 의미 있는 첫 화면을 굉장히 빨리 볼 수 있습니다. 마지막으로 동적인 데이터를 다루는 동적 웹 페이지는 데이터가 수시로 바뀌기 때문에 데이터를 캐시하는데 보수적일 수밖에 없지만 정적 웹 페이지에서는 정적인 데이터를 다루다 보니 캐시를 매우 공격적으로 활용할 수 있습니다.
따라서 정적 웹 페이지는 정적인 데이터를 빠르게 보여주는 서비스에 많이 사용합니다. LINE에서도 브랜드 사이트나 이벤트 페이지 등을 만들 때와 같은 용도로 다양한 서비스에서 많이 사용하고 있으며, 프로젝트가 많아지면서 정적 웹 페이지에 대한 수요도 점점 증가하고 있습니다.
문제는 ‘반복’
여기까지 잘 따라오셨다면 그럼 지금 도대체 무엇이 문제인지 의문이 드시는 분들이 계실 겁니다. 여기서 키워드는 바로 반복입니다. 앞에서 말씀드렸듯 정적 웹 페이지에 대한 수요는 꾸준히 늘어나고 있습니다. 제품 사이트와 같이 규모가 큰 페이지에서부터 이벤트나 약관 같은 간단한 페이지까지 종류도 매우 다양합니다. 반면 페이지를 만들 개발자와 시간은 굉장히 한정되어 있고 이에 따라 필연적으로 리소스 부족 문제가 발생하는데요. 이를 해결하기 위해 더 적은 인원으로 더 많은 페이지를 만들어 낼 수는 없는 것일까요?
정적 웹 페이지 개발 과정
먼저 우리는 문제를 명확하게 하기 위해서 정적 웹 페이지를 개발하는 과정을 들여다보았습니다.
정적 웹 페이지의 구조는 단순하지만 만드는 과정은 전혀 단순하지 않습니다. 개발 환경을 설정하고 디자인을 구현하는 마크업 작업을 해야 하고 필요한 인터렉션이 있다면 JavaScript 작업도 추가로 필요합니다. 이와 같은 과정을 거쳐 프런트엔드 영역에서 소스 코드를 작성하고 나면 작성한 소스 코드를 그대로 배포하면 되느냐, 그렇지 않습니다. HTML과 CSS, JavaScript는 최적화를 위해 난독화 또는 미니파이(minify) 과정을 거칩니다. 만약 다국어 처리가 필요하다면 템플릿을 치환하는 과정도 필요하겠죠. 이런 부분이 빌드 영역에 속합니다. 마지막으로 빌드한 번들을 배포하는 과정까지 개발자가 담당하는데요. 배포할 웹 서버를 설정해야 하고, TLS(Transport Layer Security) 지원 작업도 필요하겠죠. 도메인을 설정하거나 서비스 특성에 맞게 캐싱하는 전략도 개발자가 세워야 합니다.
저 역시 수많은 정적 웹 페이지를 만들면서 위와 같은 과정을 많이 겪었는데요. 자세히 들여다보면 생각보다 반복되는 작업이 굉장히 많습니다. 반복된다는 것은 형태가 정해져 있다는 것이고, 이는 곧 자동화할 수 있다는 것을 의미합니다. 이런 반복 과정을 체계화해서 자동화하면 적은 자원으로 많은 정적 웹 페이지를 만들 수 있지 않을까요?
LandPress 프로젝트 – 반복 작업 줄이기!
먼저 문제를 명확하게 하기 위해서 ‘반복 작업을 자동화해 줄여 나가는 것’을 비전으로 정했는데요. 이 비전에 따라 세 가지목표를 적어 보았습니다.
첫 번째는 앞에서 언급했던 반복되는 작업들을 자동화해서 개발자들의 노력과 시간을 줄이는 것입니다. 두 번째는 단축한 프로세스를 바탕으로 필요한 태스크를 잘 정리해서 정형화하는 작업을 진행하기로 했습니다. 이렇게 절차를 정형화해 놓으면 누가 작업을 하든 헤매지 않고 이른바 ‘삽질하는 시간’을 줄여서 빠르게 개발할 수 있도록 도와줄 수 있을 것이라고 생각했습니다. 마지막 목표는 보다 효율적인 커뮤니케이션입니다. 실제 서비스를 론칭할 때는 개발자뿐 아니라 기획자와 디자이너, 프로젝트 매니저 등 다양한 사람들과 함께 협업하게 되는데요. 이 과정에서 서로 커뮤니케이션하는 비용이 생각보다 굉장히 많이 듭니다. 이때 표준 포맷을 이용해서 협업 부서 간 불필요한 커뮤니케이션을 최소화하면 보다 빠르게 서비스를 만들 수 있을 것이라고 생각했습니다.
LandPress
목표를 명확하게 정리했으니 프로젝트에 이름도 붙여야겠죠. 내부적으로 공모도 하면서 이런저런 이름을 많이 고민해 봤는데요. 정적 웹 페이지를 빠르게 만들어 낼 수 있다는 의미를 담고 있으면서 주위에서 많이 사용하는 용어를 차용해 ‘LandPress’라고 이름을 붙였습니다. 자, 이제 이름까지 정했으니 앞에서 정리한 표를 다시 한 번 보겠습니다.
표를 보며 자동화할 수 있는 부분을 살펴봤는데요. 아무래도 직접 만들 때 번거롭고 귀찮았던 부분이 제일 먼저 눈에 들어왔습니다. 바로 개발 환경을 설정하는 과정과 번들링하는 과정이었습니다.
개발 환경 설정과 번들링 자동화
이 문제를 어떤 플랫폼으로 해결할 것인가를 굉장히 많이 고민했습니다. 처음 만드는 것이기도 했고, PoC(Proof of Concept) 단계로 생각했기 때문에 ‘가볍고 익숙한 도구로 만들어 보자’라는 생각이 들어서 CLI(Command Line Interface)로 만들었습니다. CLI라는 용어를 처음 들어보신 분도 계실 텐데요. 간단히 말해서 터미널을 이용해서 사용자와 컴퓨터가 상호작용하는 방식을 의미합니다. 사용자가 키보드를 통해 작업 명령을 문자열 형태로 입력하고 출력 역시 문자열 형태로 나오는 구조입니다.
개발한 도구의 기능을 정리하면 다음과 같습니다.
ES5 코드를 ES6 코드로 변경해 주는 트랜스파일 기능
코드 보안을 위해 코드를 암호화하는 난독화 기능
코드 크기를 줄여주는 미니파이 기능
다국어로 치환해 정적 HTML을 생성해 주는 기능
간단하게 배포할 수 있는 기능 스토리지를 직접 세팅하고 배포하는 번거로운 작업을 피할 수 있도록 CDN과 연동해 명령어 하나로 원하는 서버에 배포할 수 있도록 설계
로컬 환경 개발을 위한 서버 제공 개발하면서 변경 사항을 바로 확인할 수 있도록 핫 모듈 리플레이스먼트(Hot Module Replacement) 기능을 함께 제공
CLI는 프런트엔드 개발자가 많이 사용하는 Node.js 런타임을 이용해 사내 프라이빗 NPM을 통해 설치할 수 있도록 개발했습니다.
명령어 콘셉트는 아주 심플하게 잡았습니다.
프로젝트를 생성하고 싶다면 init 명령어를 사용해 프로젝트를 스캐폴딩(scaffolding)할 수 있습니다. 개발 서버를 실행하고 싶다면 dev 명령어를 사용해 핫 모듈 리플레이스먼트가 적용된 개발 웹 서버를 실행할 수 있습니다. 가장 귀찮았던 빌드 과정은 build 명령어만 사용하면 자동으로 번들링될 수 있도록 설계했습니다. 이쯤 되면 배포가 궁금하실 텐데요. 배포는 사내에서 Verda라고 부르는 클라우드 플랫폼을 통해서 이루어집니다. Verda에는 정적 파일을 호스팅하기 위한 오브젝트 스토리지가 있습니다. 번들링된 파일은 CLI를 통해 Verda 오브젝트 스토리지로 전송된 후 호스팅됩니다.
CLI를 통해 개발 환경 설정과 번거로운 번들링 과정을 자동화했습니다. 하지만 CLI는 로컬에서 빌드와 배포를 진행하기 때문에 사용자 환경에 쉽게 영향 받고 배포 이력을 관리하는 것도 용이하지 않습니다.
무엇보다 프로덕션 번들을 로컬에서 빌드한다면 사용자의 개발 환경에 영향을 받는다는 문제가 가장 컸습니다. 다수의 프로젝트를 동시에 관리하기에도 한계가 있었습니다. 따라서 저희는 보다 편하게 개발할 수 있는 방법을 고민했는데요. 그 결과가 바로 대시보드입니다.
대시보드 도입
CLI는 로컬 환경에서 동작하기 때문에 환경에 따른 한계가 명확했습니다. 저희는 이 한계를 플랫폼으로 확장시켜서 외부로 구현해 해결하고자 했습니다. 또한 백엔드 서버와 데이터베이스를 함께 구축해서 CLI에서 제공하지 못했던 다양한 기능도 추가해 보기로 결정했습니다. 아래 보이는 화면은 앞서 말씀드린 이슈를 보완해 만든 대시보드 결과물입니다. CLI를 만들 때와 같이 어떻게 하면 쉽고 간단하게 배포할 수 있을지에 주안점을 두고 설계했습니다.
사용자는 대시보드에서 간단한 네 가지 단계를 거쳐 소스 코드를 배포할 수 있습니다. 첫 번째 단계입니다. 기존에는 로컬에서 소스 코드를 바로 빌드했지만 대시보드에서는 GitHub 엔터프라이즈에 올라간 소스 코드를 참조할 수 있도록 만들었습니다. 아래 화면에서 Connect to Github 버튼이 보이실 텐데요. 해당 버튼을 누르면 OAuth 인증을 통해서 GitHub 엔터프라이즈와 연동할 수 있습니다.
두 번째 단계입니다. OAuth 인증을 통해서 GitHub의 권한을 몇 가지 얻어올 수 있는데요. 얻어온 권한을 바탕으로 GitHub 저장소에서 어떤 오거나이제이션의 어떤 리포지터리를 배포할 것인지 선택할 수 있습니다. 또 어떤 브랜치로 소스 코드를 배포할 수 있을지도 선택할 수 있습니다.
세 번째 단계에서는 프로젝트 빌드 정보를 입력합니다. 도메인을 비롯해서 빌드에 사용할 Node.js 버전이나 빌드 명령어, 환경 변수, 캐시를 얼마나 어떤 시간으로 설정할 것인지, 어떤 페이지에 캐시를 적용할 것인지를 입력할 수 있습니다.
마지막 단계에서 Deploy 버튼을 누르면 앞에서 입력한 빌드 정보를 바탕으로 소스 코드를 읽어와서 빌드를 시작합니다.
빌드가 완료되면 지정된 CDN에 자동으로 배포를 진행합니다. 내부 구조를 좀 더 자세히 들여다보도록 하겠습니다.
배포 버튼을 누르면 LandPress 서버에서는 GitHub 정보와 빌드 명령어, 환경 변수, 캐시 설정과 같은 빌드에 필요한 정보를 Jenkins 클러스터로 전달합니다. Jenkins 클러스터는 전달받은 정보를 바탕으로 Docker를 이용해 이미지를 생성합니다. 생성된 이미지를 바탕으로 컨테이너를 실행하는데요. 각각의 빌드 환경은 컨테이너로 분리되어 있기 때문에 환경의 영향을 받지 않고 빌드할 수 있습니다. 구축된 컨테이너 안에서 빌드를 완료한 후 완성된 번들을 Verda 오브젝트 스토리지로 전송하면 모든 과정이 완료됩니다.
빌드와 배포 자동화
앞서 개발한 프로세스에서 큰 부분을 차지하는 요소가 빌드랑 배포였는데요. 빌드와 배포하는 행위도 자동화할 수 있지 않을까 고민했고, 고민 끝에 웹훅(webhook)을 이용하면 개선할 수 있을 것 같다는 아이디어를 얻었습니다.
로컬에서 작업한 소스 코드를 GitHub 엔터프라이즈 리모트 저장소에 푸시합니다. 푸시가 완료되면 GitHub에서는 등록된 LandPress 백엔드로 웹훅을 트리거합니다. LandPress에서는 소스 코드를 받아와서 빌드한 다음 CDN에 배포합니다. 물론 푸시뿐 아니라 GitHub에서 제공하는 웹훅 이벤트에 따라서 여러 조건으로 응용할 수도 있습니다. 이를 통해 CI/CD 개념을 구현했습니다.
프런트엔드 개발자의 시간과 노력도 절약
LandPress를 통해서 빌드와 배포까지 자동화하고 난 뒤, 마지막으로 프런트엔드 작업할 때 들어가는 개발자의 시간과 노력도 절약할 수는 없을지 생각해 보았습니다. 프런트엔드 작업은 요구 사항이 워낙 다양하고 비즈니스 로직도 천차만별이라 언뜻 보기에 개발자 없이 작업하는 건 불가능해 보이는데요. 그렇다면 도대체 어떻게 해야 이 작업량을 줄일 수 있을까요?
정적 웹 페이지 콘텐츠의 특성
정적 웹 페이지는 주로 정적인 데이터를 사용자에게 전달하는 용도로 많이 사용합니다. 그렇다면 전달하는 데이터, 즉 콘텐츠가 중요한데요. 우리는 이 콘텐츠라는 개념에 조금 더 집중해보기로 했습니다. 앞서 언급한 것처럼 정적 웹 페이지는 정적인 데이터를 다루기 때문에 데이터베이스가 따로 존재하지 않습니다. 따라서 새로운 정보를 추가할 때는 불가피하게 소스 코드를 수정해야 해서 간단한 값이나 오타를 수정할 때도 개발자의 공수가 필요합니다.
그렇다면 ‘콘텐츠 영역을 추상화해서 소스 코드와 분리하면 되지 않을까?’하는 생각이 자연스럽게 드는데요. 콘텐츠 데이터를 분리해 클라이언트가 요청했을 때 보내주도록 바꿔 버리면 동적 웹 페이지와 다를 바가 없어서 앞서 말씀드렸던 캐시와 같은 정적 웹 페이지만의 장점이 희석됩니다. 그렇다면 어떻게 분리하면 좋을까요? 여러 가지 방법이 있을 텐데요. 해결 방법 중 하나를 소개하겠습니다.
JAM 스택
JAM 스택이라고 혹시 들어본 분 계실까요? JAM 스택은 JavaScript와 API, 그리고 마크업(Markup)만으로 구성된 웹 기술 스택을 줄여서 부르는 용어입니다. 우리가 알고 있는 다이내믹 페이지와 개념은 비슷하지만 조금 다릅니다. 좀 더 자세히 뜯어볼까요?
JAM 스택에서는 클라이언트에 대한 모든 처리를 JavaScript에 위임합니다. 여기서 JavaScript가 처리하는 내용은 주로 동적인 기능을 의미합니다. 또한 모든 기능 및 비즈니스 로직은 재사용 가능한 API로 추상화합니다. 다양한 기능들이 API로 추상화되지만 여기서는 콘텐츠 측면에 좀 더 집중해 보겠습니다.
헤드리스 CMS
우리는 정적 웹 페이지를 만들 때 필요한 데이터를 결국 분리된 외부 환경에서 가져와야 했습니다. 이때 JAM 스택에서 주로 사용하는 것이 ‘헤드리스(headless) CMS’입니다. ‘헤드리스’란 직역하면 머리가 없다는 뜻인데요. 여기서 머리란 콘텐츠를 보여주는 뷰(view) 부분을 의미합니다. 따라서 헤드리스 CMS는 뷰를 제외하고 콘텐츠만 관리하는 시스템, 즉 콘텐츠 관리에 집중한 시스템을 의미합니다. 이해를 돕기 위해서 저희가 내부적으로 사용하는 헤드리스 CMS를 예시로 들겠습니다. 아래 이미지는 내부적으로 사용하는 Strapi라는 프레임워크입니다. 왼쪽 화면처럼 사용자가 원하는 스키마를 추가해서 콘텐츠에 사용하는 데이터 필드를 자유롭게 구성할 수 있습니다.
설계한 스키마를 바탕으로 아래 오른쪽 화면과 같이 콘텐츠를 작성할 수 있는 GUI를 제공합니다. 사용자는 이 GUI를 통해서 콘텐츠를 작성하고 구조를 저장할 수 있습니다.
아래 화면은 앞에서 저장한 데이터를 바탕으로 실제로 렌더링한 화면입니다.
이처럼 헤드리스 CMS를 이용해 콘텐츠의 구조를 설계하고 설계에 맞춰 콘텐츠를 작성한 뒤 제공할 수 있습니다. 그렇다면 화면, 즉 뷰는 어떤 방식으로 렌더링했을까요?
SSG
마크업을 만드는 방법 즉, 렌더링하는 방법은 굉장히 다양합니다. HTML을 직접 작성하거나, 프리 마커와 같은 템플릿 엔진을 이용할 수도 있는데요. JAM 스택에서는 jekill이나 NexT, Gatsby와 같은 SSG(Static Site Generator)를 주로 이용합니다.
SSG를 이용하면 빌드 타임에 데이터를 가져와서 HTML을 렌더링할 수 있는데요. 앞서 언급했듯이 미리 작성된 HTML은 웹 애플리케이션의 서버 리소스를 사용할 필요가 없고 CDN을 통해 캐시한 후 배포하기 때문에 매우 빠른 속도로 사용자에게 전달할 수 있습니다. JAM 스택을 이용해서 정적 사이트를 생성하는 프로세스를 간략하게 표현해 봤습니다.
SSG에서 필요한 데이터 즉, 콘텐츠를 요청하면 헤드리스 CMS에서 요청한 콘텐츠를 내려받아 빌드합니다.
LandPress + JAMStack
우리는 이 JAM 스택이라는 개념을 LandPress와 조합하면 시너지를 낼 수 있지 않을까 고민했는데요. 빌드와 배포 기능은 이미 개발했으므로 SSG와 헤드리스 CMS 아키텍처에 좀 더 집중해 보기로 했습니다.
SSG의 경우 CLI로 많이 제공되기 때문에 이슈가 많이 없었으나 헤드리스 CMS의 경우 서버와 데이터베이스가 필요하기 때문에 서비스마다 새로 설정하는 과정이 굉장히 번거롭고 노력이 많이 들었습니다. 따라서 어떻게 하면 서비스별로 헤드리스 CMS를 제공할 수 있을지 많이 고민했는데요. 그 해답을 Docker에서 찾았습니다.
헤드리스 CMS + Docker
Docker는 애플리케이션을 소프트웨어 컨테이너 안에 배치해서 독립적으로 실행할 수 있게 합니다. 또한 내부 레이어를 통해 포트도 나눌 수 있어서 Docker가 제격이라고 생각했습니다. 우리는 서비스에 필요한 커스텀 헤드리스 CMS 이미지를 제작하고 Docker에서 여러 컨테이너로 실행해서 독립적으로 CMS를 제공할 수 있는 환경을 구축했습니다.
그렇게 구축한 프로덕트의 이름을 ‘LandPress Content’라고 이름 붙였는데요. 사용자가 아래 우측 상단에 보이는 Create Project 버튼을 눌러서 헤드리스 CMS를 동적으로 생성할 수 있게 했습니다.
생성된 CMS는 앞서 개발한 LandPress의 배포 시스템과 연동해서 빌드 배포를 진행해 바로 CDN까지 배포할 수 있도록 설계했습니다.
전체적인 시퀀스 다이어그램을 설명하겠습니다. 처음에 사용자가 헤드리스 CMS를 통해 콘텐츠를 작성합니다.
콘텐츠가 작성되면 헤드리스 CMS에서는 LandPress의 훅을 트리거합니다.
LandPress에서는 새로운 콘테츠가 작성됐다는 것을 인지하고 GitHub에서 소스 코드를 패치해 가져옵니다.
받아온 소스 코드 정보를 바탕으로 빌드 타임에 헤드리스 CMS에서 콘텐츠 데이터를 가져옵니다.
마지막으로 콘텐츠 데이터를 기반으로 번들링한 후에 CDN으로 배포하면 전체 과정이 마무리됩니다.
개발 기간을 단축시켜주는 템플릿 에코 시스템
이제 개발자는 새로운 콘텐츠를 추가할 때마다 소스 코드를 수정할 필요가 없습니다. 그런데 여기까지 진행해보니 뭔가 아쉬운 느낌이 들었습니다. 기존에 우리가 만들어 놓은 소스 코드를 재활용해서 개발 기간을 좀 더 단축시킬 수는 없을지 고민했습니다.
SSG에서는 기존에 만들어진 컴포넌트를 재활용할 수 있도록 템플릿 생태계를 제공하고 있습니다. 이 아이디어에서 영감을 받아 재사용할 수 있는 방법이 있지 않을까 고민해 봤는데요. 랜딩 페이지나 이벤트 페이지, 약관 페이지 같은 경우에는 포맷이 정형화돼 있다는 점에 착안해서 템플릿과 CMS를 번들로 제공하면 어떨까 생각했습니다. 많이 사용하는 패턴을 표준화해서 템플릿으로 등록하고, 사용자가 템플릿을 선택하면 선택한 템플릿을 바탕으로 미리 정리해 놓은 스키마가 있는 헤드리스 CMS를 인스턴스로 만들어서 바로 콘텐츠를 작성하고 배포까지 할 수 있도록 제공하는 것을 시나리오로 생각해 봤습니다.
또한 기존에 만들었던 UI를 컴포넌트화하는 방법을 고안해 봤습니다. 현재 사용하고 있는 헤드리스 CMS에서는 동적으로 컴포넌트를 정의해 추가할 수 있는 기능이 존재하는데요. 이에 따라 사용자가 컴포넌트를 배치해 입맛에 맞게 페이지를 구성할 수 있도록 지원해 볼 예정입니다. 예를 들어 설명해 보겠습니다. 아래 화면 하단의 빨간색 네모 박스에 보이는 버튼들이 제가 미리 정의해 놓은 컴포넌트들입니다. 예시로 버튼과 콘텐츠, 텍스트, 이미지 컴포넌트를 만들어 봤습니다.
사용자는 추가하고 싶은 컴포넌트를 클릭해 페이지에 추가하면 됩니다. 실제로 컴포넌트를 추가해 샘플로 페이지를 만들어 봤습니다. 아래 화면 상단에 보이는 주황색이 미디어 컴포넌트이고 하단에 보이는 파란색과 초록색이 콘텐츠 컴포넌트입니다.
버튼 컴포넌트와 콘텐츠 컴포넌트도 추가해 봤습니다. 컴포넌트를 추가한 순서에 맞게 화면이 렌더링되는 모습을 보실 수 있습니다. 이미 만든 컴포넌트의 순서도 자유롭게 변경 가능합니다.
이처럼 다양한 컴포넌트를 용도에 맞게 미리 정해 놓으면 사용자가 요구 사항에 맞게 자유롭게 페이지를 구성할 수 있습니다. 아래 이벤트 페이지도 컴포넌트를 조합해 빠르게 만들 수 있었습니다.
이제 어떻게 위 이벤트 페이지를 빠르게 만들 수 있었는지 이해가 되셨나요? 위 그래프는 앞서 소개한 ‘미스 콘테스트’라는 이벤트 페이지를 개발할 때 필요한 인력을 간략하게 나타낸 표입니다.
LandPress 없이 개발할 때는 대략 5일 정도가 필요했지만, LandPress를 이용하면서 많은 부분이 자동화돼 개발에 필요한 인력이 5분의 1 정도로 줄었습니다.
이 밖에도 LINE에서 운영하는 많은 페이지들을 앞서 언급한 기술 스택을 이용해 빠르게 개발했고 앞으로도 개발할 예정입니다. 기존에는 이 많은 작업이 모두 개발자의 손을 거쳐야 했지만 이젠 LandPress를 이용해서 클릭 몇 번 만으로 번거로운 작업을 자동으로 진행할 수 있습니다.
마치며
저희들의 궁극적인 목표는 개발자의 개입 없이 다양한 요구 사항을 충족하는 정적 사이트를 만드는 것입니다. 아직 개선해야 할 부분이 굉장히 많이 있지만 하나씩 하나씩 해결해 나가다 보면 언젠간 가능할 날이 올 것이라고 믿고 있습니다.
마지막으로 말씀드리고 싶은 게 있는데요. 저는 오픈 소스 프로젝트를 만들거나 참여하는 것에 관심이 많으며 현재 주로 React 커뮤니티에서 활동하고 있습니다. 관심 있으신 분은 GitHub을 통해 같이 의견을 나눌 수 있으면 정말 좋을 것 같습니다(GitHub ID: @hg-pyun). 아래에서 발표 영상도 확인하실 수 있습니다. 긴 글 읽어주셔서 감사합니다.
[웹개발] 1. 웹개발 시작하기
반응형
웹개발이란, 인터넷이나 인트라넷을 위한 웹사이트를 개발하는 일을 가리킨다.
웹 개발은 가장 단순한 단일 정적 문서의 플레인 텍스트에서부터 가장 복잡한 웹 기반 인터넷 애플리케이션, 전자 비즈니스, 소셜 네트워크 서비스에 이르기까지 개발 범위가 다양하다.
웹개발을 이해하는 것은 크게 어렵지 않다.
위의 사진들은 유명 포털사이트들의 홈페이지이다.
웹개발 자체의 의미는 사전적 의미와 같이 텍스트로만 이루어진 페이지부터 복잡한 웹 애플리케이션까지 다양한 범위를 아우르고 있으나, 내가 설명하는 웹개발은 개발자로서 웹 페이지를 제작하고 운영하는 등의 내용까지만 포함한다.
그러므로 웹이 무엇이고 ipv4, ipv6, tcp가 무엇이고 웹 어셈블리가 무엇인지, 내부적으로 어떠한 방식으로 작동하는지에 대한 구구절절하고 지루한 내용은 모두 스킵한다.
웹개발은 크게 2가지로 나눌 수 있다: 프론트엔드(Frontend), 백엔드(Backend)
이에 따라, 웹 개발자도 크게 2가지로 나뉜다: 프론트엔드 개발자, 백엔드 개발자
예를 들어 서비스를 만든다고 했을 때, 웹개발 자체는 프론트엔드 개발팀과 백엔드 개발팀이 함께 소통하며 작업한다.
프론트엔드 개발(Frontend Development)
프론트엔드 개발자들은 요소와 에셋(asset)들을 배치하고 디자인하며 정적/동적으로 페이지를 사용할 수 있도록 만드는 작업을 한다.
유튜브 홈페이지의 일부분. 파란 부분이 asset들이라고 볼 수 있다.
이 작업은 페이지를 이용하는 사용자들에게 보여지는 모든 것들을 디자인하고 배치하는 것을 의미한다.
요소나 에셋들은 이미지(img) 또는 그래픽(svg), 텍스트(text), 영상(media), 영역(div) 등의 것들을 나타낸다.
아주 간단하고도 전통적인 방식의 개발 방식으로 설명하면, 프론트엔드 개발은 HTML, CSS, Javascript 이 3가지 언어로 구성된다.
HTML은 요소들을 배치하고 구조를 형성 하기 위한 언어이다.
실제 코드는 아래 사진과 같이 생겼다.
CSS는 배치된 요소들을 디자인하고 색을 입히고 꾸미기 위한 언어이다.
실제 코드는 아래 사진과 같이 생겼다.
Javascript는 정적이고 단조로운 HTML 문서의 한계를 극복하기 위해 웹 브라우저(Chrome, Firefox 등) 자체의 내장 컴파일 기능을 이용하여 페이지를 동적으로 변형하고 이벤트를 발생시키는 스크립트 언어이다.
실제 코드는 아래 사진과 같이 생겼다.
일반적으로 이 3가지 언어는 함께 쓰이며 모두 사용될 때에 최강의 효력을 발휘한다.
각각이 어떤 느낌인지는 다음 밈을 보면 어느정도 이해될 것이라고 생각한다.
웹 페이지를 작성 또는 개발하는 순서는 크게 다음과 같다.
1. HTML 코드로 페이지의 틀을 만든다.
2. CSS 코드로 그 페이지의 틀을 꾸미고 재배치한다.
3. Javascript 코드로 페이지를 동적으로 만든다.
더보기 여기에서 한가지 의문이 들 수 있다: 도대체 아까부터 동적, 동적하는데 그게 뭐지? 이를 이해하지 않고 넘어가면 자바스크립트의 존재 의미가 퇴색된다. HTML과 CSS만을 이용하여 페이지를 만들 수 있다. 다만, 그 페이지는 이벤트(사용자가 무언가 클릭하거나 상호작용하는 것 등) 등에 반응하지 못하는 정적 페이지 라고 한다. 이러한 단조로운 페이지는 보기에는 예쁘지만 사용자와 상호작용하는 것이 없는 사진과 같이, 멈춘 것 같은 페이지라고 해서 정적(static) 페이지라는 말을 사용한다. 이를 보완하기 위해 자바스크립트라는 언어를 사용하여 페이지의 각 요소들과 사용자가 상호작용하고 기능을 구현할 수 있게끔 할 수 있는 것이다. 자바스크립트까지 사용하면 비로소 이 정적 페이지는 동적 페이지 가 된다.
백엔드 개발(Backend Development)
백엔드 개발자들은 프론트엔드 페이지와 소통하고 내부적으로 데이터를 저장 및 관리, 분산, 처리하는 작업을 한다.
백엔드 개발은 프론트엔드와 다르게 사용자와 직접 맞닿는 부분이 매우 적거나 없다.
백엔드는 구조가 단순한 것부터 매우 복잡한 것까지 다양하며, 설계 또한 어려우므로 일반적으로 인프라 팀과 소통하여 구조를 구축한다.
데이터베이스, 프레임워크, 분산 처리 서버 등을 적절히 배치하여 서버 간의 효율적인 소통 방식을 설계하고 구현 하는 작업들이므로 여러 요구조건들을 필요로 한다.
프론트엔드와 다르게 구조가 어떠냐에 따라 개발 순서도 천차만별로 달라지므로 이 이상 자세히 서술하지는 않겠다.
다만 간단한 서비스를 구성함에 있어 필요한 최소한의 백엔드도 이후 포스팅에서 다룰 생각이다.
보통 프레임워크 구성으로는 Node.js나 Spring, .NET, Laravel 등을 사용하고,
데이터베이스는 MySQL, MariaDB, MongoDB, LevelDB, Redis 등 다양하게 목적에 따라 사용한다.
분산처리나 데이터 관리 등은 ELK stack이나 Kafka, S3, Hadoop 등을 사용하는 것이 요즘 추세이다.
반응형
So you have finished reading the 웹 페이지 개발 topic article, if you find this article useful, please share it. Thank you very much. See more: 웹사이트 제작 툴, 웹페이지 만들기 예제, 웹사이트 만들기 순서, 웹사이트 제작 코딩, 웹사이트 제작 프로그램, 웹사이트 구축 계획서, 자바 웹사이트 만들기, html5 웹페이지 만들기