๐ŸŒ• Front ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 60๊ฑด

์ธํ„ฐ๋„ท ์„œ๋น„์Šค๋Š” SaaS(Software as a Service)์˜ ํ˜•ํƒœ์ด๋‹ค. ์„œ๋น„์Šค ์ค‘์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. Facebook์ด๋‚˜ ํŠธ์œ„ํ„ฐ๊ฐ€ ์„ธ์ƒ์— ๋„๋ฆฌ ํผ์ง€๊ฒŒ๋œ ์ด์œ  ์ค‘์— ํ•˜๋‚˜๊ฐ€ ์™ธ๋ถ€ ์„œ๋น„์Šค์—์„œ๋„ Facebook๊ฐ€ ํŠธ์œ„ํ„ฐ์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๊ฒƒ์ด๋‹ค. ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์—ฐ๋™๋˜๋Š” Facebook์ด๋‚˜ ํŠธ์œ„ํ„ฐ์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ Facebook์ด๋‚˜ ํŠธ์œ„ํ„ฐ์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ณ„๋„์˜ ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์น˜๋ฉด ๋‹ค๋ฅธ ์„œ๋น„์Šค์—์„œ Facebook๊ณผ ํŠธ์œ„ํ„ฐ์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์€ Facebook์ด๋‚˜ ํŠธ์œ„ํ„ฐ ๊ฐ™์€ ์„œ๋น„์Šค ์ œ๊ณต์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์™€ ์—ฌ๋Ÿฌ ์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์—…์ฒด ๋ชจ๋‘์— ์ด์ต์ด ๋˜๋Š” ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ ๊ธฐ์—ฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค...

1. useEffect ๋ž€? ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋žœ๋”๋ง ์ดํ›„์— ์‹คํ–‰์‹œํ‚ฌ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•œ๋‹ค. useEffect์˜ effect๋Š” side-effect๋ผ๋Š” ๋œป์ด๋ฉฐ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๋žœ๋”๋ง ๋œ ํ›„ (main-effect) ์— ํ•ด์•ผํ•  ์ž‘์—…๋“ค์„ ๋งํ•œ๋‹ค. ์ปดํฌ๋„ŒํŠธ์˜ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ๋ฐ์„œ ๊ฐ€์ ธ์™€ ๋‚˜์ค‘์— ๋‚ด์šฉ์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๋“ฑ์˜ ์ž‘์—…์„ ํ•˜๋Š” ์ž‘์—…๋“ค์— ํ•ด๋‹นํ•œ๋‹ค. DOM ์—…๋ฐ์ดํŠธ, Browser Paint๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์— UseEffect๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ useEffect๋Š” ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ componentDidMount, componentDidUpdate ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. 2. useEffect ์‚ฌ์šฉํ•˜๊ธฐ 1) callback : render()ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋ฉฐ, return ..

1. React hook ์ด๋ž€? ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ state๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๊ณ , ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์†Œ๋ฉธ์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ์ธ ๋ผ์ดํ”„์‚ฌ์ดํด API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ๊ทธ์ € ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‹œํ‚ค๋Š” ์ผ๋งŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‹จ์ˆœํ•œ ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์‚ฌ์šฉ๋๋‹ค. ํ•˜์ง€๋งŒ 16.8 ๋ฒ„์ „๋ถ€ํ„ฐ ํ›…(hook)์ด๋ผ๋Š” ๊ฐœ๋…์ด ๋„์ž…๋˜๋ฉฐ, ์ด ๋‘˜์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค. ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์— "hook into”, ๋Œ์–ด์™€ ์—ฐ๊ฒฐ ํ•œ๋‹ค๊ณ  ํ•ด์„œ "hook"์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋˜ํ•œ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ท€์ฐฎ๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” didMount, render, this ๋“ฑ ๋Œ€์‹ , ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ๋กœ ๊ฐ€๋…์„ฑ ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค. Class Component import { Component } from 'react';..

