Web Page

Core Web Technologies

๊ธฐ์ˆ 
์—ญํ• 
๋น„์œ 

HTML

์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ

"๊ฑด๋ฌผ์˜ ๊ณจ์กฐ"

CSS

์›น ํŽ˜์ด์ง€์˜ ๋””์ž์ธ, ์Šคํƒ€์ผ๋ง

"ํŽ˜์ธํŠธ, ์ธํ…Œ๋ฆฌ์–ด"

JavaScript

์›น ํŽ˜์ด์ง€์˜ ๋™์  ๊ธฐ๋Šฅ, ์ธํ„ฐ๋ž™์…˜

"์ „๊ธฐ, ์ˆ˜๋„, ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ"

  • HTML, CSS, JavaScript โ†’ "ํ”„๋ก ํŠธ์—”๋“œ 3๋Œ€ ์š”์†Œ"

  • HTML + CSS + JavaScript โ†’ "์›น ์‚ผ๋Œ€์žฅ"

  • HTML, CSS, JavaScript โ†’ "์›น ๊ฐœ๋ฐœ์˜ 3๋Œ€ ๊ธฐ๋‘ฅ"

  • "Frontend ์‚ผ์‹ ๊ธฐ"

  • "์›น์˜ ํ•ต์‹ฌ 3์š”์†Œ" (Core Web Technologies)

  • "์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ ์Šคํƒ (Web Development Stack)"

  • "์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ (Frontend Essentials)"


1. HTML(HyperText Markup Language) - "๊ตฌ์กฐ"

  • HTML์€ ์›น ํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ ๋ผˆ๋Œ€(๊ตฌ์กฐ) ๋ฅผ ๋งŒ๋“ ๋‹ค

  • ํƒœ๊ทธ(tag)๋ฅผ ์ด์šฉํ•ด์„œ ์š”์†Œ๋“ค์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹

<!DOCTYPE html>
<html>
<head>
    <title>๋‚ด ์›นํŽ˜์ด์ง€</title>
</head>
<body>
    <h1>์•ˆ๋…•ํ•˜์„ธ์š”!</h1>
    <p>์ด๊ฒƒ์ด HTML์ž…๋‹ˆ๋‹ค.</p>
</body>
</html>

๐Ÿ”ฅํ•ต์‹ฌ:

  • <h1>, <p> ๊ฐ™์€ **ํƒœ๊ทธ(tag)**๋กœ ์š”์†Œ๋ฅผ ์ •์˜ํ•จ.

  • HTML๋งŒ ์žˆ์œผ๋ฉด ๊ทธ๋ƒฅ ํ•˜์–€ ๋ฐ”ํƒ•์— ๊ธ€์ž๋งŒ ์žˆ๋Š” ์›นํŽ˜์ด์ง€๊ฐ€ ๋จ. (๋””์ž์ธ ์—†์Œ)


2. CSS(Cascading Style Sheets) - "๋””์ž์ธ"

  • CSS๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ์Šคํƒ€์ผ๋ง(๊พธ๋ฏธ๊ธฐ) ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค

  • ์ƒ‰๊น”, ํฐํŠธ, ํฌ๊ธฐ, ๋ ˆ์ด์•„์›ƒ ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ

body {
    background-color: black;
    color: white;
    font-family: Arial, sans-serif;
}
h1 {
    color: red;
}

๐Ÿ”ฅํ•ต์‹ฌ:

  • background-color: black; โ†’ ๋ฐฐ๊ฒฝ์„ ๊ฒ€์ •์ƒ‰์œผ๋กœ ์„ค์ •.

  • color: white; โ†’ ๊ธ€์ž์ƒ‰์„ ํฐ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ.

  • h1 ํƒœ๊ทธ์˜ ๊ธ€์ž ์ƒ‰์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ.


3. JavaScript โ€“ "๋™์ž‘"

  • JavaScript๋Š” ์›น์‚ฌ์ดํŠธ์— ๋™์ ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์—ญํ• 

  • ํด๋ฆญ, ์ž…๋ ฅ, ์• ๋‹ˆ๋ฉ”์ด์…˜, API ํ˜ธ์ถœ ๋“ฑ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜์„ ์ฒ˜๋ฆฌ

<button onclick="sayHello()">ํด๋ฆญํ•˜์„ธ์š”</button>

<script>
    function sayHello() {
        alert("์•ˆ๋…•ํ•˜์„ธ์š”! JavaScript์ž…๋‹ˆ๋‹ค.");
    }
</script>

๐Ÿ”ฅํ•ต์‹ฌ:

  • JavaScript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด HTML ์š”์†Œ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ๋™์ž‘์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ

  • onclick="sayHello()" โ†’ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด sayHello() ํ•จ์ˆ˜ ์‹คํ–‰.

  • alert("์•ˆ๋…•ํ•˜์„ธ์š”!") โ†’ ๊ฒฝ๊ณ ์ฐฝ ๋„์šฐ๊ธฐ.


๊ฒฐ๊ณผ: HTML๊ณผ CSS๋Š” ํ™”๋ฉด๋งŒ ๋งŒ๋“ค๊ณ , JavaScript๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ๋ฐ˜์‘ํ•จ

HTML, CSS, JS ์—†์ด ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์—†๋‹ค

โœ… HTML๋งŒ ์žˆ๋‹ค๋ฉด?

  • ๊ธ€์ž์™€ ์ด๋ฏธ์ง€๋งŒ ๋ณด์ด๋Š” ํ•˜์–€ ๋ฐ”ํƒ•์˜ ์›นํŽ˜์ด์ง€.

  • ์Šคํƒ€์ผ์ด ์—†๊ณ  ๋””์ž์ธ๋„ ์—†์Œ

โœ… HTML + CSS๋งŒ ์žˆ๋‹ค๋ฉด?

  • ์˜ˆ์œ UI๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฒ„ํŠผ ํด๋ฆญ ๊ฐ™์€ ์ธํ„ฐ๋ž™์…˜์€ ์—†์Œ.

  • ์ •์ ์ธ ์›นํŽ˜์ด์ง€

โœ… HTML + CSS + JavaScript๋ผ๋ฉด?

  • ์ง„์งœ ์›น์‚ฌ์ดํŠธ!

  • ๋ฒ„ํŠผ ํด๋ฆญ, ๋ฉ”๋‰ด ์• ๋‹ˆ๋ฉ”์ด์…˜, ์ž…๋ ฅ ํผ ๊ฒ€์ฆ ๋“ฑ ๋™์ ์ธ ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅ

  • ๋ฐฑ์—”๋“œ(Django, Node.js ๋“ฑ)์™€ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ๋„ ๊ฐ€๋Šฅ


์ตœ์ข… ๊ฐœ๋ฐœ ํ๋ฆ„ ์š”์•ฝ

1๏ธโƒฃ HTML ์ž‘์„ฑ โ†’ ๋ผˆ๋Œ€๋ฅผ ๋งŒ๋“ ๋‹ค. 2๏ธโƒฃ CSS ์ถ”๊ฐ€ โ†’ ์˜ˆ์˜๊ฒŒ ๊พธ๋ฏผ๋‹ค. 3๏ธโƒฃ JavaScript ์ถ”๊ฐ€ โ†’ ๊ธฐ๋Šฅ์„ ๋„ฃ๋Š”๋‹ค. 4๏ธโƒฃ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ (์„ ํƒ) โ†’ ํ™”๋ฉด ํฌ๊ธฐ์— ๋งž๊ฒŒ ์กฐ์ • (CSS @media ํ™œ์šฉ). 5๏ธโƒฃ ์ตœ์ ํ™” & ๋ฐฐํฌ โ†’ ์ฝ”๋“œ ์ •๋ฆฌ, ์†๋„ ๊ฐœ์„  ํ›„ ์‹ค์ œ ์›น์— ์˜ฌ๋ฆฌ๊ธฐ


์˜ˆ์‹œ)

