๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

WEB

(15)
[ WEB ] iOS์—์„œ SVG ์ด๋ฏธ์ง€๊ฐ€ ๊นจ์ ธ ๋ณด์ผ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ํšŒ์‚ฌ์—์„œ  iOS๊ฐœ๋ฐœ ํŒŒํŠธ์— ์ด์Šˆ ํ‹ฐ์ผ“์ด ๋ฐœํ–‰๋˜์—ˆ๋Š”๋ฐ,  AOS์—์„œ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์ •์ƒ์ ์ธ ํ•ด์ƒ๋„๋กœ ๋…ธ์ถœ๋˜๋Š” ๋ฐ˜๋ฉด,  iOS ์—์„œ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ๊นจ์ ธ ๋ณด์ด๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•ด๋‹น ์ด๋ฏธ์ง€๋Š”  SVG ๋ฒกํ„ฐ ์ด๋ฏธ์ง€๋ผ ์ด๋ก ์ƒ์œผ๋กœ ๋‹น์—ฐํžˆ ๊นจ์ง€๋Š” ์ด์Šˆ๊ฐ€ ์—†์–ด์•ผ ํ•˜๋Š” ๊ฒŒ ๋งž๋Š”๋ฐ ์ฐธ ์ด์ƒํ–ˆ๋‹ค.  iOS๊ฐœ๋ฐœ์ž ๋ถ„์ด ํ•ด๋‹น ํ™”๋ฉด์€ ์›น๋ทฐ๋ผ๊ณ  ์›นํ”„๋ก ํŠธ ํŒŒํŠธ์— ์ด์Šˆ ํ‹ฐ์ผ“์„ ๋„˜๊ฒจ์ฃผ์–ด ํ•จ๊ป˜ ์ฐพ์•„๋ณด์•˜๋Š”๋ฐ, ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์‚ฌํŒŒ๋ฆฌ ์›น๋ทฐ์—์„œ SVG๊นจ์ง ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•˜๊ณ , ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜๋‹ค.    ํƒœ๊ทธ๋ฅผ  ์ด๋Ÿฐ ์‹์œผ๋กœ object ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. (, ๋„ ๊ฐ€๋Šฅ)     ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ ์œ„์˜ ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์‰ฌ์›Œ ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  SVG ์ด๋ฏธ์ง€๋ฅผ ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์‹ค์งˆ์ ์œผ๋กœ ์–ด๋ ค์› ๋‹ค. (์„œ๋ฒ„์—์„œ ์ด๋ฏธ์ง€..
[ WEB API ] Geolocation API๋ฅผ ํ†ตํ•ด ์œ„์น˜ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? Geolocation API๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž์˜ ๋™์˜๋ฅผ ๋ฐ›์•„ ์œ„์น˜ ์ •๋ณด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผํ†ตํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ ์ง€๋„์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. Geolocation API๋Š” navigator.geolocation ์„ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. if ("geolocation" in navigator) { /* ์œ„์น˜์ •๋ณด ์‚ฌ์šฉ ๊ฐ€๋Šฅ */ } else { /* ์œ„์น˜์ •๋ณด ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ */ } ๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์œ„์น˜ ์ •๋ณด ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๋™์˜ํ•˜๋ฉด ํ˜„์žฌ ์žฅ์น˜์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•(GPS๋“ฑ)์„ ํ†ตํ•ด ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. - Geolocation.getCurrentPos..
[ LocalStorage ] localStorage์—์„œ ๋ฐฐ์—ด(Array)๋‹ค๋ฃจ๊ธฐ. ์ตœ๊ทผ ์ž‘์—… ํ•  ๋ถ€๋ถ„์ด client์ธก์—์„œ `localStorage`๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์„ ์ €์žฅ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. (localStorage๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ํด๋ผ์ด์–ธํŠธ ์ธก์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์›น ์Šคํ† ๋ฆฌ์ง€) 1. ๋ฐฐ์—ด์„ `localStorage`์— ์ €์žฅํ•˜๊ธฐ: // ์˜ˆ์‹œ ๋ฐฐ์—ด const myArray = [1, 2, 3, 4, 5]; // ๋ฐฐ์—ด์„ JSON ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ localStorage์— ์ €์žฅ localStorage.setItem('myArray', JSON.stringify(myArray)); * localStorage๋Š” value์— ๋ฌธ์ž์—ด๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, JSON.stringufy()๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด ์ €์žฅํ•ด์•ผํ•œ๋‹ค. 2. `localStor..
[ CSS ] white-space ์†์„ฑ /* Single keyword values */ white-space: normal; white-space: nowrap; white-space: pre; white-space: pre-wrap; white-space: pre-line; white-space: break-spaces; /* white-space-collapse and text-wrap shorthand values */ white-space: collapse balance; white-space: preserve nowrap; /* Global values */ white-space: inherit; white-space: initial; white-space: revert; white-space: revert-layer; white-..
[ CSS ] list-style-type์•Œ์•„๋ณด๊ธฐ. list-style์€ css์†์„ฑ ์ค‘ ํ•˜๋‚˜๋กœ, HTML์˜ ๋ชฉ๋ก ์š”์†Œ(``, ``, ``)๋“ฑ์˜ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ๋“ค์˜ ๋งˆ์ปค(marker) ๋ชจ์–‘์„ ์ง€์ •ํ•˜๋Š” CSS ์†์„ฑ์œผ๋กœ, ํ…์ŠคํŠธ ์•ž์— ์‚ฌ์šฉ๋˜๋Š” ์ˆซ์ž, ๋ฌธ์ž, ์ด๋ฏธ์ง€ ๋“ฑ์˜ ๋งˆ์ปค ๋ชจ์–‘์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. `list-style-type` ์†์„ฑ์€ ๋‹ค์–‘ํ•œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’๋“ค์ด ์‚ฌ์šฉ๋œ๋‹ค. 1. `none` ๋ชฉ๋ก ํ•ญ๋ชฉ์— ๋งˆ์ปค๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, ๋ฒˆํ˜ธ๋‚˜ ๋ถˆ๋ฆฟ ๊ธฐํ˜ธ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. 2. `disc` ์›ํ˜• ๋ถˆ๋ฆฟ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (default) 3. `circle` ๋นˆ ์› ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 4. `square` ๋„ค๋ชจ ์ƒ์ž ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 5. `decimal` 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์ˆซ์ž๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธด๋‹ค. 6. `decimal-lead..
[ WEB ] CSR๊ณผ SSR ๋น„๊ตํ•˜๊ธฐ CSR(client-side-rendering)๊ณผ SSR(server-side-rendering)์€ ์›น ํŽ˜์ด์ง€์™€ ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ Œ๋”๋งํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. SSR๊ณผ CSR์€ ๋ Œ๋”๋ง ๊ณผ์ •์ด ์ผ์–ด๋‚˜๋Š” ์œ„์น˜์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. CSR (Client-Side-Rendering) CSR์€ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ Œ๋”๋ง์„ ํ•˜๋Š” ๊ธฐ์ˆ ๋กœ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ JavaScript๋ฅผ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค. ์„œ๋ฒ„์—์„œ ์ตœ์†Œํ•œ์˜ HTML ํŒŒ์ผ์„ ๋ณด๋‚ด๊ณ , ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript ์ฝ”๋“œ๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์™€ ๋ Œ๋”๋งํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‹ค ๋” ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒํ•˜๊ณ  ๋™์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ณ  ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ ๋„ ์ฝ˜ํ…์ธ ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ..
[ HTML5 ] HTML5 ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ์„ค๋ช… HTML ๊ธฐ๋ณธ ์„ค๋ช… HTML์€ Hypertext Markip Language์˜ ์•ฝ์ž๋กœ, ์›น์„ ์ด๋ฃจ๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์›นํŽ˜์ด์ง€๋ฅผ ๊ธฐ์ˆ ํ•˜๊ธฐ ์œ„ํ•œ ๋งˆํฌ์—… ์–ธ์–ด์ด๋‹ค. ์›น ์ฝ˜ํ…์ธ ์˜ ์˜๋ฏธ(๋‚ด์šฉ)์™€ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ตฌ์กฐํ™” ํ•œ๋‹ค. HTML ์ด์™ธ์˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์›น ํŽ˜์ด์ง€์˜ ๋ชจ์–‘/ํ‘œํ˜„(CSS), ๋˜๋Š” ๊ธฐ๋Šฅ/๋™์ž‘(JavaScript)์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. HTML์€ ์›น๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” ๊ธ€๊ณผ ์ด๋ฏธ์ง€ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด "๋งˆํฌ์—…"์„ ์‚ฌ์šฉํ•˜๊ณ , HTML ๋งˆํฌ์—…์€ ๋‹ค์–‘ํ•œ "์š”์†Œ"๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์š”์†Œ์˜ ์ข…๋ฅ˜์—๋Š” , , , , , , , , , , , , , , , , , , , , , , , ๋“ฑ๋“ฑ์ด ์žˆ๋‹ค. ์š”์†Œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ MDN์˜ ์š”์†Œ ์ฐธ๊ณ ์„œ๋ฅผ ๋ณด๋ฉด ..
[์—๋Ÿฌ] 400 Bad Request Request Header Or Cookie Too Large ์„œ๋น„์Šค์˜ QA๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ด์Šˆ๊ฐ€ ๋‚˜์™”๋‹ค. 400 Bad Request Request Header Or Cookie Too Large nginx ๋ฐœ์ƒ ์›์ธ 400 Bad Request Request Header Or Cookie Too Large nginx ์—๋Ÿฌ๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ ์ค‘ ํ•˜๋‚˜๋กœ, ์š”์ฒญ ํ—ค๋” ๋˜๋Š” ์ฟ ํ‚ค๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์›น ์„œ๋ฒ„(nginx)์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋Š” ์›น ์„œ๋ฒ„์— ์„ค์ •๋œ ์ œํ•œ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด, ์š”์ฒญ ํ—ค๋” ๋˜๋Š” ์ฟ ํ‚ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ ์›น ์„œ๋ฒ„์—์„œ ์ œํ•œ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ ค์•ผ ํ•˜์ง€๋งŒ ๋ฐฉ๋ฌธ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์˜ ์‚ฌ์ดํŠธ ๊ธฐ๋ก์„ ์‚ญ์ œํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. (๋ชจ๋ฐ”์ผ ์›น๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ค์ •์—์„œ ํ•ด๋‹น ๋ธŒ๋ผ์šฐ์ € ์•ฑ์„ ์„ ํƒํ•˜๋ฉด ์บ์‹œ๋ฅผ..