23. Front-end 13

async ํ•จ์ˆ˜์™€ await

์™œ ์‚ฌ์šฉํ•˜์ง€? async ํ•จ์ˆ˜๋Š” ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ์–ด๋–ค ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. async ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค!์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์„ฑ์ด ๋†’์•„์ง€๊ณ , ํŠนํžˆ I/O ์ž‘์—…์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ๊ฐ™์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์—์„œ ์œ ์šฉํ•˜๋‹ค. async (์–ด์‹ฑํฌ)ํ•จ์ˆ˜ ๋ฌธ๋ฒ•  async๋Š” function ์•ž์— ์œ„์น˜ํ•œ๋‹ค.async function f() {       return 1; } function ์•ž์— async๋ฅผ ๋ถ™์ด๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ํ•ญ์ƒ ํ”„๋ผ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํ”„๋ผ๋ฏธ์Šค๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋”๋ผ๋„ ์ดํ–‰ ์ƒํƒœ์˜ ํ”„๋ผ๋ฏธ์Šค(resolved promise)๋กœ ..

Callback ๊ณผ Promise ์ฐจ์ด ์•Œ์•„๋ณด๊ธฐ, Promise ์‚ฌ์šฉํ•˜๊ธฐ (ํ† ์Šค ๋ธ”๋กœ๊ทธ ์ฐธ๊ณ )

Callback์„ ์‚ฌ์šฉํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” setTimeout() ์ด๋ผ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋‚ด์žฅ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. setTimeout()์€ ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋Š”๋ฐ, ์ฒซ๋ฒˆ์งธ๋Š” ์‹คํ–‰ํ•  ์ž‘์—… ๋‚ด์šฉ์„ ๋‹ด์€ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์ด๊ณ , ๋‘ ๋ฒˆ์งธ๋Š” ์ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„ ์‹œ๊ฐ„์ด๋‹ค. ์ฆ‰, setTimeout() ํ•จ์ˆ˜๋Š” ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ ๋“ค์–ด์˜จ ์‹œ๊ฐ„๋งŒํผ ๊ธฐ๋‹ค๋ฆฐ ํ›„์— ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋“ค์–ด์˜จ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์‚ฌ์šฉ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.setTimeout(function () { console.log("Hello World");}, 2000);console.log("setTimeout() example...");function async(callback) { setTimeout..

data-***, data-์†์„ฑ๋ช… , ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ

data-*** -HTML5 ์— ์ถ”๊ฐ€๋œ Element์˜ ์†์„ฑ -๊ฐœ๋ฐœ์ž๊ฐ€ element์˜ ์†์„ฑ๊ฐ’์œผ๋กœ data๋ฅผ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ -์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€? data-์†์„ฑ๋ช… ex) data-age="20" ex) data-my-name="name ์•„๋ฌด๊ฑฐ๋‚˜" ex) button1 button2 button3 button4 Text1 Text2 Text3 Text4 btns.addEventListener("click",function(event){ let btn=event.target; if(btn.classList.contains("btn")){ let t = btn.getAttribute("data-num");//console.log(t) ๋ฒ„ํŠผํด๋ฆญํ•˜๋ฉด ์ˆซ์ž๋‚˜์˜ด document.getElementByI..

[Javascript] Function ํ•จ์ˆ˜, Event

Function ํ•จ์ˆ˜ 1. ํ•จ์ˆ˜์„ ์–ธ function[ํ•จ์ˆ˜๋ช…] ([๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ]){ [return] } 2. ํ•จ์ˆ˜ํ˜ธ์ถœ 1) ํ•จ์ˆ˜๋ช…([์ธ์ž๊ฐ’]); ํ•จ์ˆ˜ํ˜ธ์ถœ์„ ๋จผ์ €ํ•˜๊ณ  ํ•จ์ˆ˜์„ ์–ธ์„ ํ•ด๋„ ์ž˜ ์ž‘๋™ํ•จ 3. ํ•จ์ˆ˜์ด๋ฆ„ ์œ ๋ฌด 1) ๋ช…๋ช…ํ•จ์ˆ˜ - ์ด๋ฆ„์ด ์žˆ๋Š” ํ•จ์ˆ˜ - ํ•จ์ˆ˜์„ ์–ธ ์œ„์น˜์™€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ์œ„์น˜๋Š” ์ƒ๊ด€์—†์Œ 2) ์ต๋ช…ํ•จ์ˆ˜ (์ด๊ฑด ์ˆœ์„œ๊ฐ€ ์ค‘์š” ์„ ์–ธํ›„ ํ˜ธ์ถœํ•ด์•ผํ•จ) - ์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜ - ์ฝœ๋ฐฑํ•จ์ˆ˜์šฉ ( ์–ด๋–ค ๊ฒฐ๊ณผ๋ฌผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ํ•จ์ˆ˜), ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Œ - ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ํ˜ธ์ถœ 4. ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ์€ ๋ณ€์ˆ˜๋ช…๋งŒ ์„ ์–ธ function test(param1, param2){ } >>์ด๋Ÿฐ์‹์œผ๋กœ ๋ณ€์ˆ˜๋ช…๋งŒ ์„ ์–ธ function test( let param1, param2){ } >> ์ด๋ ‡๊ฒŒ ์•ˆ์”€..

