beautyify css
- 코드의 가독성을 높여주고 정렬해주는 역할을 함
- shift + alt + F
python intelliSense
- 파이썬을 vscode에서 사용할 수 있게 함
live preview
- 실시간으로 CSS를 미리보기 할 수 있는 확장 프로그램
nodejs
- 구글창에 node.js 검색 후 설치
- Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경으로, 서버 측 JavaScript 개발을 가능하게 해주는 플랫폼
javascript debugger
- 코드 실행 중 발생하는 버그를 식별하고 수정하는 도구
code runner
- 코드 실행을 가능하게 하는 확장 프로그램
html prettier
- html 코드를 포멧팅하는 프로그램
autopep8
- 파이썬 코드를 포멧팅하는 프로그램
개인적으로 원하는 단축키를 사용하려면
ctrl + k, ctrl + s 를 작성시
이런 화면에서 수정이 가능하다.

<!DOCTYPE html> : document 타입이 html 문서
<html lang="en"></html> :웹문서의 시작과 끝을 나타내는 태그
<head></head> : 웹문서의 정보에 대한 코드 작성
<body></body> : 웹문서에서 화면에 출력되는 코드 작성
meta : 페이지 데이터 정보를 출력
viewport : 렌더링 영역의 크기 설정 (반응형 웹)
title : 브라우져에 출력되는 제목
시멘틱 태그 : 태그 이름으로 의미를 알 수 있는 태그

<header> : 헤더 영역 표현<nav> : 네이게이션 바 영역 표현<main> : 전체 컨텐츠 영역 표현<article> : 독립적인 컨텐츠 영역 표현<section> : 컨텐츠 영역 표현, article 태그 안에 여러 개의 section 태그 작성함<aside> : 본문 오른쪽이나 왼쪽 영역 표현<footer> : 웹문서 아래 영역 표현
<h1>~<h6>: 제목 태그 (크기별)<p>: 한줄 문자열 태그<br>: 줄바꿈<span> : 한블럭 문자열 태그<pre> : 줄바꿈 띄어쓰기 적용 태그<code> : 코드 태그<strong>, <b> : 굵은 글씨 태그<small> : 작은 글씨 태그<em>, <i> : 이탤릭체 태그<sup> : 윗첨자 태그<sub> : 아래첨자 태그<u> : 밑줄 태그<del> : 삭제선 태그<a href="" target="_blank">: 링크 태그 
<table> : 테이블 태그
<caption> : 테이블 제목
<thead> : 테이블 컬럼
<tbody> : 테이블 내용
<tr> : 테이블 로우(row)
<th>, <td> : 테이블 데이터

