[๋ฉ‹์‚ฌ๐Ÿฆ] 1์ฃผ์ฐจ(ํ™”) ์›Œํฌ์ƒต, ๋งˆํฌ์—… ํด๋ก  ๊ณผ์ œ

์Ÿˆ๋ชฝยท2021๋…„ 11์›” 2์ผ
5

๊ฐœ๋ฐœ๋‰ด๋น„(21/10/23~)

๋ชฉ๋ก ๋ณด๊ธฐ
6/20

๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ๐Ÿฆ ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ 1๊ธฐ 1์ฃผ์ฐจ(ํ™”) ํšŒ๊ณ  - November 2, 2021

๋„ˆ๋ฌด ์—ด์˜๊ฐ€ ๋„˜์น˜๋Š” ๋‚˜๋จธ์ง€ ๊ธˆํ† ์ผ์›” 4์ผ๊ฐ„ ๋„ˆ๋ฌด ๋‹ฌ๋ ค์„œ, ์ฒด๋ ฅ ๋ถ„๋ฐฐ๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“œ๋Š” ์˜ค๋Š˜์ด๋‹ค. ์–ด์งˆ์–ด์งˆ.. ๐Ÿ˜ต ์ฒด๋ ฅ ๊ด€๋ฆฌ๋„ ๋Šฅ๋ ฅ์ด๋‹ค !

[ ์›Œํฌ์ƒต ํšŒ๊ณ  ]

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค์˜ ์ž„๋™์ค€ ์ฝ”์น˜๋‹˜์ด ์›Œํฌ์ƒต์„ ์ง„ํ–‰ํ•ด ์ฃผ์…จ๋‹ค ๐Ÿ‘๐Ÿป
์˜ค๋Š˜ ํ•˜๋ฃจ๊ฐ€ ์•„๋‹ˆ๋ผ 2๋ฒˆ์˜ ์›Œํฌ์ƒต, 5๋ฒˆ์˜ ์Šคํ”„๋ฆฐํŠธ ํšŒ๊ณ ๊นŒ์ง€ ์ด 7๋ฒˆ ๋ต™๊ฒŒ ๋œ๋‹ค!

5๋ช…์”ฉ ํŒ€ ๋นŒ๋”ฉ์„ ํ–ˆ๊ณ , 7๋ฒˆ ๋™์•ˆ ๊ณ„์† ๊ฐ™์€ ํŒ€์ด๋ผ๊ณ  ํ•œ๋‹ค. ์คŒ ์ˆ˜์—… ์ค‘๊ฐ„์ค‘๊ฐ„์— ์†ŒํšŒ์˜์‹ค์— ๋ชจ์—ฌ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ์‹์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค. ๊ตฌ๊ธ€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋ฅผ ํ™œ์šฉํ•œ ์˜จ๋ผ์ธ ํ˜‘์—… ๋ฐฉ์‹์ด ๋‚ด๊ฒŒ๋Š” ์‹ ์„ ํ–ˆ๋‹ค.
์šฐ๋ฆฌ ํŒ€์€ ๋‹ค์„ฏ ๋ช… ๋‹ค ๋น„์ „๊ณต์ž์˜€์ง€๋งŒ ๊ฐœ๊ฐœ์ธ์ด ๋…ธ๋ ฅ์„ ํ†ตํ•ด ์—ญ๋Ÿ‰๋„ ๋งŽ์ด ๋ฐœ์ „ํ–ˆ๊ณ , ๊ฐœ๋ฐœ ๋ถ„์•ผ์— ๋Œ€ํ•œ ์ง€์‹์„ ๋งŽ์ด ๊ฐ–์ถ”๊ฒŒ ๋œ ์‚ฌ๋žŒ๋“ค์ด์—ˆ๋‹ค. ๋‚˜๋„ ์ •๋ง ๋” ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค ๐Ÿ’ช๐Ÿป
(์ฒด๋ ฅ ๋ถ„๋ฐฐ๋ฅผ ์œ„ํ•ด ๊ณต๋ถ€์™€ ํœด์‹์˜ ์ค‘๊ฐ„์ ์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋‚ด๊ฒŒ๋Š” ์ˆ™์ œ์ผ ๊ฒƒ ๊ฐ™๋‹คใ… ใ…  ์ง€๊ธˆ๊นŒ์ง„ ๋ชจ ์•„๋‹ˆ๋ฉด ๋„ ์‹์ด์—ˆ์–ด์„œ...)

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

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ํ”Œ๋žœ์„ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ ๋ฐฉํ–ฅ์— ๋Œ€ํ•œ ๊ฐˆํ”ผ๋ฅผ ๋ชป์žก๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ด์ œ ์–ด๋Š ์ •๋„ ์•Œ ๊ฒƒ ๊ฐ™์•„์„œ ๋„ˆ๋ฌด ์ข‹์€ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ์žฅ์ ์ด ๋‹๋ณด์ผ ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์ˆœ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์Šคํ”„๋ฆฐํŠธ ์‹œ๊ฐ„๋งˆ๋‹ค Q&A ๋””ํ…Œ์ผ์„ ์ฑ„์›Œ๋‚˜๊ฐˆ ๊ฒƒ์ด๋ผ๊ณ  ํ•˜์…”์„œ ์•ž์œผ๋กœ๊ฐ€ ๋„ˆ๋ฌด ๊ธฐ๋Œ€๋œ๋‹ค.

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