[JavaScript 2]BOM and DOM, Element ์„ ํƒ, Class ์„ ํƒ์ž ๋ฐฐ์—ด ,innerHTML, innerTEXT

JS๋Š” ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ Object(๊ฐ์ฒด)๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌ BOM(Browser Object Model) BOM 1. window (์ตœ์ƒ์œ„ ๊ฐ์ฒด ์ž๋ฐ”์—์„œ๋Š” object์˜€๋˜ ๊ฒƒ์ฒ˜๋Ÿผ) - ์ตœ์ƒ์œ„ ๊ฐ์ฒด๋Š” window๊ฐ์ฒด์ด๋‹ค (์ฐธ์กฐ๋ณ€์ˆ˜๋ช…์€ ์ƒ๋žต ๊ฐ€๋Šฅ) a. document: HTML ๋ฌธ์„œ ๊ด€๋ฆฌ b. location: URL ๊ด€๋ฆฌ, ์ƒˆ๋กœ๊ณ ์นจ c. history: ๋’ค๋กœ๊ฐ€๊ธฐ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ ๋ถ€๋ถ„ d. navigator : Web browser ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์•  ex) ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ, ์—ฃ์ง€ ๋“ฑ.. e. screen: ํด๋ผ์ด์–ธํŠธ์˜ ๋ชจ๋‹ˆํ„ฐ ํ™”๋ฉด์ •๋ณด ์ฐธ์กฐ) https://developer.mozilla.org/ko/docs/Web/API/Window Window - Web API | MDN Window ์ธํ„ฐํŽ˜..

JavaScript

JavaScript 1. Java์™€๋Š” ์ƒ๊ด€์ด ์—†์Œ 2. web browser์—์„œ ์‹คํ–‰ 3. OOP๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์ค‘ ํ•˜๋‚˜ 4. ์ธํ„ฐํ”„๋ฆฌํ„ฐ์–ธ์–ด (Java๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด) - ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ์‹œ์— ์—๋Ÿฌ๊ฐ€ ๋œจ๋ฉด ์‹คํ–‰์ด ์•ˆ๋จ(ํ†ต๋ฒˆ์—ญ) - ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋Š” ์‹ค์‹œ๊ฐ„ ์ปดํŒŒ์ผ ์–ธ์–ด(๋™์‹œํ†ต์—ญ) - ์‹คํ–‰ ์ค‘ ์˜ค๋ฅ˜(์—๋Ÿฌ)๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ ๋•Œ ์ค‘์ง€ 5. web์—์„œ ๋™์ ์ธ ์š”์†Œ๋ฅผ ๋‹ด๋‹น 6. Javascript ์šฉ๋„ Element๋Š” ํƒœ๊ทธ, ์†์„ฑ, contents๋กœ ๊ตฌ์„ฑ ๋˜์–ด ์žˆ๊ณ  ์†์„ฑ์€ class="" ๋‚˜ id="" name="" value="" ๋“ฑ๋“ฑ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Œ Element์˜ ํƒœ๊ทธ, ์†์„ฑ, contents๋ฅผ ๋ณ€๊ฒฝ, ์‚ญ์ œ, ์ถ”๊ฐ€ ํ•˜๋Š” ์šฉ๋„ - Style (css) ๋ณ€๊ฒฝ, ์‚ญ์ œ, ์ถ”๊ฐ€ Study2 >>ํƒœ๊ทธ ์†์„ฑ content..

[HTML] fieldset, legend, label

1. fieldset - ์ž…๋ ฅํƒœ๊ทธ(input ํƒœ๊ทธ)๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ํƒœ๊ทธ 2. Legend - ์ž…๋ ฅํƒœ๊ทธ์˜ ์ œ๋ชฉ(title)์„ ์ž…๋ ฅํ•˜๋Š” ํƒœ๊ทธ - radio, checkbox ์„ ํƒ์‹œ ์ด๋ฆ„์„ ์„ ํƒํ•ด์„œ fieldset ๋ถ€๋ชจํƒœ๊ทธ legend, label ์ž์‹ํƒœ๊ทธ -> fieldset ๋‚ด๋ถ€์— legend, label์ด ์žˆ์–ด์•ผ ํ•จ ID PW ์„ฑ๋ณ„ ์—ฌ์„ฑ ๋‚จ์„ฑ