<img src="", alt="" width="" height=""> : 이미지 태그 
<form method="" name="", action="" target="_blank"> : 로그인 페이지와 같이 여러개의 데이터를 서버로 전달할때 사용하는 태그
<input type="" placeholder="" maxlength="" name="" value="" readonly required autofocus> : 문자열을 입력 받는 태그
<label> : input 태그에 이름을 붙일 수 있는 태그
<textarea cols="" rows=""> : 여러 줄의 문자열을 입력할 수 있는 태그
<!-- html 코드를 간단하게 만들어주는 문법 -->
<!-- '>' : 하위 레벨 태그 생성-->
<!-- sp>pan -->
<p><span></span></p>
<!-- '+' : 같은 레벨 태그 생성 -->
<!-- p+span -->
<p></p>
<span></span>
<!-- '()' : 태그 묶음 -->
<!-- (p+span)(p+span) -->
<p></p>
<span></span>
<p></p>
<span></span>
<!-- '^' : 상위 엘리먼트로 이동 -->
<!-- p>span^div -->
<p><span></span></p>
<div></div>
<!-- ':' : type 속성 -->
<!-- input:text -->
<input type="text" name="" id="">
<!-- #: 아이디, . : 클래스 -->
<!-- p#no.no1>span.no2 -->
<p id="no" class="no1"><span class="no2"></span></p>
<!-- '*' : 반복해서 태그 생성 -->
<!-- ul>li.data*3 -->
<ul>
<li class="data"></li>
<li class="data"></li>
<li class="data"></li>
</ul>
<!-- '$' : 순번 사용 -->
<!-- ul>li.data$*3 -->
<ul>
<li class="data1"></li>
<li class="data2"></li>
<li class="data3"></li>
</ul>
<!-- '@' : 순번 시작 번호 설정 -->
<!-- ul>li.data$@6*3 -->
<ul>
<li class="data6"></li>
<li class="data7"></li>
<li class="data8"></li>
</ul>
<!-- '{}' : 문자열 입력 -->
<!-- ul>li.data$@6{no$}*3 -->
<ul>
<li class="data6">no1</li>
<li class="data7">no2</li>
<li class="data8">no3</li>
</ul>
<!-- '[]': 속성값 입력 -->
<!-- a[href=https://kt.com{kt 페이지 이동}] -->
<a href="https://kt.com{kt 페이지 이동}"></a>
<style></style>

<link rel="stylesheet" href="경로/이름.css" />
- 이와 같이 사용함
margin: border 바깥 영역의 여백 설정
border: 영역의 테두리 설정
border-radius: 둥근 모서리 설정
padding: border 안쪽 영역의 여백 설정
width: 컨텐츠의 가로길이 설정 (px % auto)
height 컨텐츠의 세로길이 설정
var data1 = 10;
var data2 = 20, data3 = 30;
var data2 = 20,
data3 = 30;
var data4 = data5 = 40;
console.log(data1, data2, data3, data4, data5);
>
10 20 30 40 40
var data1 = 1;
var data2 = 'js';
var data3 = true;
var data4 = function(){console.log('js')};
var data5 = {key: 'js'};
console.log(typeof data1, typeof data2, typeof data3);
console.log(typeof data4, typeof data5);
>
number string boolean
function object
var data1 = undefined;
var data2 = null;
var data3 = NaN;
console.log(typeof data1, data1);
console.log(typeof data2, data2);
console.log(typeof data3, data3);
console.log(NaN == NaN, NaN > NaN);
>
undefined undefined
object null
number NaN
false false
var data1 = '1';
var data2 = 2;
console.log(typeof data1, typeof Number(data1));
console.log(data1+data2);
console.log(Number(data1)+data2);
console.log(data1 + String(data2));
>
string number
12
3
12
var data1 = '1';
var data2 = 2;
console.log(typeof data1, typeof (data1 - 0));
console.log(typeof data2, typeof (''+data2));
>
string number
number string
var data1 = 11, data2 = 4;
console.log(data1 / data2, data1 % data2, data2 **3);
>
2.75 3 64
// ++data1 : +1하고 데이터 대입
var data1 = 5, data2 = 7;
data1 = ++data2;
console.log(data1, data2);
>
8 8
// data1++ : 데이터 대입하고 +1
var data1 = 5, data2 = 7;
data1 = data2++;
console.log(data1, data2);
>
7 8
var data1 = 1, data2 = '1';
console.log(data1, data2);
console.log(data1 == data2, data1 === data2);
>
1 1
true false
console.log(true && false, true || false);
>
false true
var data1 = 10;
data1 += 20;
console.log(data1);
>
30
var balance = 10000, amount = 6000;
var msg = balance >= amount ? '인출가능' : '인출불가';
console.log(msg);
>
인출가능
var data1 = 0.1, data2 = 0.2;
console.log(data1 + data2 === 0.3);
console.log(data1 + data2);
>
false
0.30000000000000004
console.log(Math.round((data1 + data2) * 10) / 10);
console.log(Math.round((data1 + data2) * 10) / 10 === 0.3);
>
0.3
true
var balance = 3000, amount = 4000;
if(balance < amount){
console.log('인출불가');
} else if (amount > 5000){
console.log('인출불가: 최대인출금액초과');
} else {
console.log('인출가능');
}
var count = 3;
while(count > 0){
count -= 1;
console.log('js');
}
>
js
js
js
for(var i=0; i<3; i++){
console.log('js');
}
>
js
js
js
for(var i=0; i<5; i++){
if (i === 2){
continue;
}
console.log('js', i);
}
>
js 0
js 1
js 3
js 4
for(var i=0; i<5; i++){
if (i === 2){
continue;
}
console.log('js', i);
if (i >= 3) {
break;
}
}
>
js 0
js 1
js 3
var count = 6, lotto = '';
console.log(Math.random());
console.log(Math.ceil(4.2));
for (var i=0; i<count; i++){
var rnum = Math.ceil(Math.random() * 44) +1;
lotto = lotto + rnum + ' ';
}
console.log(lotto);
>
0.3842289032751265
5
22 10 45 14 37 30
// 함수 선언: 코드 작성
function showLotto(){
var count = 6, lotto = '';
for (var i=0; i<count; i++){
var rnum = Math.ceil(Math.random() * 44) +1;
lotto = lotto + rnum + ' ';
}
console.log(lotto);
}
// 로또 번호 출력: 함수 호출: 코드실행
showLotto();
// javascript 출력
console.log('javascript');
// 로또 번호 출력
showLotto();
var data = [1, 2, 3, 'A', 'B'];
console.log(typeof data, data);
data.push('C');
console.log(data);
console.log(data[3]);
for(var i=0; i<data.length; i++){
console.log(i, data[i])
}
>
object [ 1, 2, 3, 'A', 'B' ]
[ 1, 2, 3, 'A', 'B', 'C' ]
A
0 1
1 2
2 3
3 A
4 B
5 C
var data = { name: 'andy', plus: function(n1, n2){return n1+n2}};
console.log(typeof data, data);
console.log(data.name, datap['name']);
>
object { name: 'andy', plus: [Function: plus] }
andy andy
function Person(name){
this.name = name;
}
var person = new Person('andy');
console.log(typeof person, person);
>
object Person { name: 'andy' }
var data = {};
data.name = 'alice';
data['age'] = 23;
console.log(data);
delete data.age
console.log(data);
>
{ name: 'alice', age: 23 }
{ name: 'alice' }