> ๋‚ด๊ฐ€ ์ •ํ•œ ์—ญ๋Ÿ‰ ๋ชฉํ‘œ์™€ ์•ก์…˜ ํ”Œ๋žœ 1, 2, 3์ˆœ์œ„

1. <ํ˜‘์—… ๋Šฅ๋ ฅ>
๋งค์ผ ์ž˜ ์ •๋ฆฌํ•œ TIL 1๊ฐœ์”ฉ - ๋‹ค๋ฅธ ๋™๊ธฐ๋ถ„๋“ค TIL๋„ ๋ณด๊ณ  ๋ฐฐ์šฐ๊ธฐ (์‘์› ๋Œ“๊ธ€!)
2. <์„œ๋น„์Šค ๊ตฌํ˜„ ๋Šฅ๋ ฅ>
JavaScript ๊ณต๋ถ€ - ํ‰์ผ 30๋ถ„ ์ด์ƒ, ์ฃผ๋ง 2์‹œ๊ฐ„ ์ด์ƒ
3, <๋ฌธ์ œํ•ด๊ฒฐ๋Šฅ๋ ฅ>
์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œํ’€์ด ์ฒซ ๋„์ „!

์ฝ”ํ…Œ๋Š” ์ฃผ๋ง์— ๋„์ „ํ•ด ๋ณผ๊ฑฐ๊ณ , JavaScript ๊ณต๋ถ€ ์ž๋ฃŒ๋Š” ์˜ค๋Š˜ ์ข‹์€ ์ •๋ณด์™€ ์ž๋ฃŒ๋“ค์„ ๋„ˆ๋ฌด ๋งŽ์ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. (ํ–‰๋ณต๐Ÿ˜Š) ์ผ๋‹จ ํ‰์ผ ๋™์•ˆ์—” ํ•˜๋‚˜๋งŒ ํŒŒ๋ณด๊ณ , ์ฃผ๋ง์— ๋‚ด๊ฒŒ ๋งž๋Š” ์ž๋ฃŒ๋“ค์„ ํƒ์ƒ‰ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

[ ๊ณต๋ถ€ ]

์›Œํฌ์ƒต์ด ๋๋‚˜๊ณ  ๋‚จ์€ 2์‹œ๊ฐ„ ๋™์•ˆ ์ดํ˜ธ์ค€ ๊ฐ•์‚ฌ๋‹˜๊ป˜ ์ˆ˜์—…์„ ๋“ค์—ˆ๋‹ค.