1. SPA์™€ ๋ผ์šฐํ„ฐ์˜ ๊ด€๊ณ„ • SPA๋Š” ์„œ๋ฒ„์— ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋งŒ ์š”์ฒญํ•˜์—ฌ ์ „์ฒด ์›น์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด๋•Œ ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ๋Š” CSR, AJAX ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ, ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ๋ฆฌ๋กœ๋“œ ์—†์ด ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. • MPA์™€ ๋‹ค๋ฅด๊ฒŒ, ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ํ•˜๋‚˜์˜ ์•ฑ์˜ ๊ตฌ์„ฑ์š”์†Œ๋กœ ๋ณด๊ณ , ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€ ๊ฐ„์˜ ์Šคํƒ€์ผ, ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค. • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ์„ ํ™œ์šฉํ•ด ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ์—, ์ฒซ ์š”์ฒญ ์‹œ ๋นˆ ํŽ˜์ด์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋ฉฐ, ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›์•„์˜จ๋‹ค. SPA์˜ ๊ธฐ์ˆ ์  ์žฅ์  • ์„œ๋ฒ„์—์„œ ํŽ˜์ด์ง€๋ฅผ(์„œ๋ฒ„ ๋žœ๋”๋ง) ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ CDN์— ์บ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. • ๋งค๋ฒˆ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด ์ค„์–ด๋“ ๋‹ค. • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ์ดํ„ฐ ์š”์ฒญ ๋“ฑ์„ ์บ์‹ฑํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ์ œ์•ฝ ์กฐ๊ฑด์ด ์ค„์–ด๋“ ๋‹ค. • ..

Typescript  ์“ฐ๋Š” ์ด์œ 1. ์•ˆ์ •์ ์ด๋‹ค. ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•  ๋•Œ,  ํ”„๋กœ๊ทธ๋žจ์— ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.2. ํƒ€์ž… ์—๋Ÿฌ๋ฅผ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ๊ฒ€์ถœํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋‹ค.  (๋Ÿฐํƒ€์ž„ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋กœ ์ธํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ˜๋‹ค๋ฉด, ์šด์˜๋˜๋Š” ์„œ๋น„์Šค์— ํฐ ์ฐจ์งˆ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.)3. ํƒ€์ž…์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ช…์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์œ ๋ฆฌํ•˜๋‹ค.   Typescript์˜ ํŠน์ง•1. ์ปดํŒŒ์ผ๋Ÿฌ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ ๋™์‹œ์— Javascript๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋‹ค.2. ํƒ€์ž… ๋ช…์‹œ: ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ, ํƒ€์ž…์„ ๋ช…์‹œํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •3. ํƒ€์ž… ์ถ”๋ก (contextual typing): ์ •์  ํƒ€์ดํ•‘์„ ํ†ตํ•ด ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.const sum = (a: number, b: number..

ํŽ˜์ด์Šค๋ถ, ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ, ์นด์นด์˜คํ†ก์—์„œ ๋งํฌ์— ๋Œ€ํ•œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ œ๋ชฉ, ์„ค๋ช…, ์ด๋ฏธ์ง€๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. HTML ๋ฌธ์„œ์˜ head์™€ ๋ฉ”ํƒ€์ •๋ณด ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋“ค์€ HTML ํƒœ๊ทธ์— ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๋กค๋Ÿฌ๋„ ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ธ์ง€๋ผ HTML ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ์ž๋™์œผ๋กœ ๋ฌด์—‡์ด ์ œ๋ชฉ์ธ์ง€, ๋ฌด์—‡์ด ๋‚ด์šฉ์— ๋Œ€ํ•œ 3์ค„ ์š”์•ฝ์ธ์ง€, ๋ฌด์—‡์ด ๋Œ€ํ‘œ ์ด๋ฏธ์ง€์ธ์ง€ 100% ์ž๋™์œผ๋กœ ํŒ๋ณ„ํ•˜๊ธฐ ์•„์ฃผ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ง์ ‘ ์ €๋ ‡๊ฒŒ ์ ์–ด์„œ ์•Œ๋ ค์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์•„๋ฌด๋ฆฌ ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹, ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•ด๋„ ์›น๋ฌธ์„œ์™€ ๊ฐ™์ด ๋น„์ •ํ˜•์ ์ธ ์ •๋ณด์— ๋Œ€ํ•œ 100% ์ •ํ™•๋„์˜ ์˜๋ฏธ ์ธ์‹์€ ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.) ์ด๋Ÿฐ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•(๊ธฐ๋ณธ HTML5 title, description ํƒœ๊ทธ ๋“ฑ)์„ ์ œ์™ธํ•œ ์ œ 3์˜ ..

