본문 바로가기

개인 스터디/정리

Do it 웹사이트 따라 만들기 - 웹사이트 만들 준비하기, 개발 환경 준비하기

# 1-1. 우리가 알아야 할 HTML 기본 상식

HTML란?

  • 웹에서 사용하는 문서를 만드는 언어. 브라우저를 통해 내용이 나타난다.
  • 각 브라우저의 엔진이 HTML을 해석하고 CSS에 정의된 스타일로 화면에 배치한다. 엔진은 Webkit, Geckp. Blink로 분류된다.
  • HTML로 만들어진 정보를 수진하여 저장하는 일을 크롤링이라 한다. 이러한 검색 엔진 최적화를 위해 콘텐츠의 구조와 의미까지 구분하여 HTML을 작성하는 것이 좋다.
  • <meta> 태그는 검색 엔진을 최적화 하고 하나의 웹 사이트 정보를 담는 중요한 태그이다.

 

기본구조(자료실에서 제공)

<!DOCTYPE html> 
<html>
<head>
<title>이지스퍼블리싱</title>
<meta charset="UTF-8"><!-- HTML5의 인코딩 지정 방법 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- 호환성 보기 기능 활성화 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, 
minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi"><!-- 화면에 보이는 영역으로, 너비를 현재 기기의 width로 정하고 포기 화면 배율을 1로 지정 -->
<!-- 전화, 주소, 이메일 자동 링크 없앨 때 -->
<!--<meta name="format-detection" content="telephone=no, address=no, email=no" />-->
<!-- 기본 포맷 삭제 -->
<!--<meta name="format-detection" content="no" />-->
<!-- 아래는 오픈 그래프 속성으로, 소셜 미디어와 같은 사이트로 공유될 때 여기에 작성된 내용을 기준으로 데이터 표시 -->
<meta name="title"  property="og:title" content="이지스퍼블리싱"> 
<meta name="images" property="og:image" content="./images/link_thumb.jpg">
<meta name="description" property="og:description" content="이지스퍼블리싱">
<meta name="type" property="og:type" content="article">
<script type="text/javascript" src="./js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="./js/ui.js"></script>
<link rel="stylesheet" type="text/css" href="./css/ui.css">
</head>
<body>
</body>
</html>

 

  • <!DOCTYPE html> : HTML이 지켜야 할 표준을 알려주는 DTD. 모든 HTML 문서가 필요하다.
  • <html> : HTML의 시작을 알리며, 웹 문서 전체를 감싼다.
  • <head> : <title>, <meta> 태그 그리고 CSS 파일과 자바스크립트 파일이 있다.
  • <title> : 웹 브라우저의 툴 바에 표시되는 현재 문서의 제목
  • <meta> : 현재 HTML의 모든 정보를 요약해서 단는 데이터.
  • <script> : 외부 자바 스크립트 파일로, src 속성으로 외부 파일을 가져와서 사용한다.
  • <link> : 별도의 CSS 파일을 연결한다.
  • <body> : 브라우저에 표현되는 내용을 담고 있는 HTML의 본문 태그
  • </html> : 본문 태그와 전체적인 HTML 작성을 마치고 사용하는 태그

 


# 1-2. 웹 페이지를 시각화하는 CSS

CSS란?

  • 시각적인 표현을 위한 언어이다. 종속형 스타일 시트로, 상속시켜 적용한다.
  • HTML의 정적인 정보를 동적으로 표현할 수도 있다.
  • 모든 브라우저에 페이지가 동일하게 보이도록 CSS에 모든 태그의 기본 스타일을 지우고 각 태그를 시키는 것을 CSS 초기화라 한다. 일반적으로 마진과 패딩 등을 0으로 설정하여 재설정한다.

 

박스 모델이란?

  • CSS와 HTML은 박스 모델이다. 즉, 각 사각형 박스로 각 요소를 표현한다. 사각형 박스는 마진, 패딩, 테두리, 콘텐츠 영역을 표현할 수 있다.
  • 콘텐츠 영역 : 실질적인 내용이 담기는 부분
  • 패딩 : 내용과 테두리의 간격
  • 테두리 : 내용과 패딩 주변을 감싼다.
  • 마진 : 테두리의 영역을 감싼다. 실제 크기(width)에는 포함되지 않는다.

 

inline-block

  • block : 레이아웃을 결정하는 HTML 태그로, 일반적으로 줄 바꿈이 되는 요소이다. 화면 전체(width)를 사용한다. 다른 block의 요소와 inline을 포함할 수 있다.
  • inline : width를 지정하지 않아도 태그 안의 콘텐츠만큼 width를 차지한다. 다음에 오는 태그는 줄바꿈되지 않고 오른쪽으로 붙는다. block요소는 올 수 없고, inline은 포함할 수 있다.
  • inline-block : 태그의 기본 형태는 inline과 block이다. 기본적으로 inline 형태지만 block 요소(높이, 넓이)를 사용할 때 쓰이는 속성이다.

 