> ๊ฐ•์˜์š”์•ฝ

  • semantic HTML !! ์žฌ์ฐจ ๊ฐ•์กฐ
  • ์›น ํ‘œ์ค€ ์ง€ํ‚ค๊ธฐ "can i use", "Nu html checker" ํ™œ์šฉ
  • <form>, <label>, <input>, <button>, <select> ์‹ค์Šต ์‹œ๊ฐ„
  • <form>์˜ ๋™์ž‘ ๋ฐฉ์‹์€ request์™€ response๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • <form>์˜ method ์†์„ฑ
    - get : submit ์‹œ ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ์‹! password ๋“ฑ ์ค‘์š” ์ •๋ณด๋Š” ์•ˆ๋œ๋‹ค. ์ฃผ์†Œ๊ฐ€ ์œ ์ถ” ๊ฐ€๋Šฅํ•˜๋ฉด ์ข‹์ง€ ์•Š๋‹ค.
    - post : ํŒŒ์ผ ๋ฐ ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก
<form action="./010.html" method="get">
  <label for="id">์•„์ด๋”” : </label>
  <input type="text" name="์•„์ด๋””" id="id" />
  <label for="pw">ํŒจ์Šค์›Œ๋“œ : </label>
  <input type="password" name="ํŒจ์Šค์›Œ๋“œ" id="pw" />
  <button type="submit">๋กœ๊ทธ์ธ</button>
</form>
  • "<form>์œผ๋กœ ๋ฌถ์ธ ํƒœ๊ทธ๋“ค ์ค‘ <input>๋“ค์˜ data๋ฅผ submit์ด๋ผ๋Š” type์˜ <button>์„ ๋ˆŒ๋ €์„ ๋•Œ action์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ํŒŒ์ผ์— get์ด๋ผ๋Š” method๋กœ ๋˜์ ธ์ค€๋‹ค." (๋””์ฝ”์—์„œ ๋™๊ธฐ๋ถ„์ด ์ž˜ ์ •๋ฆฌํ•ด์ฃผ์…”์„œ ๊ฐ€์ ธ์˜ด ๐Ÿ‘๐Ÿป)
  • (+ ๋‹ค์‹œ ์ •๋ฆฌ) <input>์˜ data ๊ฐ’์„ submitํ•˜๋ฉด get method์—์„œ๋Š” action="./010.html"๋กœ request๋ฅผ ๋ณด๋‚ธ๋‹ค. URL์— ์น˜๋Š” ๊ฒƒ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค.
  • <label>์˜ for ์†์„ฑ์€ ํผ ์ปจํŠธ๋กค(<input>, <select> ๋“ฑ)์˜ id๊ฐ’๊ณผ ๋Œ€์‘ํ•ด์•ผ ํ•œ๋‹ค.
  • <label> ์—ญ์‹œ ์‹œ๋งจํ‹ฑ ์š”์†Œ! ๋‹จ์ˆœํžˆ input ์˜†์— ํ…์ŠคํŠธ๋ฅผ ๋ถ™์ด์ง€ ๋ง๊ณ  ์ ๊ทน ํ™œ์šฉํ•˜์ž.
<label for="male">๋‚จ</label>
<input type="radio" name="์„ฑ๋ณ„" id="male" value="๋‚จ" />
<label for="female">์—ฌ</label>
<input type="radio" name="์„ฑ๋ณ„" id="female" value="์—ฌ" />
  • <input>์˜ type="radio" ๋กœ ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒ(ํƒ1. ๋‚จ/์—ฌ ์ฒ˜๋Ÿผ)ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ๋Š” name ์†์„ฑ๊ฐ’์„ ํ†ต์ผ์‹œ์ผœ์•ผ ํ•œ๋‹ค.
  • <input>์˜ type="checkbox"๋Š” ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ ์ค‘๋ณต ์„ ํƒ์— ์“ฐ์ธ๋‹ค.
<form action="./009.html" method="get">
  <select name="device" id="myDevice">
    <option value="iphone">์•„์ดํฐ</option>
    <option value="galaxy">๊ฐค๋Ÿญ์‹œ</option>
  </select>
  <button type="submit">์„ ํƒ</button>