์„ธ๊ฐ€์ง€ ์–ธ์–ด๋Š” ๋ชจ๋‘ ์›น ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋‹ค. ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ(a.asp, a.php, a.jsp)์„ ๋งŒ๋“ค์–ด ์˜ฌ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์—‘์„ธ์Šค ํ• ๋•Œ, ์›น์„œ๋ฒ„์—์„œ ์ฆ‰์‹œ ์ปดํŒŒ์ผํ•˜์—ฌ HTML๋กœ ๋Œ๋ ค์ค€๋‹ค. OS: JSP์™€ PHP๋Š” ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค, ์œ ๋‹‰์Šค์—์„œ ๋Œ์•„๊ฐ€์ง€๋งŒ ASP๋Š” Window์—์„œ๋งŒ ์šด์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. DB์— ๊ด€ํ•œ ๊ฒƒ์€ ASP์˜ ๊ฒฝ์šฐ์—๋„ ์œˆ๋„์šฐ ์„œ๋ฒ„์— ํ•œ์ •๋˜๋ฏ€๋กœ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ MSSQL์„ ์‚ฌ์šฉํ•œ๋‹ค. ์„ฑ๋Šฅ์ด ์ข‹์ง€๋งŒ ๋น„์‹ธ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ PHP๋Š” MySQL, JSP๋Š” ORACLE์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  PHP + MSSQL, JSP + MySQL๋กœ ๊ตฌ์ถ•๋œ ์‹œ์Šคํ…œ๋„ ์žˆ๋‹ค PHP์™€ ASP๋Š” ์†Œ/์ค‘ ๊ทœ๋ชจ, JSP๋Š” ๊ฐ์ข… ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•  ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์— ์•Œ๋งž๋‹ค. ASP๋Š” ๋น„์šฉ์ด ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด๊ฐ€์ง€๋งŒ Window์™€ IIS,..

์ถœ์ฒ˜: www.youtube.com/watch?v=wcsVjmHrUQg&t=629s ๋ชจ์ž์ดํฌ ์›น ๋ธŒ๋ผ์šฐ์ € ๋“ฑ์žฅ Netscape: UI ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ ์ •์ ์ธ ํŽ˜์ด์ง€ ๋“ฑ์žฅ ์‹œ์žฅ ์ ์œ ์œจ 80%๋ฅผ ์ž๋ž‘ํ–ˆ๋‹ค. Script์–ธ์–ด ์ถ”๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•œ ๋™์ ์ธ ํŽ˜์ด์ง€ ๋“ฑ์žฅ Java๋Š” ๋ฌด๊ฒ๊ณ  ์–ด๋ ค์›Œ์„œ ์Šคํ‚ด ์–ธ์–ด๋กœ ์„ ํƒ Netscape Navigator์•ˆ์— LiveScript๋ฅผ ์ดํ•ดํ•˜๋Š” ์—”์ง„(LiveScript Inrepreter)์„ ํƒ์žฌํ•จ. ๋ผ์ด๋ธŒ์Šค๋ธŒ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ๋” ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•จ. ์ž๋ฐ”์˜ ์ธ๊ธฐ์— ์˜ฌ๋ผํƒ€์„œ ์ด๋ฆ„์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๊ณ  ์ง€์Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๊ณต์— ์œ„๊ธฐ๊ฐ์„ ๋А๋‚€ MS๊ฐ€ ์—ญ๊ณตํ•™์„ ํ†ตํ•ด IE๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋Œ€๋กœ ๋ฐฐ๋‚€ ์–ธ์–ด๋ฅผ JScript๋ผ๊ณ  ์ด๋ฆ„๋ฐ”๊ฟ” ์‹œ์žฅ์— ๋‚ด๋†“๋Š”๋‹ค. IE์™€ ๋„ท์Šค์ผ€์ดํ”„ ๋ธŒ๋ผ์šฐ์ € IE๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ํ˜ธํ™˜๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค...

Window ๊ฐ์ฒด ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์†Œ๋“ค๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„, ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ์ „์—ญ๊ฐ์ฒด(๊ธ€๋กœ๋ฒŒ๊ฐ์ฒด)์ด๋‹ค. const really = 'Really?' really; // 'Really?' // ์ „์—ญ๋ณ€์ˆ˜, ์–ด๋””์—์„œ๋‚˜ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. window.really // undefined let๊ณผ const ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ๋ธ”๋ก ์Šค์ฝ”ํ”„์ด๊ธฐ ๋•Œ๋ฌธ์— window ๊ฐ์ฒด ๋‚ด๋ถ€์˜ ๋ธ”๋ก์—์„œ ์„ ์–ธ๋œ ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋˜์–ด ์ „์—ญ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋‹ค. window์˜ ๋ฉ”์†Œ๋“œ & ํ”„๋กœํผํ‹ฐ window.open(); window.close(); open๋ฉ”์„œ๋“œ๋Š” ํ˜ธ์ถœ์ฃผ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์—ญ๊ฐ์ฒด๋กœ ๋ฐ›์•„๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์— window๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํ•จ์ˆ˜์™€ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— wi..

