๐Ÿ‘ฉ‍๐ŸŽค ํ”„๋ก ํŠธ์—”๋“œ

    [Javascript][Node.js] Github actions๋ฅผ ์ด์šฉํ•ด์„œ README ์ž๋™ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ๊นƒํ—ˆ๋ธŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ’€์ด๋ฅผ ์˜ฌ๋ฆฌ๋Š” ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์Šคํ„ฐ๋””๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ง„ํ–‰๋œ๋‹ค. 1. ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ํ†ต๊ณผํ•œ๋‹ค. 2. ํ†ต๊ณผ๋œ ํ’€์ด๋ฅผ [๋ ˆ๋ฒจ/๋ฌธ์ œ๋ช….js] ํŒŒ์ผ ํ˜•์‹์œผ๋กœ ํ‘ธ์‹œํ•œ๋‹ค. 3. README์— ํ’€์ด ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋งค์ผ ํ•˜๋ฃจ์— ํ•œ ๋ฌธ์ œ ์ด์ƒ์„ ํ‘ธ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ–ˆ๊ณ  ์œ„์™€ ๊ฐ™์€ ํ–‰๋™์ด ๋ฐ˜๋ณต๋˜๋˜ ์ฐฐ๋‚˜ .. ์–ด์ฉ์ง€ ์—„์ฒญ๋‚œ ๊ท€์ฐฎ๋‹ค๐Ÿค” 2๋ฒˆ๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉด 3๋ฒˆ ๊ณผ์ •์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์—†์„๊นŒ? README๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค README ์ž‘์„ฑํ•˜๊ธฐ ๋ฌด์ž‘์ • ํ’€์ด ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜๋ฉด ๋ฌธ์ œ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์ค‘์— ๋‹ค์‹œ ์ฐพ์•„๋ณด๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. README์— ํ…Œ์ด๋ธ”๋กœ ์ •๋ฆฌํ•ด๋†“์œผ๋ฉด ์–ด๋Š ๋ฌธ์ œ์ธ์ง€ + ์–ด๋–ป๊ฒŒ ํ’€์ดํ–ˆ๋Š”์ง€๋ฅผ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. - ๋ฒˆํ˜ธ - ๋ฌธ์ œ ๊ฐœ์ˆ˜๋ฅผ..

    [CSS] Negative margin (์Œ์ˆ˜ ๋งˆ์ง„)

    Negative Margin (์Œ์ˆ˜ ๋งˆ์ง„) 1. static์ธ ๊ฒฝ์šฐ 1. top, left์— ์Œ์ˆ˜ ๋งˆ์ง„์„ ์ ์šฉํ•œ ๊ฒฝ์šฐ See the Pen Untitled by Minkyung Shin (@minkyung00) on CodePen. top ๋˜๋Š” left ๋ฐฉํ–ฅ์œผ๋กœ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์ด๋™ํ•œ๋‹ค ์ฒซ๋ฒˆ์งธ ์š”์†Œ์— margin-top: -50px๋ฅผ ํ•˜๋ฉด ๋‘๋ฒˆ์งธ, ์„ธ๋ฒˆ์งธ ์š”์†Œ๋„ ํ•จ๊ป˜ top ๋ฐฉํ–ฅ์œผ๋กœ 50px๋งŒํผ ์ด๋™ํ•œ๋‹ค 2. right, bottom์— ์Œ์ˆ˜ ๋งˆ์ง„์„ ์ ์šฉํ•œ ๊ฒฝ์šฐ See the Pen Untitled by Minkyung Shin (@minkyung00) on CodePen. ๋‹ค์Œ ์š”์†Œ๋ฅผ right ๋˜๋Š” bottom๋งŒํผ ์ด๋™์‹œํ‚จ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์š”์†Œ์™€ ๋‹ค์Œ ์š”์†Œ๊ฐ€ ๊ฒน์น˜๊ฒŒ ๋œ๋‹ค ์ฒซ๋ฒˆ์งธ(top์— ์Œ์ˆ˜๋งˆ์ง„)๊ณผ๋Š” ๋‹ฌ๋ฆฌ ..

    display, position, float ์†์„ฑ ๊ฐ„์˜ ๊ด€๊ณ„

    Normal flow (์ผ๋ฐ˜์ ์ธ ํ๋ฆ„์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ๊ฒฝ์šฐ) Normal flow๋ž€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ•์Šค๊ฐ€ ๋ฐฐ์น˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋‹ค Normal flow์—์„œ ๋ฐ•์Šค๋“ค์€ formatting context๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. CSS 2.2 ์—์„œ๋Š” table, block, inline์ด ํ•ด๋‹น๋œ๋‹ค ๋ธ”๋ก ๋ ˆ๋ฒจ์˜ ๋ฐ•์Šค๋Š” block formatting์— ์†ํ•˜๊ณ  ์ธ๋ผ์ธ ๋ ˆ๋ฒจ์˜ ๋ฐ•์Šค๋Š” inline formatting์— ์†ํ•˜๊ณ  table formatting์€ https://www.w3.org/TR/CSS22/tables.html ์—ฌ๊ธฐ์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค Block formatting context float, position์ด absolute์ธ ์š”์†Œ, ๋ธ”๋ก ๋ฐ•์Šค๋Š” ์•„๋‹ˆ์ง€๋งŒ inline-block, table-cell, table-caption๊ณผ ๊ฐ™..

    ์›น ์ ‘๊ทผ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ฝ˜ํ…์ธ  ์ˆจ๊ธฐ๊ธฐ - sr-only / off-screen / a11yHidden

    sr-only ์Šคํฌ๋ฆฐ๋ฆฌ๋”์—์„œ๋Š” ์ฝ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ํ™”๋ฉด์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ฃผ๋กœ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค๋ช…์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์™œ ์‚ฌ์šฉํ• ๊นŒ? sr-only๋Š” screen reader-only๋ผ๋Š” ๋œป์œผ๋กœ ์ฃผ๋กœ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค๋ช…์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๊ณต์‹๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋“  input ์š”์†Œ์— label์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์–ด๋ ค์›€์„ ๊ฒช์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ธ๋ผ์ธ ํผ๋“ค์„ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” .sr-only ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ label์„ ๊ฐ์ถœ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์›น ์ ‘๊ทผ์„ฑ์„ ์‹ ๊ฒฝ์จ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— label์„ ์•„์˜ˆ ์ง€์šฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ label์„ ๊ฐ์ถ”๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•ด ์Šคํฌ๋ฆฐ๋ฆฌ๋”๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์ฝ˜ํ…์ธ ๋ฅผ ์ˆจ๊ฒจ์•ผํ•œ๋‹ค ์–ด๋–ป..

    <main> / <section> vs <article>

    ์ฃผ์š” ์ปจํ…์ธ ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค ๐Ÿ‘†์ฃผ์˜ mainํƒœ๊ทธ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ค‘์‹ฌ์ด ๋˜๋Š” ๋‚ด์šฉ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•œ๋‹ค ์„ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, DOM์—๋Š” main์ด ํ•˜๋‚˜์—ฌ์•ผํ•œ๋‹ค ๋‚˜๋จธ์ง€๋Š” hidden ์†์„ฑ์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค ๊ตฌ์กฐ์ ์œผ๋กœ ์˜ณ์€ main ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค โœŒ๏ธ๊ตฌ์กฐ์ ์œผ๋กœ ์˜ณ์€ main ์š”์†Œ๋ž€? ์กฐ์ƒ ์š”์†Œ๊ฐ€ html, body, div, ์ ‘๊ทผ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์ด ์—†๋Š” form, autonomous custom ์š”์†Œ์œผ๋กœ ์ œํ•œ๋œ๋‹ค. ๋”๋ณด๊ธฐ A hierarchically correct main element is one whose ancestor elements are limited to html, body, div, form without an accessible name, and autonomous c..

    HTML5์˜ ์ฝ˜ํ…์ธ  ๋ชจ๋ธ(Content Models)

    HTML5์˜ ์ฝ˜ํ…์ธ  ๋ชจ๋ธ์ด๋ž€? ์ธ๋ผ์ธ ์š”์†Œ, ๋ธ”๋ก ์š”์†Œ๋กœ ๊ตฌ๋ถ„ํ–ˆ๋˜ ํƒœ๊ทธ๋ฅผ ๊ฐ ํƒœ๊ทธ๋ณ„๋กœ ๋น„์Šทํ•œ ์„ฑ๊ฒฉ๋ผ๋ฆฌ ๊ทธ๋ฃนํ™”ํ•œ ๊ฒƒ์ด๋‹ค ์ฝ˜ํ…์ธ  ๋ชจ๋ธ์€ ์ž์‹ ์š”์†Œ์— ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ๊ฐ€ ์ œํ•œ๋˜์–ด์žˆ๋‹ค 1. Sectioning Root ๊ณ„์ธต๊ตฌ์กฐ๋กœ ๊ตฌ๋ถ„๋˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์ธ ์ฝ˜ํ…์ธ ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค ๊ณ„์ธต๊ตฌ์กฐ: , ์•„์›ƒ๋ผ์ธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค , , , , , 2. Metadata ๋ฌธ์„œ์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์Šคํƒ€์ผ ์š”์†Œ, ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ง์ ‘์ ์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค ๋ฌธ์„œ์™€ ๋ฌธ์„œ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•œ๋‹ค , , , , , , 3. Flow ์— ๋“ค์–ด๊ฐ€๋Š” ๋Œ€๋ถ€๋ถ„์— ์š”์†Œ๊ฐ€ ํ•ด๋‹น๋œ๋‹ค , , , ( ์š”์†Œ์˜ ์ž์†์ธ ๊ฒฝ์šฐ), , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,..