목차

2019/10/08 - [JavaScript/초보자를 위한 자바스크립트] - 초보자를 위한 자바스크립트 커리큘럼

2019/10/02 - [JavaScript/초보자를 위한 자바스크립트] - 1. 초보자를 위한 '자바스크립트는 무엇인가?' (feat.프로그래밍을 배우고 싶다면)

2019/10/08 - [JavaScript/초보자를 위한 자바스크립트] - 2. 자바스크립트 변수(variable)와 자료형(data type)

2019/10/14 - [JavaScript/초보자를 위한 자바스크립트] - 3. 자바스크립트 - 비교연산자(Comparisons)와 조건문(Conditional operators)

 

 


지금까지 저희는 codesandbox에서 index.js 파일 [각주:1]만 이용해서 공부했습니다. 

지난 포스팅 내용

맨 첫 시간에 웹페이지는 html과 css, JavaScript 이 3가지로 구성되어있다고 했습니다. 그러나 지금까지 저희가 배운 건 오로지 자바스크립트고 html과 css에 대해서는 배우지 않았습니다. 이 3가지는 긴밀히 연결되어 웹페이지를 구성하므로 이번 시간엔 간단하게 html과 css에 대해서도 배워보도록 하겠습니다.

 

html

먼저 html이란 웹의 뼈대(구조)를 담당합니다. html은 한번쯤 본 적이 있을텐데요,

이런식으로 구성이 되어있습니다. 

<head>안에 들어가는 내용은 우리가 보는 웹페이지 화면에 직접적으로 보여지지는 않지만 웹브라우저가 알아야할 주요한 정보들이 들어있습니다. 그리고 <body>안에는 웹페이지 화면에 직접 출력되는 내용들이 들어있습니다.

 

이러한 <> 것들을 '태그'라고 부릅니다. 이러한 태그들의 종류는 다양합니다. [각주:2]

자주 쓰이는 것들 중 하나로 버튼 태그가 있습니다. <button></button>이런식으로 쓰면 버튼이 생성됩니다.

 

그럼 몇가지 정말 자주 쓰이는 기본적인 태그들을 직접 타이핑하면서 공부해볼까요?

평소처럼 codesandbox에 들어가서 vanilla sandbox를 생성해주시고, index.js에 들어가서 불필요한 부분을 삭제 후 index.html에 들어가서 아래와 같이 타이핑 해봅니다. 오른쪽에 있는 화면은 실제 웹브라우저에 출력되는 모습입니다.

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
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
  <head>
    <title>예시</title>
    <meta charset="UTF-8" />
  </head>
 
  <body>
    <div id="app"></div>
    <h1>제목입니다</h1>
    <h2>소제목입니다.</h2>
    <button>버튼</button>
    <ul>
      <li>목차1</li>
      <li>목차2</li>
      <li>목차3</li>
    </ul>
    <p>문단에 여러가지 내용들~</p>
    <p>
      문단에 여러가지 내용들~문단에 여러가지 내용들~문단에 여러가지
      내용들~문단에 여러가지 내용들~문단에 여러가지 내용들~문단에 여러가지
      내용들~문단에 여러가지 내용들~문단에 여러가지 내용들~
    </p>
 
    <!--주석입니다. 코드에 아무런 영향을 미치지 않고 코드에 대한 설명을 적을 수 있습니다.-->
 
    <a href="https://kim-coffee.tistory.com/">김커피 블로그주소</a>
    <br />
    <img
      style="width: 400px"
      src="https://static.independent.co.uk/s3fs-public/thumbnails/image/2018/04/15/16/china-coffee-cup.jpg?w968h681"
    />
    <script src="src/index.js"></script>
  </body>
</html>
cs

 

<주요 태그 설명>

<h1> 

제목. <h2>...<h6>까지 있다. 점점 폰트크기가 작아진다.
<button> 버튼
<ul> <li> 항목 나열
<p> 문단
<a> 링크 (href = "여기에 연결할 주소 넣으면 된다")
<br> 엔터키와 같은 역할을 한다. 한줄 띄기.
<img> 이미지 삽입 태그. (src = "여기에 이미지 주소를 넣으면 된다")

주요태그 설명을 한번 읽어보시고 직접 코드를 치면서 웹브라우저 화면에 어떻게 출력되는지를 살펴보세요. 하나하나 직접 타이핑해보는 편이 더 이해가 빠를 것 같습니다.

 


CSS

 

css는 웹페이지에서 디자인을 담당하는 부분입니다.  이런 css를 통해 폰트의 색상을 바꾸거나 가운데정렬을 하거나 하는 등 다양한 디자인적인 부분을 꾸밀 수 있습니다. css를 html에 적용하는 방법은 몇가지가 있습니다. 

 