<!DOCTYPE html>
<html>
<head>
    <title>๋‚ด ์ฒซ ์›น์‚ฌ์ดํŠธ</title>
    <style>
        /* CSS ์Šคํƒ€์ผ */
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            color: #333;
            margin: 0;
            padding: 0;
        }

        header {
            background-color: #6200ea;
            color: white;
            padding: 20px;
            text-align: center;
        }

        nav ul {
            list-style-type: none;
            padding: 0;
            text-align: center;
        }

        nav ul li {
            display: inline;
            margin: 10px;
        }

        nav a {
            text-decoration: none;
            color: white;
            background: #333;
            padding: 10px 15px;
            border-radius: 5px;
        }

        button {
            background-color: #6200ea;
            color: white;
            padding: 10px 15px;
            border: none;
            cursor: pointer;
            font-size: 16px;
            border-radius: 5px;
        }

        button:hover {
            background-color: #3700b3;
        }
    </style>
</head>
<body>
    <header>
        <h1>์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๊ธฐ๋Š” ๋‚ด ์›น์‚ฌ์ดํŠธ!</h1>
    </header>

    <nav>
        <ul>
            <li><a href="#">ํ™ˆ</a></li>
            <li><a href="#">์†Œ๊ฐœ</a></li>
            <li><a href="#">๋ฌธ์˜</a></li>
        </ul>
    </nav>

    <section>
        <p>์—ฌ๊ธฐ๋Š” ๋ณธ๋ฌธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.</p>
        <button>ํด๋ฆญํ•˜์„ธ์š”</button>
    </section>

    <footer>
        <p>ยฉ 2025 All rights reserved.</p>
    </footer>

    <script>
        // JavaScript ๊ธฐ๋Šฅ ์ถ”๊ฐ€
        document.querySelector("button").addEventListener("click", function() {
            alert("๋ฒ„ํŠผ์ด ํด๋ฆญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!");
        });

        document.querySelector("nav a").addEventListener("mouseover", function() {
            this.style.backgroundColor = "red";
        });

        document.querySelector("nav a").addEventListener("mouseout", function() {
            this.style.backgroundColor = "#333";
        });
    </script>
</body>
</html>
  • JavaScript๋ฅผ HTML ์ตœํ•˜๋‹จ์— ๋‘๋Š” ์ด์œ 

    • HTML๊ณผ CSS๊ฐ€ ๋จผ์ € ๋กœ๋”ฉ๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด

      • ๋ธŒ๋ผ์šฐ์ €๋Š” HTML์„ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ์Œ

      • ๋งŒ์•ฝ <head> ๋ถ€๋ถ„์— JavaScript๋ฅผ ๋„ฃ์œผ๋ฉด, JS๊ฐ€ ์‹คํ–‰๋˜๋А๋ผ HTML์ด ๋Šฆ๊ฒŒ ๋กœ๋”ฉ๋  ์ˆ˜๋„ ์žˆ์Œ

      • JavaScript๊ฐ€ DOM์„ ์กฐ์ž‘ํ•˜๋ ค๋ฉด HTML์ด ๋จผ์ € ๋กœ๋“œ๋ผ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, HTML์ด ๋‹ค ๋ถˆ๋Ÿฌ์™€์ง„ ๋’ค ์ตœํ•˜๋‹จ์— JS๋ฅผ ๋‘๋Š” ๊ฒŒ ์ผ๋ฐ˜์ 

    • ํŽ˜์ด์ง€ ์†๋„ ์ตœ์ ํ™”

      • JS๊ฐ€ <head>์— ์žˆ์œผ๋ฉด HTML์ด ์™„์ „ํžˆ ๋กœ๋“œ๋˜๊ธฐ ์ „์— JS๊ฐ€ ์‹คํ–‰๋จ โ†’ ํŽ˜์ด์ง€๊ฐ€ ๋А๋ ค์ง

      • ํ•˜์ง€๋งŒ JS๋ฅผ <body> ๋์— ๋‘๋ฉด HTML๊ณผ CSS๊ฐ€ ๋จผ์ € ๋กœ๋“œ๋œ ๋’ค ์‹คํ–‰๋จ โ†’ ์†๋„ ์ตœ์ ํ™”

  • ์ตœ์ ์˜ ๋ฐฉ์‹ (JS๋ฅผ <body> ๋์— ๋‘ )

Last updated