์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ํ™ˆํŽ˜์ด์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ’จ

์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€

โœ๐Ÿป ๋ฐฐ์šด ๋‚ด์šฉ : ์›นํŽ˜์ด์ง€ ๊ธฐ๋ณธ ๊ตฌ์„ฑ

1. HTML : ๋ผˆ๋Œ€

[0] ๋‹จ์ถ•ํ‚ค

  • ์ฝ”๋“œ ์ •๋ ฌ์ด ์ค‘์š”! : Ctrl+Alt+L ๊ณผ Tabํ‚ค ์‚ฌ์šฉํ•˜๊ธฐ
  • ์ฃผ์„์ฒ˜๋ฆฌ : Ctrl + / ๋˜๋Š” /**/

[1] head์™€ body๋กœ ๊ตฌ์„ฑ

  • head : ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ์˜์—ญ๋“ค!
    ํŽ˜์ด์ง€ ์†์„ฑ, ํ•„์š”ํ•œ ์Šคํฌ๋ฆฝํŠธ!
    ex. meta, script, link, title ๋“ฑ
  • body : ๋ˆˆ์— ๋ณด์ด๋Š” ์›นํŽ˜์ด์ง€ ํ™”๋ฉด

[2] ๋ถ€๋ชจ ์ž์‹ ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ

  • div์•ˆ์— div๊ฐ€ ์žˆ๋‹ค.

    (์ถœ์ฒ˜ : ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ๊ฐ•์˜์ž๋ฃŒ)

2. CSS : ๊พธ๋ฏธ๊ธฐ

[1] ์œ„์น˜

<head>
  <style>
  /*์ด ๊ณณ์— ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ„๋‹ค!*/
  </style>
</head>