margine과 padding

  • 박스 모델의 여백을 지정하는 두 CSS 속성이다.
  • 패딩 : 태그가 가진 여백(width에 포함된 값, width = 콘텐츠 영역 + padding)
  • 마진 : 태그의 바깥쪽 여백(width가 포함되지 않은 값, width = 콘텐츠 영역), 즉 마진은 태그에 포함되지 않은 영역이므로 배경이미지가 주어질 때 조금만 나타난다.
  • 두 차이를 고려해서 계산하는 불편한 점을 위해 BOX-SIZING을 이용한다. border-box(테두리를 포함한 크기 지정), content-box(콘텐츠 영역만 지정)

 

CSS 선택자 - 가상 클래스 선택자, 가상 요소

  • 선택자 : CSS에서 속성값을 지정하기 위해 class 또는 id를 작성하여 정의하는 것.
  • 가상 클래스 선택자 : HTML 태그를 기준으로 선택자를 만들어 스타일을 정의한다. 태그에 불필요한 클래스를 넣지 않아도 된다.
  • 특히 nth-child(태그의 단순 순서)와 nth-of-type(특정 요소 중 n번째)가 많이 사용되는 가상 클래스 선택자.
  • 의미없는 태그 혹은 가상 처리를 위한 before, after 가상요소가 있다. 주로 시각적인 효과를 위해 사용.
  • transition(시간에 따라 요소가 변함), transform(형태 변형) 속성을 이용해 애니메이션을 구현할 수 있다.
  • flexbox를 이용해 레이아웃을 간단하게, 알아서 공간 분배를 하도록 정렬할 수 있다.

 


# 1-3. 동적인 웹 페이지를 만들어 주는 자바스크립트

자바스크립트란?

  • HTML, CSS를 동적으로 제어하는 스크립트 언어
  • if문, for문, switch문, while문 등이 있다.

 


# 1-4. 알아 두면 유용한 제이쿼리

제이쿼리(jQuery)란?

  • 자바스크립트의 생산성을 향상시켜 주는 자바스크립트 라이브러리.
  • 멀티 브라우저 지원 기능을 가지고 있어 다양한 브라우저에서 사용 방법이 다른 스크립트를 하나로 사용할 수 있게한다.
  • CDN 호스트(인터넷이 연결된 곳에서 사용), 파일을 다운로드해서 사용한다.
  • 체인(연속적인 동적 제어), 트래버싱(체인 연장), 이벤트(시스템에서 일어나는 사건 제어), 애니메이션 등의 기능이 있다.

 


# 1-5. 자원과 시간 낭비를 막아주는 Ajax

Ajax란?

  • 자바스크립트를 이용해 비동기식으로 서버와 통신하는 방식
  • 한 화면에 두 가지 내용을 독립적으로 표현하는 경우에 사용한다.

 


# 2-1. 개발 도구 설치하기

책에서는 서브라임 텍스트를 사용하지만...나는 익숙한 VSC를 이용할 예정이다.

alt + shift + B로 브라우저에서 열 수 있다.

기본적인 jQuery나 자바스크립트 파일은 내가 만들어야 함.

 


# 2-2. 브라우저의 개발자 도구

개발자 도구란?

  • 웹 작업을 도와주는 도구로, 웹사이트의 구조를 이해하거나 HTML을 만든 후 디버깅 할 때 유용하다.
  • 모든 브라우저에서 F12를 누르면 개발자 도구 화면을 확인할 수 있다.
  • HTML 태그를 검사하거나, 웹페이지에 사용된 리소스 열람 혹은 서버와의 통신 내역을 확인할 수 있다.

 


# 2-3. 크로스 브라우징

크로스 브라우징이란?

  • 사용자가 어느 기기나 브라우저에서 웹 사이트에 접속해도 불편함 없이 웹 사이트를 사용하도록 웹 표준을 지켜 만드는 가이드.
  • 프로젝트를 진행할 때 스탯 카운터를 활용하여 현재 브라우저의 점유율을 확인하여 대응 순서를 정한다.
  • Can I use에 접속하여 내가 사용하는 CSS나 자바스크립트명을 넣고 브라우저 작동 범위를 확인할 수 있다.
  • 벤더 프리픽스 : 브라우저별 접두어를 붙여 사용하며, 구형 브라우저를 사용하는 경우 기능을 제공하기 위해 사용한다.

 


# 회고

 

FE 공부를 위해 잠시 빌렸다. 2주 안에 끝낼 수 있을지는 모르겠지만...최대한 노력해봄.

이걸로 간단하게 기초만 하고 멋사 동아리 자료로 심화 + 복잡한 API 통신까지 도전해 볼 생각이다.

 

아마 공부하면서 여기에 좀 더 이해하기 쉽게 수정하지 않을까..해야 함.

빠르게 진도 나가려고 간단하게 작성했기 때문에...

 

아래에서 공부에 필요한 자료를 다운 받는다.

이지스퍼블리싱 (easyspub.co.kr)

 

http://www.easyspub.co.kr/Main/PUB

 

www.easyspub.co.kr