๋ฐฑ์—”๋“œ

IntelliJ IDEA๋กœ HTML, CSS ๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ์›น ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

Onluvo 2025. 3. 28. 13:42

โœ… 1. IntelliJ์—์„œ ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

๋จผ์ € ์ €๋Š” JDK 22 ๋ฒ„์ „์„ ๋‹ค์šด๋ฐ›์•„์„œ ์‹คํ–‰ํ–ˆ์–ด์š” 

  1. IntelliJ IDEA ์‹คํ–‰
  2. "New Project" ํด๋ฆญ
  3. "Empty Project" ์„ ํƒ ํ›„ "Next" ํด๋ฆญ
  4. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์„ค์ • (์˜ˆ: HTMLProject)
  5. "Create" ํด๋ฆญํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

name ์„ ์ž…๋ ฅํ•ด์ฃผ๊ณ  Gradle ์„ ์„ ํƒํ•ด์ฃผ๊ณ  ์ €๋Š” jdk22 ๋ฒ„์ „์œผ๋กœ ์‹คํ–‰ํ–ˆ์–ด์š” !

์—ฌ๊ธฐ์„œ Build system ์€ 

  • ๊ฐ„๋‹จํ•œ Java ํ”„๋กœ์ ํŠธ → IntelliJ
  • ์‹ค๋ฌด์šฉ/๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ (Spring Boot, Kotlin, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ ) → Gradle

ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์งˆ ๊ฒฝ์šฐ Gradle์ด ๋” ํšจ์œจ์ 

Gradle์€ build.gradle ํŒŒ์ผ์—์„œ ์˜์กด์„ฑ์„ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ

ํ”Œ๋Ÿฌ๊ทธ์ธ/๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ํ•  ์ผ์ด ๋งŽ๋‹ค๋ฉด Gradle ํ•„์ˆ˜!

 

 

๋ฐ”๋กœ ๋งŒ๋“ค๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋‚˜์™€์š” !
์ €๊ธฐ์— src>main>resources>static>card.html ์ด๋ ‡๊ฒŒ ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ์–ด์š”

 

๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ •์  ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜์–ด์š” !

<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>์žฅ์ฃผ์€ | ํ‘ธ์ฝฉ์ด ๋ช…ํ•จ</title>

<style>

body {

font-family: 'Arial', sans-serif;

background-color: #f4f4f4;

display: flex;

justify-content: center;

align-items: center;

height: 100vh;

}

.card {

background: white;

padding: 20px;

border-radius: 10px;

box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);

width: 350px;

text-align: center;

}

.name {

font-size: 24px;

font-weight: bold;

color: #333;

}

.role {

font-size: 18px;

color: #777;

margin-bottom: 10px;

}

.slogan {

font-style: italic;

color: #555;

margin-bottom: 15px;

}

.contact {

font-size: 14px;

color: #444;

line-height: 1.6;

}

.hobby {

margin-top: 15px;

font-size: 14px;

color: #666;

}

</style>

</head>

<body>

<div class="card">

<div class="name">์žฅ** (**์ด)</div>

<div class="role">๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž | AI Enthusiast</div>

<div class="slogan">๐Ÿ’ก ๋ฐ์ดํ„ฐ๋ฅผ ํ๋ฅด๊ฒŒ ํ•˜๊ณ , ์„ธ์ƒ์„ ์—ฐ๊ฒฐํ•œ๋‹ค.</div>

<div class="contact">

๐Ÿ“ง Email: <a href="mailto:***์ด๋ฉ”์ผ">****์ด๋ฉ”์ผ**/a> <br>

๐Ÿ“ž ์ „ํ™”๋ฒˆํ˜ธ: 010-*******<br>

โš™๏ธ ๊ด€์‹ฌ ๋ถ„์•ผ: ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ, AI

</div>

<div class="hobby">

๐ŸŽจ ์ทจ๋ฏธ: ํ˜ผ์ž ์นดํŽ˜ ๋‹ค๋‹ˆ๊ธฐ, ์‚ฐ์ฑ…ํ•˜๊ธฐ, ๋นต ๋จน๊ธฐ

</div>

</div>

</body>

</html>

 

ํ•˜๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋– ์š”

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž๋ฉด 

1. <!DOCTYPE html>

  • HTML ๋ฌธ์„œ๊ฐ€ HTML5 ๋ฌธ์„œ์ž„์„ ์„ ์–ธํ•˜๋Š” ๋ฌธ๊ตฌ์ž…๋‹ˆ๋‹ค.

2. <html lang="ko">

  • ์ด ํƒœ๊ทธ๋Š” HTML ๋ฌธ์„œ๊ฐ€ ํ•œ๊ตญ์–ด(ko)๋กœ ์ž‘์„ฑ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

3. <head>

  • ์›น ํŽ˜์ด์ง€์˜ ๋ฉ”ํƒ€ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
    • <meta charset="UTF-8">: ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์„ UTF-8๋กœ ์„ค์ •ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฌธ์ž(ํ•œ๊ธ€ ํฌํ•จ)๊ฐ€ ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    • <meta name="viewport" content="width=device-width, initial-scale=1.0">: ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ํ‘œ์‹œ๋˜๋„๋ก ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • <title>์žฅ** | **์ด ๋ช…ํ•จ</title>: ๋ธŒ๋ผ์šฐ์ € ํƒญ์— ํ‘œ์‹œ๋  ์ œ๋ชฉ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

4. <style>

  • ์›น ํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•˜๋Š” CSS ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    • body: ์ „์ฒด ํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ ์Šคํƒ€์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ๊ฒฝ์ƒ‰์„ ์—ฐํ•œ ํšŒ์ƒ‰(#f4f4f4)์œผ๋กœ ์„ค์ •ํ•˜๊ณ , ์ฝ˜ํ…์ธ ๊ฐ€ ํ™”๋ฉด ๊ฐ€์šด๋ฐ ์ •๋ ฌ๋˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • .card: ๋ช…ํ•จ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ•์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ๊ฒฝ์„ ํฐ์ƒ‰์œผ๋กœ, ํ…Œ๋‘๋ฆฌ๋Š” ๋‘ฅ๊ธ€๊ฒŒ ๋งŒ๋“ค๊ณ , ๊ทธ๋ฆผ์ž ํšจ๊ณผ๋ฅผ ์ฃผ์–ด ์ž…์ฒด๊ฐ์„ ์ค๋‹ˆ๋‹ค.
    • .name: ์ด๋ฆ„ ๋ถ€๋ถ„์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ 24px๋กœ ์„ค์ •ํ•˜๊ณ , ๋‘๊ป๊ฒŒ ํ‘œ์‹œํ•˜๋ฉฐ, ์–ด๋‘์šด ์ƒ‰์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • .role: ์ง์ฑ…(๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋“ฑ)์„ 18px๋กœ ์„ค์ •ํ•˜๊ณ , ์—ฐํ•œ ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
    • .slogan: ์Šฌ๋กœ๊ฑด์„ ์ดํƒค๋ฆญ์ฒด๋กœ ํ‘œ์‹œํ•˜๊ณ , ์ƒ‰์ƒ์„ ์ข€ ๋” ์—ฐํ•œ ํšŒ์ƒ‰์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • .contact: ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, ๊ธ€๊ผด ํฌ๊ธฐ 14px๋กœ ์„ค์ •ํ•˜๊ณ  ์ค„ ๊ฐ„๊ฒฉ์„ ์„ค์ •ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.
    • .hobby: ์ทจ๋ฏธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์œผ๋กœ, ๋‹ค๋ฅธ ์š”์†Œ๋“ค๊ณผ ๊ตฌ๋ถ„๋˜๋„๋ก ์Šคํƒ€์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

5. <body>

  • ์ด ๋ถ€๋ถ„์€ ์‹ค์ œ๋กœ ์›น ํŽ˜์ด์ง€์— ๋ณด์ด๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
    • <div class="card">: ๋ช…ํ•จ์˜ ํ˜•ํƒœ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ•์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • <div class="name">์žฅ** (**์ด)</div>: ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
    • <div class="role">๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž | AI Enthusiast</div>: ์ง์ฑ…์„ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
    • <div class="slogan">๐Ÿ’ก ๋ฐ์ดํ„ฐ๋ฅผ ํ๋ฅด๊ฒŒ ํ•˜๊ณ , ์„ธ์ƒ์„ ์—ฐ๊ฒฐํ•œ๋‹ค.</div>: ์Šฌ๋กœ๊ฑด์„ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
    • <div class="contact">: ์ด๋ฉ”์ผ, ์ „ํ™”๋ฒˆํ˜ธ, ๊ด€์‹ฌ ๋ถ„์•ผ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ๋งํฌ๋Š” ํด๋ฆญ ์‹œ ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ด์–ด์ฃผ๋Š” mailto: ๋งํฌ์ž…๋‹ˆ๋‹ค.
    • <div class="hobby">: ์ทจ๋ฏธ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ ํ˜ผ์ž ์นดํŽ˜ ๋‹ค๋‹ˆ๊ธฐ, ์‚ฐ์ฑ…ํ•˜๊ธฐ, ๋นต ๋จน๊ธฐ ๋“ฑ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•˜์ž๋ฉด

 

  • ํ—ค๋“œ ๋ถ€๋ถ„: ๋ฌธ์ž ์ธ์ฝ”๋”ฉ, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์„ค์ •, ํŽ˜์ด์ง€ ์ œ๋ชฉ ์ •์˜.
  • ์Šคํƒ€์ผ: ํŽ˜์ด์ง€ ์ค‘์•™์— ๋ช…ํ•จ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ฆ„, ์ง์ฑ…, ์Šฌ๋กœ๊ฑด, ์—ฐ๋ฝ์ฒ˜, ์ทจ๋ฏธ ๋“ฑ์„ ์Šคํƒ€์ผ๋ง.
  • ๋ณธ๋ฌธ: card๋ผ๋Š” ๋ฐ•์Šค ์•ˆ์— ์ด๋ฆ„, ์ง์ฑ…, ์Šฌ๋กœ๊ฑด, ์—ฐ๋ฝ์ฒ˜, ์ทจ๋ฏธ๋ฅผ ๋‚˜์—ด.