[HTML] Form ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ์„ ํƒํ• ๋•Œ, ์ž…๋ ฅํƒœ๊ทธ, Button

Form form ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์„ ํƒํ• ๋•Œ ์“ฐ๋Š”๊ฒƒ (blockํƒœ๊ทธ) - ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ - ๋Œ€๋ถ€๋ถ„์ด ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ์–‘์‹ - form ํƒœ๊ทธ ์˜์—ญ ๋‚ด์˜ ๊ฒƒ๋“ค์„ ์„œ๋ฒ„๋กœ ์ „์†ก(parmeter๋ผ๊ณ  ํ•˜๋Š”๊ฒƒ) - form ํƒœ๊ทธ ์˜์—ญ ๋‚ด์—๋Š” input ํƒœ๊ทธ๋“ค ์‚ฌ์šฉ ex) post ๋ž‘ getํƒœ๊ทธ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”๊ฑด formํƒœ๊ทธ์ด๋‹ค. -method ์†์„ฑ์€ ์ƒ๋žต ๊ฐ€๋Šฅ(Default ๋Š” get) -get ๋˜๋Š” post๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ -formํƒœ๊ทธ ์˜์—ญ ๋‚ด์—๋Š” input ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉ ์ž…๋ ฅํƒœ๊ทธ input -> ์ฃผ๋กœ formํƒœ๊ทธ ๋‚ด์—์„œ ์‚ฌ์šฉ - formํƒœ๊ทธ ์—†์ด ์‚ฌ์šฉ๋„ ๊ฐ€๋Šฅ (JavaScript์™€ ๊ฐ™์ด ์‚ฌ์šฉ) - ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š” ํƒœ๊ทธ - type์ด๋ผ๋Š” ์†์„ฑ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ž…๋ ฅ์–‘์‹..

[HTML] ๊ทธ๋ฃนํƒœ๊ทธ, List, Semantic

๊ทธ๋ฃน ํƒœ๊ทธ - ์—ฌ๋Ÿฌ๊ฐœ์˜ Element ๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ์—ญํ•  - ํƒœ๊ทธ ์ž์ฒด๋Š” ์•„๋ฌด๋Ÿฐ ํšจ๊ณผ๊ฐ€ ์—†์Œ 1. div - display ์†์„ฑ์ด block 2. span - display ์†์„ฑ์ด inline List - ๋ชฉ๋ก - ์ฃผ๋กœ ๋ฉ”๋‰ด ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉ - block ํƒœ๊ทธ 1. ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ (Orderd List) ... 2. ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฆฌ์ŠคํŠธ (Unordered Liest) ... -- ํƒœ๊ทธ๋„ Block ํƒœ๊ทธ Semantic - HTML5์—์„œ ์ถ”๊ฐ€ - ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ(๊ฒ€์ƒ‰์—”์ง„) - Layout ๊ตฌ์กฐ์šฉ -> div ํƒœ๊ทธ ๋Œ€์‹ ์— -> navigation divํƒœ๊ทธ ๋Œ€์‹  *ํ‹€๋ฆฌ๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์‹œ ๋ฐ”๋กœ ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

[CSS] ์ •๋ ฌ, size ๋‹จ์œ„, color, reset

์ •๋ ฌ 1. ์ˆ˜ํ‰ ์ค‘์•™ ์ •๋ ฌ 1) block : margin : 0 auto 2) text : text-align : center 3) ๋ถ€๋ชจ๋‚ด์—์„œ ์ž์‹์˜ ์ค‘์•™์ •๋ ฌ : ์ขŒ์šฐ ๋˜๋Š” ์ƒํ•˜์˜ padding ๊ฐ’์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ flex๋กœ๋„ justify-content: center align-items: center size ๋‹จ์œ„ 1. px : pixel 2. % : ๋ถ€๋ชจํ™”๋ฉด ํฌ๊ธฐ์˜ ๋ฐฑ๋ถ„์œจ 3. em : ์ฃผ๋กœ ํฐํŠธํฌ๊ธฐ, ๋ถ€๋ชจ์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฐฐ์ˆ˜ 4. rem : ์ฃผ๋กœ ํฐํŠธํฌ๊ธฐ, ์ ‘์†ํ•œ ๋ธŒ๋ผ์šฐ์ €์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ฐฐ์ˆ˜ 5. vh : View height(๋ชจ๋‹ˆํ„ฐ ํ™”๋ฉด ๊ธฐ์ค€), ๋‹จ์œ„๋Š” ๋ฐฑ๋ถ„์˜ 1 ๋‹จ์œ„ 1vh = ํ™”๋ฉด์˜ ๋†’์ด / 100 1000px * 1vh=(1000px / 100) =10px 6. ..