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

์ „์ฒด ๊ธ€166

CSS๋Š” ์™œ ์ด๋ฆ„์ด CSS์ผ๊นŒ? ๊ธฐ์ˆ  ๋ฉด์ ‘ ๊ณต๋ถ€๋ฅผ ํ•˜๋˜ ์ค‘, ์–ด๋–ค ๊ฐœ๋ฐœ์ž ๋ถ„์ด ๋‚จ๊ธฐ์‹  ๊ธ€์ด ์ธ์ƒ ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค. CSS๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, CSS๊ฐ€ ์™œ CSS์ธ์ง€๋„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž์˜€์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ๊ธ€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด CSS์ด๊ณ , CSS๋ฅผ ์ •๋ง ๋งŽ์ด ๋‹ค๋ฃจ๊ณ  ์žˆ์ง€๋งŒ ์ •์ž‘ CSS์˜ ์ด๋ฆ„์ด ์™œ CSS์ธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ํ•œ ๋ฒˆ๋„ ์ƒ๊ฐํ•ด ๋ณธ ์ ์ด ์—†์—ˆ๊ธฐ์— ์ฐพ์•„์„œ ๊ณต๋ถ€ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. CSS๋Š” ๋ญ˜๊นŒ? CSS๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๊พธ๋ฏธ๋ ค๊ณ  ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ์ด๋ฉฐ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋‚˜ ๋งˆํฌ์—… ์–ธ์–ด๊ฐ€ ์•„๋‹Œ Style sheet ์–ธ์–ด์ž…๋‹ˆ๋‹ค. HTML ๋ฌธ์„œ์— ์žˆ๋Š” ์š”์†Œ๋“ค์— ์„ ํƒ์ ์œผ๋กœ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ์˜ˆ๋ฅผ ๋“ค๋ฉด HTML ํŽ˜์ด์ง€์—์„œ ๋ชจ๋“  ๋ฌธ๋‹จ ์š”์†Œ๋“ค์„ ์„ ํƒํ•˜๊ณ  ๊ทธ ๋ฌธ๋‹จ ์š”์†Œ๋“ค ์•ˆ์— ์žˆ๋Š” ํ….. 2024. 1. 2.
ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— Cloud Firestore๊ฐ€ ์ ํ•ฉํ•œ ์ด์œ  ์ฃผ์š” ๊ธฐ๋Šฅ ์œ ์—ฐ์„ฑ ํ‘œํ˜„ํ˜• ์ฟผ๋ฆฌ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ ์˜คํ”„๋ผ์ธ ์ง€์› ํ™•์žฅํ˜• ์„ค๊ณ„ ๊ธฐ๋ณธ ์›๋ฆฌ https://firebase.google.com/docs/firestore?hl=ko&authuser=0 Firestore | Firebase Google Cloud ์ธํ”„๋ผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ NoSQL ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํด๋ผ์ด์–ธํŠธ ์ธก ๊ฐœ๋ฐœ ๋ฐ ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋™๊ธฐํ™”ํ•˜์„ธ์š”. firebase.google.com 2023. 12. 29.
์‚ฐ์ฑ… ๊ฐœ๋ฐœ์ผ์ง€ 0 : 1์ธ ๊ฐœ๋ฐœ ๊ณ„ํš ์„ธ์šฐ๊ธฐ ํ•™๊ต ์„ ๋ฐฐ์˜ ์ฐฝ์—… ์•„์ดํ…œ์˜ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ชฉ์  ๊ธฐ๋ฐ˜์œผ๋กœ ๋“ฑ์‚ฐ์ง€๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ํ”Œ๋žซํผ์ธ๋ฐ, ์ •๋ง ์ˆ˜์ฐจ๋ก€์˜ ํ”ผ๋ด‡ ๋์— ์ œ๋ฒ• ๊ทธ๋Ÿด์‹ธํ•œ ์•„์ดํ…œ์ด ๋‚˜์™”๋‹ค. ํŒ€์›์€ ์„ ๋ฐฐ์™€ ๋‚˜ 2๋ช…์œผ๋กœ, ๋‚ด๊ฐ€ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์„ ์˜ค๋กฏ์ด ๋„๋งก์•„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฐฑ์ง€ ์ƒํƒœ์—์„œ ์–ด๋–ค ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ• ๊นŒ? ๋‚ด๊ฐ€ ๊ฑด๋„ค ๋ฐ›์€ ๊ฑด ํ”ผ๊ทธ๋งˆ ํŒŒ์ผ ํ•˜๋‚˜ ๋ฟ์ด๋‹ค. ๋ฌด์—‡์„ ๊ฐ€์žฅ ๋จผ์ € ์„ธํŒ…ํ•ด์•ผ ํ• ๊นŒ? 1. ๊ธฐ์ˆ  ์Šคํƒ ์ •ํ•˜๊ธฐ React : ๊ทน ์ดˆ๊ธฐ์˜ ์ฐฝ์—… ์•„์ดํ…œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง ํ”„๋กœํ† ํƒ€์ž…๋„ ์—†๋Š” ์ƒํƒœ๋ผ, ์ผ๋‹จ ๋นจ๋ฆฌ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๋‚˜์—๊ฒŒ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ React๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. Recoil : ํด๋ผ์ด์–ธํŠธ ๋ฐ์ดํ„ฐ์˜ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ๊ฐ€ ํฌ์ง€ ์•Š๊ณ , ํŠนํžˆ React๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— .. 2023. 12. 29.
GitHub readme.md ๊ธฐ์ˆ  ์Šคํƒ ๋ฑƒ์ง€ ๋งŒ๋“ค๊ธฐ https://simpleicons.org Simple Icons 2926 Free SVG icons for popular brands simpleicons.org 2023. 12. 29.
๐ŸŒŸ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๋ณ„์  ํ‰์  ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ ๋ณ„์  ํ‰์  ์€ ๋ฆฌ๋ทฐ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ๋•Œ ๋น ์งˆ ์ˆ˜ ์—†๋Š” ์š”์†Œ์ด๋‹ค. ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ๋ทฐ ์ž‘์„ฑ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๋ณ„์  ํ‰์  ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ์š”์ƒˆ Chakra UI ์ฒ˜๋Ÿผ, ์™ธ๋ถ€ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งค์šฐ ์ž˜ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์“ฐ์ด๋Š” UI ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋งŒ๋“ค๊ณ  ๋‚˜๋Š” ๋กœ์ง์— ๋” ์ง‘์ค‘ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„์‰ฝ๊ฒŒ๋„ (?) ์ž์ฃผ ์“ฐ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋Š” ๋ณ„์  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š์•˜๊ณ  ๋กœ์ง์„ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„์„œ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. (์ฐพ์•„๋ณด๋‹ˆ ์žˆ๊ธด ํ–ˆ๋‹ค.) https://www.npmjs.com/package/rc-rate rc-rate React Star Rate Component. Latest version: 2.12.0, last publi.. 2023. 12. 29.
๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ธฐ ์ตœ๊ทผ์— ์ง€์ธ์˜ ์ฐฝ์—… ํ”„๋กœ์ ํŠธ์— ๊ฐœ๋ฐœ ํŒ€์›์œผ๋กœ์จ ํ•จ๊ป˜ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 12์›”๊นŒ์ง€ MVP ์ œ์ž‘์„ ์™„๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” ๋ชฉํ‘œ๋ฅผ ์žก์•˜๊ธฐ์—, ๋””์ž์ธ์€ ์™ธ์ฃผ๋ฅผ ๋งก๊ฒจ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋ฐ›์€ ๋””์ž์ธ์€ ์ƒ‰์ƒ๊ณผ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์—ฌ๊ธฐ์ €๊ธฐ ํฉ์–ด์ ธ ์žˆ๋Š” ์ƒํƒœ์˜€๋‹ค. ์‚ฌ์‹ค MVP ์ œ์ž‘ ๋‹จ๊ณ„์—์„œ ๋””์ž์ธ ์‹œ์Šคํ…œ์€ ์‚ฌ์น˜์ผ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์ง€๋งŒ, ์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ํ†ตํ•ด์„œ ๋””์ž์ธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ดํ•ด๋„ ๋†’์ผ ๊ฒธ ์ง์ ‘ ๊ตฌ์ถ•ํ•ด๋ณด์•„๋„ ์ข‹์€ ๊ฒฝํ—˜์ด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๋””์ž์ธ ์‹œ์Šคํ…œ์ด๋ž€? ์„œ๋น„์Šค์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ๋” ์ผ๊ด€๋˜๊ฒŒ ๊ตฌ์„ฑ๋œ ์ผ๋ จ์˜ ํŒจํ„ด๊ณผ ๊ณต์œ ๋œ ๊ทœ์น™ ์–ธ์–ด๋กœ์„œ, components, ux writing, docs, branding ๋“ฑ์ด ํฌํ•จ๋œ ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์„ ๋œปํ•œ๋‹ค. ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ํ•„์š”์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋””์ž์ธ ๋ฐ ๊ฐœ๋ฐœ ์ž‘์—…์„ ๋Œ€๊ทœ๋ชจ๋กœ ์‹ ์†ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ณต์ œ ๊ฐ€๋Šฅ ๋” ํฌ.. 2023. 12. 18.
๊ตฌ๋ฆ„ํ†ค 8๊ธฐ ํ›„๊ธฐ (ํ”„๋ก ํŠธ์—”๋“œ) 0. ์ง€์›ํ•˜๊ธฐ ๋Œ€๋ถ€๋ถ„์˜ ์ง€์›์ž๋“ค์ด ๊ทธ๋ ‡๋“ฏ ์ธ์Šคํƒ€๊ทธ๋žจ ๊ด‘๊ณ ๋ฅผ ๋ณด๊ณ  ๊ตฌ๋ฆ„ํ†ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ž‘๋…„์— ํ•™ํšŒ ๋‚ด ํ•ด์ปคํ†ค์„ ๋‘ ์ฐจ๋ก€ ํ•ด๋ณด๋ฉฐ ๋‚˜๋ฆ„๋Œ€๋กœ ๋А๊ผˆ๋˜ ํ•ด์ปคํ†ค์˜ ์žฅ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค. - ์žฅ์  : ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๊ณ , ๊นƒ ํ˜‘์—…์„ ์—ฐ์Šตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. - ๋‹จ์  : ๋ฐค์„ ์ƒˆ๋‹ค ๋ณด๋‹ˆ ์ฒด๋ ฅ์ ์œผ๋กœ ํž˜๋“ค๊ณ , ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋‹ค ๋ณด๋‹ˆ ์ด ํ›„ ํŒ€์›๋“ค๊ณผ ๋ฆฌํŒฉํ„ฐ๋ง์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ์ฝ”๋“œ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ๋ง˜์— ๋“ค์ง€ ์•Š๋Š”๋‹ค. ์˜ฌ ํ•ด ๋‹ค์‹œ ํ•ด์ปคํ†ค์— ์ฐธ์—ฌํ•ด๋ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์ด์œ ๋Š”, ์ž‘๋…„์—” ๊ธฐ์ˆ ์ ์œผ๋กœ ๋ฏธ์„ฑ์ˆ™ํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜์ง€๋งŒ 1๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ์€ ๋‚ด ๋‚˜๋ฆ„๋Œ€๋กœ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์–ด๋А์ •๋„ ๋ฐ”๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ผ๊ณ  ์ƒ๊ฐ๋˜์–ด ํ•ด์ปคํ†ค์„ ํ†ตํ•ด ์‹ค๋ ฅ์„ ์ ๊ฒ€ํ•˜๊ณ , ์ฒ˜์Œ ๋ณด๋Š” ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์žฌ๋ฐŒ๊ณ  ์ƒˆ๋กœ์šด ํ˜‘์—…์„ ํ•˜๊ณ .. 2023. 12. 10.
[LeetCode] 2622. Cache With Time Limit Promise and Time ๋ฌธ์ œ Write a class that allows getting and setting key-value pairs, however a time until expiration is associated with each key. The class has three public methods: set(key, value, duration): accepts an integer key, an integer value, and a duration in milliseconds. Once the duration has elapsed, the key should be inaccessible. The method should return true if the same un-expired k.. 2023. 11. 13.
setTimeout(), setInterval() setTimeout() ๋งŒ๋ฃŒ๋œ ํ›„ ํ•จ์ˆ˜๋‚˜ ์ง€์ •ํ•œ ์ฝ”๋“œ ์กฐ๊ฐ์„ ์‹คํ–‰ํ•˜๋Š” ํƒ€์ด๋จธ๋ฅผ ์„ค์ •ํ•จ var timeoutID = setTimeout(function[, delay, arg1, arg2, ...]); function : ํƒ€์ด๋จธ๊ฐ€ ๋งŒ๋ฃŒ๋œ ๋’ค ์‹คํ–‰ํ•  ํ•จ์ˆ˜ delay : ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๊ธฐ๋‹ค๋ฆด ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„ ์‹œ๊ฐ„ arg1, ..., argN : ํ•จ์ˆ˜์— ์ „๋‹ฌํ•  ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ์„œ, ํ•จ์ˆ˜ ์Šคํƒ์˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๋ง‰์ง€ ์•Š๋Š”๋‹ค. setTimeout(() => { console.log("์ฒซ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€"); }, 5000); setTimeout(() => { console.log("๋‘ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€"); }, 3000); setTimeout(() => { console.log("์„ธ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€").. 2023. 11. 11.