이전에는 var 키워드를 사용하여 변수를 생성하여 값을 담았다.


var 키워드는  ES6에서 const와 let이 나오면서 사용하지 않는다.


var 키워드의 스코프(Scope)는 함수 단위이다.



const : 한 번 설정한 후 변할 일이 없는 값을 선언할 때 사용(상수)

let : for 문 등 값이 계속 유동적으로 변할 가능성이 있을 때 사용















아래와 같은 에러는 


const에서 값을 선언하지 않았을경우 발생하는 에러이다.


const는 상수이기 때문에, 1회 선언되면 그 이후 변경할 수 없다.



SyntaxError: Missing initializer in const declaration

Posted by sungho88
,

CSS 개념 및 적용 방법


= Cascading Stylesheets의 약자.


= CSS를 HTML에서 적용시키는 방법에는 세 가지가 존재한다.


1. HTML 태그 안에 직접적으로 적용하기(인라인 스타일)

2. <style>태그를 이용해서 HTML 파일에 작성 후 적용하기

3. 외부에서 .css 확장자를 갖는 CSS 파일을 생성해서 HTML에서 불러와서 사용하기.


1번은 유지보수나 가독성 측면에서 최대한 사용하지 말아야하며,

2번은 간단한 CSS라면 가능하지만, 이것 역시 HTML파일에  CSS가 포함되어 길어지기 때문에 별로이다.

3번을 추천한다. 이렇게 작성해야 HTML과 CSS가 분리되어 따로따로 관리를 할 수 있고, 재사용이 용이하다.


1번의 경우 태그의 속성으로 style을 선언 후 작성.

이렇게 코딩을 하게 되면 추후 수정이 어렵고, 코드 가독성이 떨어진다!



2번의 경우 <head>태그 안에 <style>을 선언 후 작성



3번의 경우 HTML에는 CSS를 일절 사용하지 않고, 호출만 한다. 그러면 적용된다.

외부에 .css파일을 생성한 뒤, 호출한다. 호출방법은 다음과 같다.


<link rel="stylesheet" href="style.css">


<link>로 연결을 하는데, href 속성을 사용한다.
같은 경로에 있을 경우에는, 그냥 style.css를 사용하고 다른 경로에 있을때는 상대경로를 작성해준다.

이것은 HTML 파일 설정에 해당하므로, <head>태그 안에 넣어야한다.



CSS 선택자(Selectors)


- CSS 적용시 { } 안에 속성:값; 형식으로 넣는다.

선택자에는 여러가지 종류가 있다.


1) 태그를 선택자로 하기

<style>
h1 {
color: blue;
}
</style>


태그를 선택자로 한다면, 모든 태그에 CSS가 적용이 되는 것을 주의해야한다.


2. 특정 태그를 CSS 적용하기.


<style>
#green-heading {
color: green;
}

.primary-para {
color: red;
}
</style>
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
<div class="box">
<h2 id="green-heading">Welcome</h2>
<p class="primary-para">
Hello My World
</p>
</div>


특정 태그를 선택하여 스타일을 적용하는 방법에는 두 가지가 존재한다.


1) class (클래스) : 태그 속성을 class="box"로 했다면 CSS에서 이 태그를 호출할 때는, 점(.)을 태그앞에 쓴다.  : .box

2) id (아이디) : 태그 속성을 id="box01"로 했다면 CSS에서 이 태그를 호출할 때는, 샵(#)을 태그앞에 쓴다.  : #box01

  

HTML에서 태그의 내부 태그(Nested Selectors)를 찾는 방법은 다음과 같다.


.box h2 {
    color: blue;

}


이 것은 class="box"로 선언된 div태그의 하위인 h2태그에 CSS를 적용하겠다는 의미이다.


주의할 점은, 콤마로 구분을 할 경우 Nested Selectors가 아니라 각각 적용이 되므로


.box와 모든 h2가 css 적용이 되어버리므로 그냥 space 1번으로 작성해야한다.


즉, 여러개를 동시에 적용하려면 콤마(,)를 사용한다.





<ul>
<li><a href="">List01</a></li>
<li><a href="">List02</a></li>
<li><a href="">List03</a></li>
<li><a href="">List04</a></li>
<li><a href="">List05</a></li>
<li><a href="">List06</a></li>
<li><a href="">List07</a></li>
</ul>


이렇게 하면,


이렇게 되는데, a태그를 css에서 원하는대로 바꿀 수 있다.


Posted by sungho88
,

<abbr> Tag


<p>
<abbr title="World Wide Web">WWW</abbr>
Smaller and faster than other CSS frameworks.
Easier to learn, and easier to use than other CSS frameworks.
Better cross-browser compatibility than other CSS frameworks.
Uses standard CSS only (No jQuery or JavaScript library).
Supports modern responsive mobile first design by default.
Provides CSS equality for all browsers: Chrome, Firefox, Edge,
Provides CSS equality for all devices: desktop, laptop, tablet,
Speeds up and simplifies web development.
</p>


abbr요소는 텍스트를 생략어(abbreviated form)로 지정합니다.


무슨 말이냐?


약자를 쓸 경우 무슨 뜻인지 모를때가 있다.


위에 예제의 경우 WWW의 전체 뜻을 알려주기 위해서


<abbr title="World Wide Web"> 이렇게  적어주면 WWW에 마우스를 갖다대면


title에 적힌 설명이 뙇~~



이렇게 설명을 해주는! 태그이다.

눈에 띄게 점선 밑줄까지!!



Posted by sungho88
,

[특징 정리]


- HyperText Markup Language의 약자이다.

- HTML은 웹의 최소 단위인 웹페이지를 만드는 언어이기 때문에 웹의 밑바탕이 된다.

- 웹 페이지의 구조를 만들기 위해 사용한다.

- HTML 개발을 위해서는 웹브라우저와 텍스트 에디터가 반드시 필요하다.

- 서버 필요없이 실행할 수 있으며, index.html이 웹 사이트의 루트 파일이다.

- .html 확장자를 붙이면 HTML 파일이 되어 브라우저로 실행이 가능하다. 

(저장할 때 파일명.html으로 저장하면 HTML 파일이 생성된다)


[태그]

- HTML의 태그들은 각각의 용도가 있다. 

- 태그는 다음과 같은 형태로 사용된다.  <tagname>content</tagname>

- 태그는 종류가 매우 많으므로, 외우기보다는 이해한 후, 필요에 따라 갖다쓰는 것이 좋다.

- 보통은 한 쌍으로 이루어져있다.(시작 태그와 끝 태그)


<h1>Title<h1>

<p>Content<p>


- 몇몇은 태그 하나로 나눠쓴다.


<br/> 

HTML5에서는 <br>로도 가능하다.



html 기본 구조는 다음과 같다.


<!DOCTYPE html>는 HTML5를 사용하겠다는 일종의 선언이다.


그리고 HTML 파일 내 설정 세팅이나 내용은 반드시 <html>과 </html> 태그 안에 들어가야 한다.

이 태그가 가장 기본이 되는 태그이다.


<head> </head> 사이에는 제목을 위한 <title>태그와 <meta> <script>나 <link>등이 들어갈 수 있다.


유저가 실제 눈으로 보는, HTML 파일에 대한 Contents 정보들은 <body>태그안에 입력된다.


페이지 구조를 브라우저에게 알리는 정보들은  <head>태그안에 작성된다.


<!DOCTYPE html> // HTML5임을 나타내는 선언
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>


<meta> 란? 


- 브라우저에게 해당 HTML 파일에 대한 정보를 알리는 태그일 뿐, 사용자를 위한 정보는 아니므로 보이지 않는다.

 

- charset 속성의 경우, Character encoding을 뜻한다. 즉, 문자의 인코딩 종류를 결정한다.




아래 태그들은 모두 <body>태그에서 사용하는 것이다.



제목을 위한 h1, h2, h3, h4, h5 태그


<h1>111</h1>
<h2>222</h2>
<h3>333</h3>
<h4>444</h4>
<h5>555</h5>


이렇게 하고 실행을 해보자.




h1이 가장 큰 제목(중요한 제목일때 사용한다)이며 h5로 갈수록 작아진다(중요도가 떨어진다)

크롬에서 개발자 도구(단축키 F12)를 사용하면 구조를 좀 더 쉽게 확인할 수 있다.




태그에는 2가지로 구분할 수 있는데, 다음과 같다. 


1. 인라인 태그

- 새로운 라인에서 시작하지 않는다. 즉, 내용 중간에 사용할 수 있다는 의미이다.

- <strong>, <em> <a>, <span>, <img> ...


<a>태그는  <a href="http://www.naver.com">네이버</a> 으로 사용한다. 링크를 거는 것이다.

태그 속성으로 target이 있는데, 현재 창에서 링크 이동할 것인지, 아니면 새 창을 띄우고 그 창에서

이동할 것인지를 지정하는 것이다. _blank의 경우 새 창을 띄우고 이동한다.

이것을 작성하지 않으면? 기본적으로 현재 페이지에서 링크 사이트로 이동하게 된다.


<a href="http://www.naver.com" target="_blank">네이버</a>



2. 블록 태그

- 새로운 라인에서 시작한다.

- <div>, <h1~h6>,<p>,<form> ...






ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


태그 속성(Attribute)

- 시작 태그에 입력한다.

- 태그명과 ">" 사이에 입력한다. 

<tagname attributeName="attributeValue">content</tagname> 



Posted by sungho88
,

말 그대로 파일 또는 디렉토리가 없을 경우 나오는 에러이다.


가장 흔한 실수가 생성한 파일명과 호출하는 파일명이 다를 경우이다.


app.get("/", function (req, res) {
res.sendfile(__dirname + "/index.html");
});


이렇게해서 현재 경로(__dirname)을 부르고 + HTML 파일명으로 하는데...


생성한 파일 이름이 위  index.html이 아닐때 이 에러가 발생한다.

Posted by sungho88
,

클래스


- 연산자 .으로 호출

- 중복 허용.


아이디


- #으로 호출

- 중복 불가(유일한 1개 매칭)



Posted by sungho88
,

[테이블에서 왼쪽 정렬된 텍스트를 가운데 정렬하는 방법]


text-align : center;  로 가운데 정렬을 할 수 있다. 


td {

text-align : center;

}

은 가운데 정렬이 되는데, 


th {

text-align : center;

}

은 가운데로 이동하지 않는다.

적용이 안된다. 


tr > th로 해야,

적용이 된다. 




[테이블에서 테두리를 따로따로 지정하는 방법]


border : 1px solid red;    // 모든 테두리를 한꺼번에 변경


이외에도, 상하좌우 각각 변경이 가능하다.


border-


left right top bottom 을 붙이면 된다.


상단을 좀 더 굵게 검은색으로 하고싶다면


 


border-top: 2px solid black;으로 하면 된다.




Posted by sungho88
,

홈페이지 개발 시, 화면 영역 크기를 제한하려고 한다.


제한하지 않으면, 아래 이미지와 같이 화면 창 끝과 끝까지 텍스트가 길어져 보기 좋지 않다.




그래서, 대부분의 홈페이지들은 중앙에 내용을 위치하며, 너비의 제한을 둔다.


컨텐츠 화면을 중앙으로 배치하는 방법.. margin : 0 auto;


지금 작성중인 티스토리 글쓰기 화면도 마찮가지다.


어떻게하면, 컨텐츠를 중앙으로 옮길 수 있을까?


간단하다. 하지만 모르면 어렵다.


중앙으로 이동하고자하는 div태그에 다음과 같이 style 속성을  추가해주면 된다.



<div style="width: 900px; margin: 0 auto;">


width는 당연하겠지만, 너비다. 900px만 사용하겠다는 의미이다.


margin: 0 auto가 중요하다.


0은 위아래 마진이다. 위아래는 마진이 필요없으므로 0


auto는 좌우 마진이다. auto는 자동이므로 양옆을 균일한 값으로 마진이 발생한다.


따라서, 정중앙으로 컨텐츠 이미지가 이동하게 된다.


아래 사진을 보면 하단이 적용한 텍스트이다. 보기 더욱 깔끔해졌다.




margin을 쓸때는 


상 하 좌 우 모두 따로따로 사용할 수 있다.


margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
margin-left: 10px;


또는 


상하 , 좌우 를 두개로 묶어서 사용할 수 있다.


margin: 50px 20px;



아니면, 동일하게 마진(패딩)을 적용하고 싶다면, 그냥 



margin: 50px;



라고 쓰면 된다.


패딩도 똑같은 원리로 적용할 수 있다.



Posted by sungho88
,

정말 쉽네요~


자동완성이 엄청난것 같아요.


약 2자만 치면 자동으로 목록이 나오고, 선택하면 


시작태그와 끝태그 그리고 중요한 속성까지 입력할 수 있게 자동완성되어 보여지네요


맥 기준으로 Option + Shift + F를 통해 HTML 자동 정렬까지 가능하구요~


확장을 통해 브라우저까지 쉽게 열 수 있으니... 이건 뭐 개발 속도가 증가될 수 밖에요 


아톰에서 엄청 삽질했던게 기억나는데


이런 세상이 있었다니..


물론... 알아야 잘 쓸수 있는거니까... 삽질이나 노가다 입력을 통해 HTML 구조에 대해 알고 계시는 것이 좋을 것같아요.


Posted by sungho88
,

비주얼 스튜디오 코드에서 브라우저를 쉽게 열려면 패키지를 설치해줘야 한다.


1. 보기 메뉴 - 확장을 선택한다.



2. 아래와 같은 창이 나온다. 



3. View in Browser를 입력한다. 그리고 설치한다.


설명은 다음과 같다. 단축키는 Ctrl + F1이라고 한다.



끝났다..


깔끔하게 종료한 뒤, 다시 들어가서 코드에 커서를 놓고


윈도우 : Ctrl + F1

맥 : Command + F1


을 누르게 되면 자동으로 브라우저가 열리며 코드가 적용된것을 볼 수 있다.





Posted by sungho88
,