[2] ์ž์ฃผ ๋‚˜์˜ค๋Š” CSS

  • ๋ฐฐ๊ฒฝ : background-color, background-image, background-size, background-position

  • ์‚ฌ์ด์ฆˆ : width, height

  • ํฐํŠธ : font-size, font-weight, font-family, color
    (๊ตฌ๊ธ€ ์›นํฐํŠธ โžก [ select this style ] โžก ์šฐ์ธก์ƒ๋‹จ ๋ชจ์Œ ์•„์ด์ฝ˜ โžก Embed โžก linkํƒœ๊ทธ ๋ณต์‚ฌํ•ด์„œ <head> ๋ถ™์—ฌ๋„ฃ๊ธฐ + CSS๋ณต์‚ฌํ•ด์„œ <style> ๋ถ™์—ฌ๋„ฃ๊ธฐ

  • ๊ฐ„๊ฒฉ : margin, padding
    margin : ๋ฐ”๊นฅ์—ฌ๋ฐฑ
    padding : ์•ˆ์ชฝ์—ฌ๋ฐฑ

  • ๊ธ€์”จ : h1~h5

  • ๊ธฐํƒ€ : border-radius
    ๊ฟ€ํŒ ์ด๋ชจํ‹ฐ์ฝ˜ ๋ชจ์Œ

[3] ๋ถ€ํŠธ์ŠคํŠธ๋žฉ : ์˜ˆ์œ CSS ๋ชจ์Œ์ง‘

  • ๋‚จ๋“ค์ด ๋งŒ๋“ค์–ด ๋‘” ๊ฒƒ์„ ์ž˜ ํ™œ์šฉํ•˜๊ธฐ โžก ์ž˜ ์ฐพ์•„์„œ ์กฐ๊ธˆ์”ฉ ๊ณ ์ณ์„œ ์‚ฌ์šฉํ•˜๊ธฐ

  • ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์‚ฌ์ดํŠธ : getbootstrap

  • ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ (์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ์—์„œ ์ œ๊ณต)

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous"></script>

    <title>์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ | ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์—ฐ์Šตํ•˜๊ธฐ</title>
</head>

<body>
    <h1>์ด๊ฑธ๋กœ ์‹œ์ž‘ํ•ด๋ณด์ฃ !</h1>
</body>

</html>

3. Javascript : ์›€์ง์ด๊ธฐ

[1] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ์š”์ฒญ๊ณผ ์ „๋‹ฌ์„ ํ•ด์คŒ
  • ๋ชจ๋“  ์›น์„œ๋ฒ„๋Š” HTML+CSS+Javascript๋ฅผ ์ฃผ๊ฒŒ ๋จ (์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ํ‘œ์ค€)

(์ฐธ๊ณ  : Java์™€ Javascript๋Š” ์•„๋ฌด ๊ด€๋ จ ์—†์Œ)

  • <head>์•ˆ์— <script>๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์„ฑ!
  • ํ•จ์ˆ˜ ์˜ˆ์‹œ โฌ‡
function hey() {

}

[2] ๋ฌธ๋ฒ• (๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ ๋นผ๊ณ  ์•„๋Š” ๋‚ด์šฉ์ด๋ผ ๊ฐ„๋žตํžˆ)

  • ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ -> console ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ
  • ๋ฆฌ์ŠคํŠธ : ์ˆœ์„œ๋ฅผ ์ง€์ผœ์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ˜•ํƒœ
  • ๋”•์…”๋„ˆ๋ฆฌ : key - value ๊ฐ’์˜ ๋ฌถ์Œ (ex. ['name'] = bob)
  • ํ•จ์ˆ˜
  • ์กฐ๊ฑด๋ฌธ
  • ๋ฐ˜๋ณต๋ฌธ - ๋ฆฌ์ŠคํŠธ์™€ ํ•จ๊ป˜ ๋งŽ์ด ์“ฐ์ž„
for (1. ์‹œ์ž‘์กฐ๊ฑด; 2. ๋ฐ˜๋ณต์กฐ๊ฑด; 3. ๋”ํ•˜๊ธฐ) {
	4. ๋งค๋ฒˆ์‹คํ–‰
}

๐Ÿ’ก 1์ฃผ์ฐจ HW

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉํ•ด์„œ ํŒฌ๋ช…๋ก์˜ ๋ฉ”์ธ ํŽ˜์ด์ง€๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. (๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์•„ํ‹ฐ์ŠคํŠธ๋กœ ํ•ด๋ณด์„ธ์š”!)

  • ์ฝ”๋“œ
<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
            integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
            crossorigin="anonymous"></script>

    <title>ํŒฌ๋ช…๋ก ๋งŒ๋“ค๊ธฐ</title>
    <link href="https://fonts.googleapis.com/css2?family=Gowun+Dodum&display=swap" rel="stylesheet">

    <style>
         * {
           font-family: 'Gowun Dodum', sans-serif;
        }

        .mytitle {

            height: 250px;
            width: 100%;

            /* ๋ฐฐ๊ฒฝ ์–ด๋‘ก๊ฒŒ ํ•˜๊ธฐ :: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) */
            background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("https://pbs.twimg.com/media/DdzGr4dVwAMbc4M?format=jpg&name=4096x4096");
            background-position: center;
            background-size: cover;

            color: white;

            /*display: flex ๋‚ด์šฉ๋ฌผ์„ ๊ฐ€์šด๋ฐ๋กœ! 4์ค„์ด ์„ธํŠธ*/
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .mypost {
            max-width : 500px;
            width: 95%;

            margin: 20px auto 0px auto;

            box-shadow: 0px 0px 3px 0px grey;
            padding: 20px;
        }

        .mybtn {
            margin-top: 10px;
        }

        .mycards {
            max-width : 500px;
            width: 95%;
            margin: 20px auto 0px auto;
        }
        .mycards > .card {
           margin-top: 10px;
        }

    </style>
</head>

<body>

    <div class="mytitle">
        <h1>ํƒœ์—ฐ ํŒฌ๋ช…๋ก</h1>
    </div>

    <div class="mypost">
        <div class="form-floating mb-3">
            <input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
            <label for="floatingInput">๋‹‰๋„ค์ž„</label>
        </div>


        <div class="form-floating">
            <textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea" style="height: 100px"></textarea>
            <label for="floatingTextarea">์‘์› ๋Œ“๊ธ€</label>
        </div>

        <div class="mybtn">
            <button type="button" class="btn btn-dark">์‘์› ๋‚จ๊ธฐ๊ธฐ</button>
        </div>
    </div>
    <div class="mycards">
        <div class="card">
            <div class="card-body">
                <blockquote class="blockquote mb-0">
                    <p>์ƒˆ๋กœ์šด ์•จ๋ฒ” ๋„ˆ๋ฌด ์ข‹์•„์š”!</p>
                    <footer class="blockquote-footer"> ๋ฐ๊ตฌ</footer>
                </blockquote>
            </div>
        </div>
        <div class="card">
            <div class="card-body">
                <blockquote class="blockquote mb-0">
                    <p>์ƒˆ๋กœ์šด ์•จ๋ฒ” ๋„ˆ๋ฌด ์ข‹์•„์š”!</p>
                    <footer class="blockquote-footer"> ๋ฐ๊ตฌ</footer>
                </blockquote>
            </div>
        </div>
        <div class="card">
            <div class="card-body">
                <blockquote class="blockquote mb-0">
                    <p>์ƒˆ๋กœ์šด ์•จ๋ฒ” ๋„ˆ๋ฌด ์ข‹์•„์š”!</p>
                    <footer class="blockquote-footer"> ๋ฐ๊ตฌ</footer>
                </blockquote>
            </div>
        </div>
    </div>
</body>
</html>

๐Ÿง๋Š๋‚€ ์ 

1. ๋Š๋‚€ ์ ์— ์•ž์„œ, ๋‚ด๊ฐ€ ์ด ์ˆ˜์—…์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋œ ์ด์œ .
ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์€๋ฐ ํ˜ผ์ž์„œ๋Š” ๋„ˆ๋ฌด ๋ง‰๋ง‰ํ•œ ๊ฒŒ ๊ฐ€์žฅ ์ปธ๋‹ค. ์˜จ๋ผ์ธ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ˆ˜๊ฐ•์ƒ์ด ๋๊นŒ์ง€ ์™„์ฃผํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ ๊ฒฝ์“ด ๊ฒŒ ๋งŽ์€ ๊ฐ•์˜ ๊ฐ™์•„ ํฐ ๋งˆ์Œ ๋จน๊ณ  ๊ฒฐ์ œํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

2. 1์ฃผ์ฐจ๋ฅผ ๋“ค์–ด๋ณด๋‹ˆ๊นŒ~
์ด๋Ÿฐ ๊ฐ•์˜๋Š” ์ฒ˜์Œ์ด๋ผ ์–ด๋–จ์ง€ ๋ชฐ๋ž๋‹ค. 1์ฃผ์ฐจ์—” ์„ธ๋ถ€ํ•ญ๋ชฉ๋ณ„๋กœ ์งง๊ฒŒ๋Š” 3๋ถ„, ๊ธธ๊ฒŒ๋Š” 10๋ถ„ ๊ฐ€๋Ÿ‰์˜ ๊ฐ•์˜๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ•œ์‹œ๊ฐ„ ํ†ต์œผ๋กœ ์ด์–ด์ ธ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•ญ๋ชฉ๋ณ„๋กœ ์žˆ๋Š” ๊ฒŒ ์ข‹์•˜๋‹ค. ์‹œ๊ฐ„์ด ์—ฌ์œ  ์—†์„ ๋•Œ๋Š” ๋‚ด๊ฐ€ ์–ด๋””๊นŒ์ง€ ๋“ค์—ˆ๋Š”์ง€ ์ฒดํฌ๊ฐ€ ๊ฐ€๋Šฅํ–ˆ๊ณ , ๋ณด๋‹ค ๊ฐ€๋ณ๊ฒŒ ๋Š๊ปด์ ธ์„œ ๋ถ€๋‹ด๊ฐ์ด ๋œํ–ˆ๋‹ค. ์ˆ˜์—… ๋‚ด์šฉ๋„ ์กฐ๊ธˆ ๋น ๋ฅธ ๊ฐ์ด ์žˆ์—ˆ์ง€๋งŒ ์•Œ์ฐผ๊ณ , ์ค‘๊ฐ„์ค‘๊ฐ„ ๊ฟ€ํŒ๋ชจ์Œ๋„ ์‹ค์šฉ์ ์ด์—ˆ๋‹ค. ์‹ค๋ฌด ์œ„์ฃผ์ธ ๊ฒƒ ๊ฐ™์•„ ๋” ์œ ์šฉ์ ์ธ ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ฑฐ๋‚˜ ๊ตณ์ด ํ•˜๋‚˜ํ•˜๋‚˜ ์ณ๋„ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค ๋˜๋Š” ์›น์‚ฌ์ดํŠธ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋“ฑ ์ฝ”๋“œ์Šค๋‹ˆํŽซ์„ ์ด์šฉํ•˜๋‹ˆ๊นŒ ํ›จ์”ฌ ๊ฐ„ํŽธํ–ˆ๋‹ค!
(๋ณ„์  : โญโญโญโญโญ)

3. ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„..
์ˆ˜์—… ์ง„๋„ ์ค‘์— '๋‚ด ์ƒ์ด ์ตœ๊ณ ์˜ ์˜ํ™”๋“ค' ๋ฅผ ๋งŒ๋“œ๋Š” ์ค‘ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ํ™œ์šฉํ•˜๋Š” ์‹œ๊ฐ„์— ํ˜ผ์ž์„œ ํ•  ์‹œ๊ฐ„์„ ์ฃผ์…จ๋‹ค. ๋ง‰์ƒ ํ˜ผ์ž์„œ ํ•˜๋ ค๋‹ˆ๊นŒ ๋˜๊ฒŒ ๋ง‰๋ง‰ํ–ˆ๋‹ค. 20๋ถ„์„ ์ฃผ์…จ์ง€๋งŒ ๊ทธ ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ•ด์„œ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
1) ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์—์„œ ์ฐพ๋Š” ๊ฒƒ,
2) ์›ํ•˜๋Š” ๋ถ€๋ถ„๋งŒ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ(๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ),
3) ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์šฉ๋„์— ๋งž๊ฒŒ ๋ฐ”๊ฟ” ์ ๋Š” ๊ฒƒ.
4) div์˜ ๊ฐœ๋….
์ด๋ ‡๊ฒŒ 4๊ฐ€์ง€๊ฐ€ ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