</form>
  • 127.0.0.1:5500:/009.html?device=iphone
    IP:PORT:/ํŒŒ์ผ?querystring
    &๋กœ ์—ฐ๊ฒฐ. #์€ ๋ฌธ์„œ ๋‚ด id.

[ ๊ณผ์ œ ]

์–ด์ œ์— ์ด์€ ๋‘ ๋ฒˆ์งธ ๋งˆํฌ์—… ํด๋ก  ๊ณผ์ œ!

์ด๋ฒˆ์—๋Š” ์ฝ”๋ฆฌ์•„์Šคํƒ€ํŠธ์—…ํฌ๋Ÿผ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋ณด๊ณ  ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ฑฐ์˜€๋Š”๋ฐ, ์–ด์ œ์ฒ˜๋Ÿผ ์š•์‹ฌ๋‚ด์ง€ ์•Š๊ณ  ์ตœ๋Œ€ํ•œ ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ ์‚ฌ์šฉ์— ์œ ์˜ํ•ด์„œ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค.

์–ด์ œ๋„ ๋‚˜๋ฆ„ ์‹œ๋งจํ‹ฑ HTML์„ ์งœ๋ณธ๋‹ค๊ณ  ์—„์ฒญ ๋…ธ๋ ฅํ•œ ๊ฑฐ์˜€๋Š”๋ฐ...๐Ÿ˜ฅ ์˜ค๋Š˜ ์žฌํ˜„ ๊ฐ•์‚ฌ๋‹˜์˜ ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๋จธ๋ฆฌ๋ฅผ ํ•œ ๋Œ€ ์–ป์–ด๋งž์€ ๊ธฐ๋ถ„์ด์—ˆ๋‹ค. ์ด๊ฒŒ ์ง„์งœ ์‹œ๋งจํ‹ฑํ•œ ์ฝ”๋“œ๊ตฌ๋‚˜ ์‹ถ์—ˆ๋‹ค.
์šฐ์„  <div> ์‚ฌ์šฉ์ด ํ•˜๋‚˜๋„ ์—†์—ˆ๋‹ค. ์‹œ๊ฐ ์žฅ์• ์ธ์„ ์œ„ํ•ด <img> ํƒœ๊ทธ์— alt ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋กœ ์Šคํฌ๋ฆฐ๋ฆฌ๋”๊ธฐ๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ, <h1>์„ ํ™”๋ฉด์—์„œ ํ‘œ์‹œ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋”๋ผ๋„ ํŽ˜์ด์ง€์˜ ์ œ๋ชฉ ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ ์–ด๋‘”๋‹ค๋Š” ๊ฒƒ ๋“ฑ...

์•„์ง ๋‚˜๋Š” ๋ฉ€์—ˆ๋‹ค,, ๊ทธ๋ž˜๋„ ์–ด์ œ์˜ ๋‚˜๋ณด๋‹จ ๋” ๋‚˜์€ ์˜ค๋Š˜์˜ ๋‚ด๊ฐ€ ๋˜์—ˆ๋‹ค! ๐Ÿ˜Š ์ฃผ๋ง์— ์‹œ๋งจํ‹ฑ HTML์— ๋Œ€ํ•œ ์ •๋ฆฌ๋ฅผ ์Šค์Šค๋กœ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

https://ddooyn.github.io/front-end-school/assignment/211102_markup-clone/

profile
FE ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์ถ”์ง„๋ ฅ์„ ์–ป๋Š” ์ค‘

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

comment-user-thumbnail
2021๋…„ 11์›” 3์ผ

์ •๋ฆฌ๊ฐ€ ๋„˜ ๊น”๋”ํ•ด์š”... ์ž๊ทน ๋ฐ›๊ณ  ๊ฐ‘๋‹ˆ๋‹ค! ๐Ÿ’ช

1๊ฐœ์˜ ๋‹ต๊ธ€