์ •๊ทœํ‘œํ˜„์‹์„ ํ•ด์„ํ•˜๋Š” ์ •๊ทœํ‘œํ˜„์‹ ์—”์ง„์ด ์–ธ์–ด ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋‹ˆ ์ผ๋ถ€ ํ‘œํ˜„์ด๋‚˜ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ํฌ์ŠคํŠธ์—์„œ๋Š” JavaScript๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹(Regular Expression) : ํŠน์ •ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ˜•์‹ ์–ธ์–ด์ด๋‹ค. ์ •๊ทœ์‹์ด ํ•„์š”ํ•œ ์˜ˆ์‹œ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํฌ๋งท์œผ๋กœ ์ €์žฅ๋œ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์ „ํ™”๋ฒˆํ˜ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ด๋ฉ”์ผ, ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ, IP ์ฃผ์†Œ ๋“ฑ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ๊ฒ€์ฆํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ฝ”๋“œ์—์„œ ํŠน์ • ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ์น˜ํ™˜ํ•˜๊ณ  ์‹ถ์ง€๋งŒ, ํ•ด๋‹น ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ํ•จ์ˆ˜๋Š” ์ œ์™ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํŠน์ • ์กฐ๊ฑด๊ณผ ์œ„์น˜์— ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด์— ํฌํ•จ๋œ ๊ณต๋ฐฑ์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ฆ‰, ๋ฌธ์ž์—ด์˜ ๊ฒ€์ƒ‰๊ณผ ์น˜ํ™˜์„ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ..

์„ธ ์ค„ ์š”์•ฝ 1. Javascript๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ์จ ํ•˜๋‚˜์˜ ๊ฐœ๋ณ„๋œ ๋Œ€๋ช…์‚ฌ๋กœ ์“ฐ์ธ๋‹ค. 2. ECMAScript๋Š” ํ‘œ์ค€ํ™”๋œ JavaScript๋ฅผ ๋งํ•˜๋ฉฐ, ์–ธ์–ด์˜ ์‚ฌ์–‘(Specification)์„ ๋œปํ•œ๋‹ค. 3. ES6, ECMAScripit6๋Š” ECMA์—์„œ 2015๋…„ 6์›” ๋ฐœํ–‰ํ•œ ํ‘œ์ค€ํ™”ํ•œ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฒ„์ „์„ ๋งํ•œ๋‹ค. More About ECMAScript ECMA, (์œ ๋Ÿฝ ์ปดํ“จํ„ฐ ์ œ์กฐ์—…์ฒด ํ˜‘ํšŒ)๋Š” ๊ธฐ์ˆ  ํ‘œ์ค€์„ ๋งŒ๋“œ๋Š” ์กฐ์ง์œผ๋กœ, ์ •๋ณด ํ†ต์‹ ์— ๋Œ€ํ•œ ํ‘œ์ค€์„ ์ œ์ •ํ•˜๋Š” ๋น„์˜๋ฆฌ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ๋‹ค. ECMA ์Šคํฌ๋ฆฝํŠธ๋Š” ECMA ์ธํ„ฐ๋‚ด์…”๋„์—์„œ ๋ฐœํ–‰ํ•œ ํ‘œ์ค€์ด๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ฒ”์šฉ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด์— ๋Œ€ํ•œ ์‚ฌ์–‘์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.ECMA ์Šคํฌ๋ฆฝํŠธ ๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฒ”์šฉ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ..