div์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์•„๋‹ˆ์—ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ, ์„ ์ƒ๋‹˜์˜ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์ณ๋ณด๋ฉด์„œ div์— ๋Œ€ํ•œ ๊ฐ์ด ์กฐ๊ธˆ์”ฉ ์ƒ๊ฒผ๋‹ค. ์•„์ง ์ œ๋Œ€๋กœ ์„ค๋ช…ํ•  ์ •๋„๋Š” ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค.
๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ํ™œ์šฉํ•˜๋Š” ๊ฑด ๊ณผ์ œ๋ฅผ ํ•  ๋•Œ์—๋„ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ•์˜์ž๋ฃŒ์— ์žˆ๋Š” ํžŒํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ๋‹ค ํ™œ์šฉํ–ˆ๋‹ค.

4. ๊ทธ๋Ÿผ์—๋„ ๊ธฐ์–ต์— ๋‚จ์•˜๋˜ ๋ถ€๋ถ„!

  • ํด๋ž˜์Šค ๋‚ด์˜ button์— ๋Œ€ํ•œ css์„ค์ •์„ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ, .myclass > button ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค! ์‹ ์„ ํ•˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ๋‹ค๊ฐ€์™”๋‹ค.
  • Javascript์—์„œ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ๊ธฐ์–ต์— ๋‚จ๋Š”๋‹ค. key-value์˜ ๊ฐœ๋…์ด ์žฌ๋ฐŒ์—ˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋ฆฌ์ŠคํŠธ์—์„œ ๋งŽ์ด ํ™œ์šฉํ•˜๊ณ  ๋ฆฌ์ŠคํŠธ๋Š” for๋ฌธ์—์„œ ๋งŽ์ด ํ™œ์šฉํ•˜๊ณ . ์ด๋Ÿฐ ๊ฒƒ๋“ค์ด ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒŒ ์žฌ๋ฏธ์žˆ๋‹ค.
  • ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์€ ์žŠ์„ ์ˆ˜๊ฐ€ ์—†๋‹ค! ์—„์ฒญ ๋งŽ์€ css ๋ชจ์Œ๋“ค์ด ์žˆ๋‹ค. ์ฒ˜์Œ ๋ณด๋Š” ๊ฑฐ๋ผ ๋‚ฏ์„ค์–ด๋ณด์˜€๋Š”๋ฐ ๊ณง ์ต์ˆ™ํ•ด์ง€๊ฒ ์ง€..?

5. ๋งˆ์ง€๋ง‰ ์ •๋ฆฌํ•˜๋ฉฐ, ๋ฆฌ๋งˆ์ธ๋“œ!

  • ์™ธ์šธ ํ•„์š” ์—†๋‹ค. ๋‚˜ ๋˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ด์ „์— ๋งŒ๋“ค์—ˆ๋˜ ๊ฒƒ๋“ค์„ ์šฉ๋„์— ๋งž๊ฒŒ ํ™œ์šฉํ•˜์ž!
  • ์ฝ”๋“œ ์ •๋ ฌ์ด ์ค‘์š”ํ•˜๋‹ค!
  • div๋Š” ํ•˜๋‚˜์˜ ๋ธ”๋Ÿญ! ํ™•์ธํ•  ๋–„ background ์ฃผ๊ธฐ.
profile
To be "irreplaceable"

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด