
프론트엔드 개발자(앞단) - 웹 사이트와 웹 서비스를 만듬. 예를 들어 서버 쪽과의 데이터 통신 연결 작업을 진행하거나, 버튼을 누르면 다양한 인터렉션 효과를 구현하는 개발자, 사용자가 보는 모든 화면의 페이지를 제작하는 사람.
백엔드 개발자(뒷단) - 사용자가 보지 못하는 뒤의 영역을 만듬. 예를 들어 로그인을 한다고 할 때, 등록된 아이디인지 비밀번호가 맞는지 확인 작업을 하거나, 고객 정보를 안전하게 보관하는 개발자.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> 제목 </title>
</head>
<body> 내용 </body>
</html>
meta 태그는 문서의 특성name 태그는 서버에서 참조 가능한 정보 이름content 태그는 정보의 값title 태그는 웹 제목link 태그를 이용, rel, type 태그로 속성을 설정함.sizes 태그로 크기를 변경하고, href 태그를 이용 사진의 경로를 설정함<head>
<meta charset="utf-8">
<meta name="description" content="Web Tutorial">
<meta name="keywords" content="html, css, tutorial, web">
<meta name="author" content="Kangsan Park">
<title>HTML, CSS Tutorial</title>
<link rel="shortcut icon" type="image/icon" sizes="32x32" href="favicon.ico">
</head>
a 태그는 하이퍼링크, href 태그로 주소 설정함target 태그를 이용하여 _self 태그는 현재 창, _blank 태그는 새 창에서 염<a href="https://www.naver.com/" target="_blank">네이버</a>

src 태그로 경로를 설정하고, alt 태그를 이용하여 이미지의 설명을 추가함width, height 태그로 크기를 설정함<img src="apple.png" alt="애플 이미지" width="150px" height="">
<img src="https://www.seekpng.com/png/detail/24-243121_apple-png-apple-clipart.png" alt="사과 이미지" width="150px" height="">

h1 태그로 갈수록 중요도가 높고 글자 크기가 큼,h1 태그는 기업명 또는 서비스명으로 거의 한번만 씀<h1>Title</h1>
<h2>Title</h2>
<h3>Title</h3>
<h4>Title</h4>
<h5>Title</h5>
<h6>Title</h6>

p 태그를 씀<p>Nice to meet you</p>
<p>Nice to meet you</p>
<p>Nice to meet you</p>

span 태그는 css 스타일 적용하기 위한 태그mark 태그는 글 배경색 적용. (기본 노란색 배경)<p><span>동해물</span>과 백두산이 마르고 닳도록</p>
<p><mark>사과</mark>는 사과 나무에서 나는 열매이다.</p>

ol 태그는 순서가 있고 ul 태그는 순서가 없음ol, ul 태그 밑에는 li 태그만 들어갈 수 있음 <ol>
<li>메뉴1</li>
<li>메뉴2</li>
<li>메뉴3</li>
</ol>
<ul>
<li>메뉴1</li>
<li>메뉴2</li>
<li>메뉴3</li>
</ul>
<ul>
<li><a href="#">영화</a></li>
<li><a href="#">부동산</a></li>
<li><a href="#">음악</a></li>
</ul>

type 태그로 버튼의 속성을 설정함button 태그는 단순한 클릭의 버튼, submit 태그는 서버에 정보를 보내는 버튼<button type="button">닫기</button>
<button type="submit">확인</button>

src 태그로 영상의 경로를 설정controls 태그로 영상을 컨트롤하는 버튼 양식 추가autoplay 태그로 영상 자동 재생(크롬에서는 muted 태그를 이용해 음소거해야 자동 재생)loop 태그는 영상 자동 반복width, height 태그로 크기 조절, 하나만 설정시 자동 설정<video src="sample.mp4" controls
autoplay muted
loop
width="400px"
height="#">
</video>

<iframe width="200" height="200"
src="https://www.youtube.com/embed/CqvfTItHF-s"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>

<audio src="sample audio.mp3" controls
autoplay muted
loop>
</audio>

form 태그는 폼 양식을 설정하는 태그
label 태그는 각각의 폼 양식에 이름을 붙이는 태그
for, id 태그를 동일하게 설정하면, 클릭시 이동
type 태그로 양식의 속성을 설정함(예시로 password 로 설정시 ●로 입력됨)
placeholder 태그 사용시 빈칸 폼 안에 설명을 위한 회색 글씨가 생성됨
minlength, maxlength 태그로 길이 설정 가능
number 태그 때, min, max 태그로 숫자의 최소값과 최대값 설정 가능
upload 태그 때, accept 태그로 첨부 가능한 파일의 양식을 설정 가능
required 태그로 폼 양식 때 반드시 입력 해야하는 필수값으로 선택 가능
<form method="post">
<label for="name">이름</label>
<input type="text" placeholder="이름을 입력하세요." id="name" minlength="2" maxlength="8" required>
<label for="mail">이메일</label>
<input type="email" placeholder="이메일을 입력하세요." id="mail" required>
<label for="pw">비밀번호</label>
<input type="password" placeholder="최소 6글자, 최대 12글자" id="pw" minlength="6" maxlength="12" required>
<label for="num">숫자</label>
<input type="number" placeholder="숫자만 입력" id="num" min="10" max="40" step="5">
<label for="upload">파일 업로드</label>
<input type="file" id="upload" accept="image/png, image/jpg, image/gif">
<button type="submit">제출</button>
</form>

checkbox 태그를 이용, 체크 양식을 추가함radio 태그를 이용, 단일 선택의 체크 양식을 추가함checked 태그를 이용 시 기본 체크됨<label for="n1">한국</label>
<input type="checkbox" id="n1" name="country" value="한국">
<label for="n2">일본</label>
<input type="checkbox" id="n2" name="country" value="일본">
<label for="n3">중국</label>
<input type="checkbox" id="n3" name="country" value="중국">
<label for="n1">한국</label>
<input type="radio" id="n1" name="country" value="한국" checked>
<label for="n2">일본</label>
<input type="radio" id="n2" name="country" value="일본">
<label for="n3">중국</label>
<input type="radio" id="n3" name="country" value="중국">

textarea 태그를 이용, 문의내용 등을 적는 폼 양식을 추가함cols 태그로 가로 크기를, row 태그로 세로 크기를 설정함<label for="content">문의내용</label>
<textarea id="content" cols="40" rows="8"></textarea>

select 태그를 이용, 선택 가능한 폼 양식을 추가함select 태그 밑에는 option 태그만 사용 가능, value 태그로 선택 칸의 내용을 설정selected 태그로 기본 선택이 되는 값을 선택 가능disabled 태그로 다시 선택할 수 없는 값 설정 가능<select name="job">
<option selected disabled>직업을 선택해 주세요.</option>
<option value="학생">학생</option>
<option value="회사원">회사원</option>
<option value="기타">기타</option>
</select>

table 태그를 이용, 표를 만듬 (css를 이용해서 표 테두리 설정 가능)
thead, tbody, tfoot의 순서로 표가 이루어짐
caption 태그를 이용, 표 위 가운데 캡션을 추가함
tr(table row) 태그는 가로줄 설정
th(table head) 태그는 표의 제목 설정
td(table data) 태그는 셀 내용 설정
rowspan 태그를 이용해 세로셀 병합 가능
colspan 태그를 이용해 가로셀 병합 가능
<table>
<caption>상품 정보</caption>
<thead>
<tr>
<th>상품</th>
<th>색상</th>
<th>가격</th>
</tr>
</thead>
<tbody>
<tr>
<td>맥북 프로 16인치</td>
<td>그레이</td>
<td>3,000원</td>
</tr>
<tr>
<td rowspan="2">아이패드 프로 12인치</td>
<td>레드</td>
<td>1,000원</td>
</tr>
<tr>
<td>블루</td>
<td>1,000원</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">총 가격</td>
<td>5,000원</td>
</tr>
</tfoot>
</table>

주로,
header 태그는 최상단nav 태그는 상단 버튼main 태그는 주 내용(본문)section 태그는 관련있는 내용, article 태그는 독립적인 내용aside 태그는 본문 옆 내용, div 태그는 관련없는 부가적인 내용footer 태그는 최하단<header>
<nav>
<ul>
<li><a href="#">메뉴1</a></li>
<li><a href="#">메뉴2</a></li>
<li><a href="#">메뉴3</a></li>
</ul>
</nav>
</header>
<main role="main">
<section>
<h2>Service</h2>
</section>
<section>
<h2>Portfolio</h2>
</section>
<article>
<h2>Article title</h2>
<p>Nice to meet you</p>
</article>
</main>
<aside></aside>
<div></div>
<footer></footer>

Inline과 Block은 레이아웃의 개념으로 CSS로 설정함.
span 태그는 Inline으로, 가로로 나열 및 크기 설정이 안됨
h1 태그는 block으로, 세로로 나열 및 크기 설정이 됨
<span>Inline</span>
<span>Inline</span>
<span>Inline</span>
<h1>Block</h1>
<h1>Block</h1>
<h1>Block</h1>

section 태그, article 태그, aside 태그, div 태그의 구분이 아직 명확하지 않아, 조금 더 찾아봐서 이해해야 함.section 태그는 관련이 있는 내용들끼리,article 태그는 혼자서 독립될 수 있는 내용들끼리,aside 태그는 그냥 본문 옆에 있는 내용,div 태그는 위의 내용과 전혀 관련없는 별개의 내용으로 구분한다는 걸 깨달음.