์ปดํŒŒ์ผ ์ปดํŒŒ์ผ๋Ÿฌ: ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ๋ฒˆ์—ญ ํ”„๋กœ๊ทธ๋žจ or ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ C์–ธ์–ด ๊ณ„์—ด ์–ธ์–ด๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ดˆ๊ธฐ์—” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํ“จํ„ฐ ์œ„์—์„œ ๋ฐ”๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ธฐ๊ณ„์–ด๋ฅผ ํ†ตํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฐ ๊ณผ์ •์€ ์ƒ์‚ฐ์„ฑ, ๊ธฐ๊ธฐ ๊ฐ„ ํ˜ธํ™˜์„ฑ, ๋””๋ฒ„๊น…๋“ฑ ๋ชจ๋“  ๋ฉด์—์„œ ํšจ์œจ์ ์ด์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ ์ปดํ“จํ„ฐ๊ณตํ•™์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ๋งŽ์€ ๋ถ€๋ถ„ ์ถ”์ƒํ™”๋œ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ๋ฒˆ์—ญ๊ธฐ๋ฅผ ํ†ตํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ์ด ๋ฒˆ์—ญ๊ธฐ๊ฐ€ ๋ฐ”๋กœ ์ปดํŒŒ์ผ๋Ÿฌ์ด๋‹ค. (ํฐ๋…ธ์ด๋งŒ์ด ์ œ์ž๋“ค์—๊ฒŒ ์ž”๋จธ๋ฆฌ ๊ตด๋ฆฐ๋‹ค๊ณ  ๋‚˜๋ฌด๋ผ ์นœ ๊ฒƒ์ด ํ˜„์žฌ์˜ ์ปดํŒŒ์ผ๋Ÿฌ์ด๋‹ค.) ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค. ์›์‹œ ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ •์  ์ปดํŒŒ์ผ(Static Compilat..

JavaScript Object Notation๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ๋ฒ•, ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํฌ๋งท์ด๋‹ค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„ ๋น„๋™๊ธฐ ํ†ต์‹ ์— ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.key, value ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.ํŠน์ • ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค.XML์˜ ๋ถˆํ•„์š”ํ•œ ํƒœ๊ทธ, ๋งŽ์€ ์šฉ๋Ÿ‰, ๋‚˜์œ ๊ฐ€๋…์„ฑ ๋•Œ๋ฌธ์— JSON์ด ๋Œ€๋ถ€๋ถ„ ๋Œ€์ฒด๋˜์—ˆ๋‹ค.eXtensible Markup Language: ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.data ํ‘œํ˜„์— ์ง‘์ค‘ํ•œ HTML๊ณผ ๋‹ฌ๋ฆฌ, data ์ „๋‹ฌ์— ์ง‘์ค‘ํ•œ ์–ธ์–ด๋‹ค.  JSON ๊ตฌ์กฐ{ "squadName": "Super hero squad", "homeTown": "Metro City", "formed": 2016, "act..

1. React is Javascript UI Library ์›น ์•ฑ์€ app์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด ๋†“์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งํ•œ๋‹ค. ๋ชจ๋ฐ”์ผ์•ฑ์œผ๋กœ ๋ฐœํ–‰์ด ์šฉ์ดํ•˜๋ฉฐ, ๋›ฐ์–ด๋‚œ UX๋ฅผ ์ž๋ž‘ํ•œ๋‹ค. (๋ฒ„๋ฒ…๊ฑฐ๋ฆผ์ด ์—†๊ณ  ๋ฐ˜์‘์†๋„ ๋น ๋ฆ„) ์ด๋Š” ๋น„์ฆˆ๋‹ˆ์Šค์  ๊ฐ•์ , ๊ตฌ๋งค์ „ํ™˜์œจ์ด ๋†’์•„์ง€๋Š” ํšจ๊ณผ๋ฅผ ๋ถˆ๋Ÿฌ์ผ์œผํ‚จ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํŽธ๋ฆฌํ•ด์ง„๋‹ค. 2. ๊ธฐ์ˆ ์ ์ธ ์„ธ ๊ฐ€์ง€ ์ด์œ โ€‹โ€‹ 1. ๐Ÿ‘: JS์–ธ์–ด์ธ๋ฐ ํ•จ์ˆ˜ ์•ˆ์— HTML์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.(JSX) 2. ๐Ÿ‘: ๋ฐ์ดํ„ฐ๋ฐ”์ธ๋”ฉ์ด ์ˆ˜์›”ํ•˜๋‹ค. 3. ๐Ÿ‘: bolierplate(code)๊ณผ์ •์ด ์ƒ๋žต๋œ๋‹ค. => ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ๋งˆ๋‹ค ์จ์ค˜์•ผ ํ•˜๋Š” ์žฅํ™ฉํ•œ ์ฝ”๋“œ์™€ ์…‹ํŒ…์ด ์ค„์–ด, ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ด ๋น ๋ฅด๋‹ค. 4. ๐Ÿ‘: ์ปดํฌ๋„ŒํŠธ๋ณ„๋กœ ์ฝ”๋“œ๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด ..