๋ชฉ๋ก2024/01 (5)

ram2 ๐Ÿš—

[netlify] react ํ”„๋ก ํŠธ ์›น ๋ฐฐํฌํ•˜๊ธฐ

react๋กœ ๋งŒ๋“  ํ”„๋ก ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด netlify๋ฅผ ๊ฐ€์ž…ํ•˜๊ณ , ๊นƒํ—ˆ๋ธŒ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๋™ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ, ์ž๊พธ ์•Œ ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๋“ค์ด ๋œจ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋‚˜๋Š” react๋ฅผ ์ž˜ ์•Œ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ญ˜ ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ์‹œํ–‰์ฐฉ์˜ค๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๐Ÿป build ํด๋” ์ƒ์„ฑํ•˜๊ธฐ npm run build ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ž๋™์œผ๋กœ build ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. ๐Ÿป Failed during stage "Reading and parsing configuration files": When resolving config: Base directory does not exist: /opt/build/repo/velog_front ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ ํ•ด๋‹น ์—๋Ÿฌ๋Š” ๋‚˜์˜ ์‹ค์ˆ˜๋กœ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์˜€๋‹ค. ๊นƒํ—ˆ๋ธŒ..

๐Ÿ’ป else 2024. 1. 29. 00:33
[Swift] didSet ์ด๋ž€?

didSet์„ ์–ด์ฉŒ๋‹ค ๋งŒ๋‚˜๊ฒŒ ๋๋ƒ๋ฉด, ๋‚ด๊ฐ€ ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” iOS ์Šคํ„ฐ๋””์—์„œ ๋งก์€ ํŒŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋‹ค ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. ํ™”์‚ดํ‘œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋‚ ์งœ๋ฅผ ๋ฐ”๊พผ๋‹ค. 2. ๋‚ ์งœ๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค data filter์˜ ๊ธฐ์ค€ ๋‚ ์งœ๋ฅผ ์„ ํƒ๋œ ๋‚ ์งœ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. 3. ๋ฐ”๋€ filter์˜ ๋‚ ์งœ์— ๋”ฐ๋ผ ์ด์— ๋งž๊ฒŒ filtering ๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค. ์ด๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ธฐ๊ณ , ํ™”๋ฉด์„ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •์—์„œ ์ƒ๊ฐ๋‚œ ๊ฒƒ์€ delegate ๋ฐ–์— ์—†์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ๋„, ํ™”๋ฉด์ด ๋‹ค์‹œ ๊ทธ๋ ค์ง€์ง€๋Š” ์•Š์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์•Œ๊ฒŒ ๋œ ๊ฒƒ์ด didSet์ด๋‹ค. didSet์ด๋ž€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ•˜๋ฉด, ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์ด ์ƒˆ๋กœ ์„ค์ •๋œ ํ›„ ํ˜ธ์ถœ๋˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ฆ‰, ๊ฐ’์ด ๋ฐ”๋€Œ๊ณ  ์ด์— ๋Œ€ํ•ด ํ™”๋ฉด์„ ๋‹ค์‹œ ๊ทธ๋ ค์ค˜์•ผ ํ•˜๋Š” ๋‚˜์—..

๐ŸŽ Swift 2024. 1. 18. 15:42
[react] dropdown ๋งŒ๋“ค๊ธฐ (์•„์ด์ฝ˜, ๋“œ๋กญ๋‹ค์šด)

์ด์ „์— react์—์„œ ์ œ๊ณตํ•˜๋Š” dropdown ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ํ•œ ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ์ด๋ฒˆ์— ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๋“œ๋กญ๋‹ค์šด์€ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ปค์Šคํ…€ํ•ด์„œ๋Š” ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์•ฝ 20๋ถ„์ •๋„ ํ•ด๋ณด๊ณ  ์•ˆ๋˜๋‹ˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๊ฑด, ์•„์ด์ฝ˜์„ ๋ˆŒ๋ €์„ ๋•Œ ๋“œ๋กญ๋ฐ•์Šค๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด์—ˆ๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„๋ดค์œผ๋‚˜, ๊ตฌ๋…์„ ํ•˜๊ฑฐ๋‚˜ ๋ˆ์„ ๋‚ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ๊ณ ๋ฏผ ๋์— ๊ทธ๋ƒฅ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋Œ€๋žต์ ์ธ ์ƒ๊ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. ์•„์ด์ฝ˜ ๋ฒ„ํŠผ์„ ์ƒ์„ฑํ•œ๋‹ค. 2. ๋ฒ„ํŠผ์„ ํด๋ฆญ ํ–ˆ์„ ๋•Œ dropdown์„ ๋ณด์—ฌ์ค€๋‹ค. 3. dropdown ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ๊ฐ list์— ๋ผ์šฐํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•ด ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™์‹œํ‚จ๋‹ค. 1. ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ์ƒ์„ฑํ•˜๊ธฐ ์ด๋ถ€๋ถ„์€ ์™„์ „ํ•œ ui ์˜์—ญ์ด๊ธฐ์— ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ..

๐Ÿ–ฅ๏ธ react 2024. 1. 17. 15:11
[react] react-dropdown ์ปค์Šคํ…€ ํ•˜๊ธฐ

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

๐Ÿ–ฅ๏ธ react 2024. 1. 15. 00:05