1. html에 <style>태그를 삽입

html파일에 <style>태그를 삽입하여 <style></style>태그 내부에 css를 적어주면 html파일에 css를 통한 디자인이 적용됩니다. 

 

2. css파일에 작성

codesandbox에 보시면 style.css파일이 있습니다. 이 파일 내에 css코드를 적어주면 html파일에 css가 적용됩니다.

 

h1 {
  color: brown;
}

css코드는 이런식으로 생겼습니다. 우리가 위에 적은 html코드에 css를 적용해줄건데요. <h1>태그에 폰트컬러를 브라운컬러로 바꾸고 싶으면 위와 같이 적어주면 됩니다. red, blue 등등 다양한 색상을 쓸 수 있습니다. 

 

css구성

css는 이와같이 선택자(selector), 속성(property), 값(value)으로 구성되어있습니다.

 


CodeSandbox 코드

 

 

앞서 공부한 예시들을 적어놓은 codesandbox입니다. 실습을 하실 때 위 코드를 참고하셔서 자신의 코드가 맞게 쓰여졌는지, 에러가 발생한다면 어느 부분이 잘못되었는지 비교하면서 봐주세요.

모르는 점은 댓글로 질문을 남겨주시면 답변 드리겠습니다 :)

 

codesandbox의 share버튼 클릭했을 때 뜨는 창-editor url복사

본인의 codesandbox에서 에러가 발생했을 경우 codesandbox 오른쪽 상단에 있는 share버튼을 클릭하셔서 url을 복사해서 댓글로 남겨주시면 제가 코드를 직접 확인하고 답변을 달아드릴 수 있습니다.


*참고자료: 

http://www.homejjang.com/03/html_structure.php

http://egloos.zum.com/fundoodle/v/3131696

https://www.codingfactory.net/10187

  1. js가 JavaScript파일을 의미합니다 [본문으로]
  2. 다양한 html태그들이 정리되어있는 포스팅입니다. 참고하세요. http://egloos.zum.com/fundoodle/v/3131696 [본문으로]

이 글은 프로그래밍에 관심은 있으나 프로그래밍이 뭔지, 왜 배워야하는지 구체적인 목표가 없는 고등학생 이상을 대상으로 한 포스팅입니다. 이 글을 통해서 프로그래밍 언어 중 하나인 JavaScript가 무엇인지, 그리고 프로그래밍을 공부함으로써 무엇을 얻을 수 있는지에 대한 개념을 최대한 쉽게 설명하고자 합니다. 


0. 왜 프로그래밍을 배워야 하는가?

먼저 우리는 왜 프로그래밍 언어를 배워야할까요? 이제는 프로그래밍이 의무교육이 될 정도로 중요시되고 있는데 그저 '중요하고 다들 배우려한다'정도로 알고 있을 뿐 그 이유를 명확히 아는 사람들은 많지 않은 것 같습니다. 특히 개발자를 꿈꾸지 않는 사람이라면 더더욱 왜 공부해야하는지 그 이유가 불명확해집니다.

 

구글검색결과

 

  • 선택할 수 있는 직업의 폭이 넓어진다.
  • 문제해결능력을 기를 수 있다.
  • 아이디어를 현실화할 수 있다.
  • 이제는 코딩을 모르면 도태될 수 있다.
출처: https://taegon.kim/archives/9716

여러 인터넷자료들과 제 경험을 비추어보았을 때 가장 와닿고 현실적인 이유들을 꼽아보았습니다.

이제는 IT직군 뿐만 아니라 기타 산업군에서도 코딩능력을 필요로 하고 있습니다. 그렇기 때문에 프로그래밍을 할 줄 알면 선택할 수 있는 직업의 폭이 넓어집니다.  혹은 코딩 능력을 통해 다른 지원자들과의 차별점을 만들 수 있습니다.

또한 코딩을 통해 간단한 프로그램을 개발하여 반복적인 업무를 간편하게 단순화하고, 추상적인 아이디어를 현실화할 수 있으며, 코딩을 통해 문제해결능력을 키울 수도 있습니다.

게다가 이제는 코딩이 의무교육이 된 때입니다. (얼마나 실효성이 있을진 모르겠지만;) 지금은 막 의무교육이 도입된 시점이라 체감할 수 없겠지만, 앞으로는 코딩을 모르면 도태되는 때가 올 수도 있지 않을까 하는 염려도 있습니다.

 

1. 자바스크립트로 선정한 이유

 

  • 프로그램을 설치하는 사전작업이 필요 없어서

  • 직관적으로 실행결과를 눈으로 볼 수 있어서
  • 비교적 다른 프로그래밍언어에 비해 배우기 쉬워서

일단 기초적인 수준의 *프론트엔드 개발을 공부하는 데 있어서 자바스크립트는 별도의 프로그램을 설치하여 복잡하게 개발환경을 구축할 필요 없습니다. codesandbox나 codepen과 같이 브라우저에서 작동하는 에디터들을 사용하여 간편하게 자바스크립트 프로그래밍을 할 수 있다는 장점이 있습니다.

 

*프론트엔드 개발: 쉽게 말하면 사용자들의 눈에 보이는 웹화면을 개발하는 것입니다.

*백엔드 개발: 반대되는 개념으로 백엔드 개발이 있고, 사용자들의 눈에 보이지 않는 뒷부분- 서버개발 등을 의미합니다.

 

또한 실행결과를 웹브라우저를 통해 볼 수 있어서 바로 바로 실행결과를 직관적으로 확인할 수 있다는 장점이 있습니다. 그리고 웹 브라우저에서 동작하다보니 운영체제의 제한을 받지 않습니다. 

 

마지막으로 다른 프로그래밍 언어들에 비해 비교적 진입장벽이 낮고 배우기 쉽다는 장점이 있습니다. 보통 프로그래밍 언어를 공부할 때 C언어를 시작으로 하는 경우가 많은데 C언어는 비교적 어려운 언어라서 초반부터 너무 어려움을 느끼고 쉽게 공부를 포기할 수 있다는 단점이 있다고 생각합니다.

 

덧붙이자면 자바스크립트는 수요도 많은 편이라 전망 있는 프로그래밍 언어로 볼 수 있습니다.

 

2. 자바스크립트란?

 


자바스크립트
(영어: JavaScript)는 객체 기반 스크립트 프로그래밍 언어이다. 이 언어는 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다. 또한 Node.js와 같은 런타임 환경과 같이 서버 사이드 네트워크 프로그래밍에도 사용되고 있다. (출처: 위키백과)

 

위는 위키백과에 나와있는 자바스크립트에 대한 설명입니다. 여기서부터 낯선 단어들이 등장하죠.ㅋㅋ 객체 기반? 스크립트 프로그래밍 언어? 서버사이드 네트워크 프로그래밍? 벌써부터 뭔가가 어려워보입니다. 그냥 쉽고 간단하게 설명하도록 하겠습니다.

 

자바스크립트는 우리가 사용하는 웹브라우저 (크롬, 인터넷 익스플로러러 등등)에서 동작하는 프로그래밍언어입니다.

 

웹페이지의 구성요소

우리가 방문하는 모든 웹페이지들은 모두 html, css, 그리고 JavaScript 이렇게 3가지로 구성되어있습니다.

먼저 html은 웹의 '내용들'입니다. 예를 들면 제가 이렇게 작성하고 있는 글의 내용, 제목 등이 되겠습니다. 

그리고 CSS는 이런 html이 보여주는 콘텐츠를 보기 좋게 예쁘게 꾸며주는 역할을 담당합니다. 예를 들면 글의 폰트나 색상과 같은 '디자인적인 요소를 담당'하죠.

마지막으로 JavaScript'동작'을 담당합니다. 예를 들면 html로 버튼을 하나 만들어 넣고, css로 그 버튼을 예쁘게 디자인합니다. 그리고 그 버튼을 클릭해서 발생하는 동작은 javascript가 담당하는 것입니다.

 

3. 자바스크립트로 무엇을 할 수 있는가?

 

그렇다면 자바스크립트를 배워서 우리는 무엇을 할 수 있을까요?

https://www.grandcircus.co/blog/10-things-you-can-build-with-javascript/

 

10 Things You Can Build with JavaScript - Grand Circus - Tech Training

JavaScript is the most widely used programming language in the world. But what does it build? Learn about 10 things you can build with JavaScript.

www.grandcircus.co

위 글을 참고하여 아래 자바스크립트로 할 수 있는 것들을 적어보도록 하겠습니다.

 

  • 웹사이트 개발
  • 웹서버 개발
  • 게임 개발
  • 모바일 앱 개발

자바스크립트는 독보적인 웹프로그래밍 언어로 웹페이지, 웹서버를 개발할 수 있습니다. 웹을 개발하고 싶으시다면 무조건 자바스크립트를 공부해야 합니다. 

뿐만 아니라 간단한 게임도 만들 수 있습니다. 그리고 요새 핫한 모바일 개발 또한 안드로이드 프로그래밍을 배우지 않고, 자바스크립트로 개발할 수 있습니다.

이밖에도 VR/AR이나 사물인터넷까지 충분히 다양한 분야에 자바스크립트를 활용할 수 있습니다. 


 

 

+ Recent posts