ETC๐Ÿงท

2023.04.12 TIL(์ปดํ“จํ„ฐ ์ดํ•ด)

hae02y 2023. 4. 12. 14:04
๋ฐ˜์‘ํ˜•

 

๐Ÿ‘€Today...


์ผ์„ ํ•˜๋Š”๋™์•ˆ์—๋Š” ํ•ญ์ƒ ๊ธธ๋‹ค๊ณ  ๋Š๊ปด์กŒ๋˜ 9-18์‹œ๊นŒ์ง€์˜ ์‹œ๊ฐ„์ด ์ •๋ง ๋น ๋ฅด๊ฒŒ ์ง€๋‚˜๊ฐ”๋‹ค. ์ด๋ฒˆ์ฃผ ๋™์•ˆ์—๋Š” ๊ธฐ๋ณธ์ ์ธ ์›Œ๋ฐ์—…๋Š๋‚Œ์˜ ๊ณผ์ •์ด ์งœ์—ฌ์ ธ ์žˆ๋Š”๊ฒƒ๊ฐ™์•„์„œ ํž˜์„ ์ข€ ๋นผ๊ณ  ์‰ฝ๊ฒŒ ํ•ด๋„ ๋ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋„ˆ๋ฌด๋‚˜๋„ ๋งŽ์•˜๋‹ค. ๋ฌด์–ธ๊ฐ€์— ๋Œ€ํ•ด ์–ด๋Š์ •๋„ ์•Œ๊ณ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ์–ด์ฉŒ๋ฉด ๊ฐ€์žฅ ์œ„ํ—˜ํ• ์ˆ˜๋„ ์žˆ๋Š”๊ฒƒ ๊ฐ™๋‹ค. ์•Œ๊ณ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ž๋งŒํ•˜๊ณ  ๊ทธ๋ƒฅ ๋„˜๊ฒจ๋ฒ„๋ฆฌ์ง€ ๋ง๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ์‹œ์ž‘ํ•œ๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ์šฐ์งํ•˜๊ฒŒ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€์•ผ ๋˜๊ฒ ๋‹ค.

 

 

โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn)


์ปดํ“จํ„ฐ์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ดํ•ด

# ์ปดํ“จํ„ฐ๋ž€?

  • ์ปดํ“จํ„ฐ๋Š” ๊ณ„์‚ฐํ•œ๋‹ค๋Š” ์˜๋ฏธ์˜ ๋ผํ‹ด์–ด Computare์—์„œ ์œ ๋ž˜๋˜์—ˆ๋‹ค.
  • ์ปดํ“จํ„ฐ๋Š” ๋ช…๋ น์—†์ด๋Š” ์•„๋ฌด๊ฒƒ๋„ ํ• ์ˆ˜์—†๋‹ค. ์—ฌ๊ธฐ์— ๋ช…๋ น์„ ๋‚ด๋ ค์ฃผ๋Š”๊ฒŒ ์šฐ๋ฆฌ๊ฐ€ ํ• ์ผ!
  • ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ•ด์ง„ ๊ทœ์น™๋Œ€๋กœ ์ฒ˜๋ฆฌํ•ด์„œ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ์ „์ž ์žฅ์น˜์ด๋‹ค.

# ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์œผ๋กœ์จ, ํŠน์ •ํ•œ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„ค๊ณ„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธ

์ปดํ“จํ„ฐ(1,0) -----๊ธฐ๊ณ„์–ด ----- JAVA C์–ธ์–ด ๋“ฑ
(์ €์ˆ˜์ค€)---------------------------------(๊ณ ์ˆ˜์ค€)

# ์ปดํŒŒ์ผ(Compile)?
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ด ํ• ์ˆ˜์žˆ๋Š” ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ปดํŒŒ์ผ์€ ๋นŒ๋“œ(build) ๊ณผ์ •์˜ ์ผ๋ถ€์ด๋ฉฐ, ๋นŒ๋“œ๋Š” ์ž‘์„ฑํ•œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ• ์ˆ˜์žˆ๋Š” ์‚ฐ์ถœ๋ฌผ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๊ณผ์ •์ด๋‹ค. ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์‹คํ–‰์‹œํ‚ฌ์ˆ˜์žˆ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์™„์„ฑ๋œ๋‹ค.

 

์›น

์ฒœ์ฒœํžˆ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ํ•™๊ต์—์„œ ๋ฐฐ์› ๋˜ ๋ถ€๋ถ„์ด์—ฌ์„œ ์•Œ๊ณ ์žˆ๋Š” ๋ถ€๋ถ„์€ ํŒจ์Šคํ•˜๊ณ  ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„๋งŒ ์ •๋ฆฌํ•˜์ž๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

1. ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ (2ํ‹ฐ์–ด ์•„ํ‚คํ…์ณ)
2. ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (3ํ‹ฐ์–ด ์•„ํ‚คํ…์ณ)

HTML / CSS

 # HTML = HyperText Markup Language
์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋งˆํฌ์—…์–ธ์–ด , ์›นํŽ˜์ด์ง€์˜ ๋‚ด์šฉ๊ณผ ๋ผˆ๋Œ€๋ฅผ ์ •ํ•ด์ง„ ๊ทœ์น™๋Œ€๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด, ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋‹ด๋‹น

# CSS = Cascading Style Sheets
HTML๋กœ ์ž‘์„ฑ๋œ ์›น์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ์— ๋””์ž์ธ์„ ์ ์šฉํ•˜๋Š”๋ฐ ์‚ฌ์šฉ,  ์›นํŽ˜์ด์ง€ ์Šคํƒ€์ผ ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ์Šคํƒ€์ผ ์‹œํŠธ ์–ธ์–ด, ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ๋„๊ตฌ,

# UI - ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User Interface)
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜๋Š” ์›น์„œ๋น„์Šค์™€ ์‚ฌ์šฉ์ž๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๋งค๊ฐœ์ฒด

# UX - ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(User eXperience)
์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ฒฝํ—˜ํ•˜๋ฉด์„œ ์ง/๊ฐ„์ ‘์ ์œผ๋กœ ๋Š๋ผ๋Š” ์ข…ํ•ฉ์ ์ธ ๊ฒฝํ—˜

์ด๊ณผ์ •์—์„œ ํ•ต์‹ฌ์ด ๋˜๋Š”๊ธฐ์ˆ ์ด ๋ฐ”๋กœ CSS ์ด๋‹ค.

block - ์ค„๋ฐ”๊ฟˆ  ( <div>, <p> ๋“ฑ)
Inline - ์ค„๋ฐ”๊ฟˆx ( <span> ๋“ฑ)
inline-block - Inline๊ณผ ๊ฐ™์ด ํ•œ์ค„์„ ์ฐจ์ง€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ width, height ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

ChatGPT๋ฅผ ํ™œ์šฉํ•œ ํ•™์Šต


# HTML ๊ตฌํ˜„๋ถ€

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>twittler</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
  </head>
  <body>
    <!-- ์—ฌ๊ธฐ์— HTML ๊ตฌ์กฐ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์˜ˆ์ œ์ด๋ฉฐ, ์–ผ๋งˆ๋“ ์ง€ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -->
    <header id="greeting">twittler</header>

    <section id="login">
      <label for="usernameInput">ID</label>
      <input type="text" id="usernameInput" placeholder="ID" />

      <label for="messageInput">Message</label>
      <textarea id="messageInput" placeholder="New comment"></textarea>
      <button id="tweetButton">tweet</button>
    </section>
    <!-- Tweet lists -->
    <section id="tweetlist" class="white">
      <button id="randomButton">check new tweet</button>
    </section>

    <script src="script.js"></script>
  </body>
</html>

 
 
# CSS ๊ตฌํ˜„๋ถ€

#greeting {
  font-size: 2em;
  font-family: sans-serif;
  font-weight: bold;
  border: 2px solid #ccc;
  border-radius: 1em;
  color: white;
  background-color: skyblue;
  text-shadow: 0 0 5px #333;
  text-align: center;
  margin: 0.5em;
  padding: 0.5em;
}

#login {
  padding-left: 20px;
  background-color: #2bc5e0;
}

#tweetlist {
  background-color: navy;
  padding-top: 15px;
}

#randomButton {
  padding: 15px 15px;
  margin: 10px 10px;
  background-color: white;
}

label {
  display: block;
  color: white;
}

input {
  display: block;
}

textarea {
  display: block;
  height: auto;
  width: 90%;
  height: 20vh;
  resize: none;
}

button {
  box-shadow: none;
}

#tweetButton {
  background-color: white;
  text-align: center;
  font-size: 15px;
  box-shadow: none;
  border-radius: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 5px 10px;
  border: none;
}

#tweetWrapper {
  padding-top: 20px;
  padding-bottom: 10px;
  list-style: none;
  background-color: whitesmoke;
  padding-right: 20px;
}

.tweet__username {
  font-weight: bolder;
  font-size: larger;
}

.tweet__createdAt {
  color: #ccc;
}

.tweet__message {
  padding: 10px;
  border-bottom: 1px solid #000; /* ์œ„์ชฝ์— 1ํ”ฝ์…€ ๋‘๊ป˜์˜ ๊ฒ€์€์ƒ‰ ์‹ค์„  ๊ตฌ๋ถ„์„  ์ถ”๊ฐ€ */
}

 
 
# ๊ฒฐ๊ณผ

๋น„์Šทํ•˜๊ฒŒ๋Š” ๋งŒ๋“ค์–ด์ง„๊ฒƒ๊ฐ™๋‹ค. ChatGPT๋ž‘ ์‹ฌ์‹ฌํ•ด์„œ ๋†€์•„๋ณธ์ ์€ ์žˆ์–ด๋„ ์—…๋ฌด๋‚˜ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•ด๋ณธ๊ฑด ์ฒ˜์Œ์ด์˜€๋Š”๋ฐ ์™€... ์ด๊ฑฐ ์ƒ๊ฐ๋ณด๋‹ค ๋„ˆ๋ฌด ๋˜‘๋˜‘ํ•˜๋‹ค. ์•ž์œผ๋กœ๋„ ๋งŽ์ด๋„์™€์ค˜ ์นœ๊ตฌ!

 

 


๐Ÿ‘Šํ˜ผ์ž์„œ ํ•ด๊ฒฐํ•˜๊ธฐ


์˜ค๋Š˜์€ ์—†์Œ...!

 

 

 

๋ฐ˜์‘ํ˜•