Dev 10

[FE] ๋ชจ๋ฐ”์ผ ์ฒญ์ฒฉ์žฅ - ๋ฉ”ํƒ€ ํƒœ๊ทธ, ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

์นด์นด์˜คํ†ก์œผ๋กœ ๊ณต์œ ๋ฅผ ํ–ˆ์„ ๋•Œ ๋‹จ์ˆœํ•œ ์›น ๋งํฌ ๊ณต์œ ๊ฐ€ ์•„๋‹Œ.. ์•„๋ž˜์™€ ๊ฐ™์ด ์ „๋ฌธ ์ฒญ์ฒฉ์žฅ ์—…์ฒด์ฒ˜๋Ÿผ ์˜ˆ์œ ์ธ๋„ค์ผ ํ˜•ํƒœ๋กœ ๊ณต์œ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋žฌ๋‹ค.์ฒ˜์Œ์—๋Š” meta ํƒœ๊ทธ ์„ค์ •์„ ํ•ด์ค˜์•ผ๋๋‚˜ ์‹ถ์–ด์„œ ์ฐพ์•„๋ดค์ง€๋งŒ ์•„๋ฌด๋ฆฌ ํ•ด๋„ ์ €๋Ÿฐ ํ˜•์‹์œผ๋กœ๋Š” ๋˜์ง€ ์•Š์•˜์—ˆ๋‹ค. ๋‚ด๊ฐ€ ์„ค์ •ํ•œ ๋ฉ”ํƒ€ ํƒœ๊ทธ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ด ์„ค์ •์„ ํ†ตํ•ด ๋งํฌ๋ฅผ ๋ณต๋ถ™ํ•˜๋Š” ๊ฒฝ์šฐ, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. 1. ๋ฉ”ํƒ€ ํƒœ๊ทธ๋ž€?๋ฉ”ํƒ€ ํƒœ๊ทธ๋Š” ์›นํŽ˜์ด์ง€ ์ž์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” HTML ํƒœ๊ทธ ๋‚ด๋ถ€์˜ ์ •๋ณด๋กœ, ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ์š”์•ฝํ•ด์ฃผ๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ๊ฐ™์€ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ๊ฒ€์ƒ‰ ์—”์ง„์ด๋‚˜ SNS์— ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ OG, Twitter meta๋Š” SNS ๊ณต์œ ์šฉ์ด๋‹ค. ์ด ํƒœ๊ทธ๋“ค์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•ด๋‘๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•ด ์นด์นด์˜คํ†ก, ํŽ˜์ด์Šค๋ถ, ํŠธ์œ„ํ„ฐ ๋“ฑ์— ๋ถ™์—ฌ๋„ฃ..

Dev 2025.06.16

[FE] ๋ชจ๋ฐ”์ผ์ฒญ์ฒฉ์žฅ ๊ฐœ๋ฐœ - Naver Maps API ๊ตฌํ˜„

Naver Maps API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›น๋ทฐ์— ์‚ฝ์ž…ํ•˜๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•ด๋ณด๊ฒ ๋‹ค! 1. Application ๋“ฑ๋ก ๋ฐ API Key ๋ฐœ๊ธ‰๋ฐ›๊ธฐhttps://console.ncloud.com/dashboard ์— ์ ‘์†ํ•ด์„œ ๋กœ๊ทธ์ธ ํ›„ Maps๋กœ ์ด๋™ํ•œ๋‹ค.๊ฒฝ๋กœ: [Services] → [Application Services] → [Maps] ์—ฌ๊ธฐ์„œ [Application ๋“ฑ๋ก] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  Appication ๋“ฑ๋ก์„ ํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ, ์˜ต์…˜์ด ๋„ˆ๋ฌด๋งŽ๋‹ค..https://api.ncloud-docs.com/docs/ko/application-maps-overview๊ทธ๋ ‡์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ์— ๋„ˆ๋ฌด๋‚˜๋„ ์ž์„ธํžˆ ์ž˜ ์„ค๋ช…๋˜์–ด์žˆ์Œ ใ…Ž ๋‚˜๋Š” ์ง€๋„ ํ™•๋Œ€/์ถ•์†Œ ๋ฐ ๋“œ๋ž˜๊ทธ๊ฐ€ ๊ฐ€๋Šฅํ•œ Dynamic Map๊ณผ ์ขŒํ‘œ๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฃผ..

Dev 2025.06.11

[FE] ๋ชจ๋ฐ”์ผ์ฒญ์ฒฉ์žฅ ๊ฐœ๋ฐœ - Dday ๊ธฐ๋Šฅ ๊ตฌํ˜„

ํšŒ์‚ฌ ์ผ์ด ๋„ˆ๋ฌด ๋ฐ”๋น ์„œ ์ด์ œ์•ผ ์˜ฌ๋ฆฌ๋Š” 2์ผ์ฐจ ... ๋‹ด์ฃผ๊นŒ์ง€ ๋งŒ๋“ค์–ด์•ผ๋˜๋Š”๋ฐ ํฐ์ผ๋‚จ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰์‚ฌํ•ญ์€.. ์‹œ๊ฐ„๋‚ ๋•Œ๋งˆ๋‹ค ์ „์ฒด์ ์ธ UI๋ฅผ ํผ๋ธ”๋ฆฌ์‹ฑํ•˜๊ณ , ๊ฐ ์š”์†Œ๋ฅผ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š”๊ฑธ ๊ฐ€์žฅ ์‹ ๊ฒฝ์ผ๋‹ค.๊ทธ๋ฆฌ๊ณ  2์ผ์ฐจ ๊ธฐ๋Šฅ์œผ๋กœ๋Š” ๋””๋ฐ์ด๋ฅผ ์นด์šดํŒ…ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ•„์š” ๊ธฐ๋Šฅ๋…ธ๋ž˜ ๋„ฃ๊ธฐ๋‹ฌ๋ ฅ๋””๋ฐ์ด์‚ฌ์ง„์•ฝ๋„์ง€๋„ ์—ฐ๋™๋ฐฉ๋ช…๋ก์ฐธ์„์˜์‚ฌ์ฒดํฌ ๊ธฐ๋Šฅ (new!) ๋””๋ฐ์ด ๊ธฐ๋Šฅ ๊ตฌํ˜„WeddingDate๋Š” ๊ฒฐํ˜ผ ๋‚ ์งœ๋ฅผ ๊ณ ์ •ํ•ด๋‘๊ณ , ํ˜„์žฌ ์‹œ๊ฐ๊ณผ์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ด UI์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‚จ์€ ๋‚ ์งœ/์‹œ๊ฐ„์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ Œ๋”๋งํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ Date ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋‚ ์งœ๋ฅผ ์ง์ ‘ ํ• ๋‹นํ–ˆ์ง€๋งŒ VSC์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ๋–ด๋‹ค.์ฐพ์•„๋ณด๋‹ˆ ๋งค ๋ Œ๋”๋ง๋งˆ๋‹ค WeddingDate๊ฐ€ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— useEffect ๋‚ด์˜ ์‹œ๊ฐ„์ฐจ๋ฅผ..

Dev 2025.05.19

[FE] ๋ชจ๋ฐ”์ผ์ฒญ์ฒฉ์žฅ ๊ฐœ๋ฐœ - ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ • (Vite, React, TypeScript)

๋‹ค๊ฐ€์˜ค๋Š” ์นœ๊ตฌ ๊ฒฐํ˜ผ์‹์— ๋ชจ์ฒญ์„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ๋กœ ํ–ˆ๋‹ค~! ์ด์™• ๋งŒ๋“œ๋Š”๊ฑฐ ๋‚ด๊ฐ€ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜๊ฑฐ ๋ง˜๊ป ์จ๋ณด๋ ค๊ณ  ๊ธฐ๋กํ•ด๋‘”๋‹ค. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐฉ๋ช…๋ก ๊ธฐ๋Šฅ๋•Œ๋ฌธ์— ๋ฐฑ์—”๋“œ๋Š” ์–ด๋–ป๊ฒŒ ํ• ์ง€ ๊ณ ๋ฏผ...์ผ๋‹จ ํ”„๋ก ํŠธ์—”๋“œ๋Š” Vite + React + TS + Tailwind CSS๋กœ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ด๋‹ค.์‚ฌ์‹ค ๊ฑฐ์˜ ์ •์  + ๋‹จ์ผ ํŽ˜์ด์ง€์—ฌ์„œ ๋ฐ”๋‹๋ผ JS๋กœ ํ• ๊นŒ ํ•˜๋‹ค๊ฐ€.. ๊ทธ๋ž˜๋„ ํ‰์†Œ์— TypeScript๋ฅผ ์ž˜ ์•ˆ๋‹ค๋ค„๋ด์„œ ์จ๋ณด๋ฉด์„œ ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ํ•„์š” ๊ธฐ๋Šฅ๋…ธ๋ž˜ ๋„ฃ๊ธฐ๋‹ฌ๋ ฅ๋””๋ฐ์ด์‚ฌ์ง„์•ฝ๋„์ง€๋„ ์—ฐ๋™๋ฐฉ๋ช…๋ก ํ™˜๊ฒฝ ์„ค์ •1. vite๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊นƒํ—ˆ๋ธŒ๋ฅผ ๋‘˜๋Ÿฌ๋ณด๋‹ˆ ๋‚ด๊ฐ€ ํ•™๊ต๋‹ค๋…”์„ ๋•Œ๋Š” ๊ฑฐ์˜ CRA๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์š”์ฆ˜์€ vite๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. Vite๋Š” ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›Œ์„œ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„..

Dev 2025.05.09

[DB] DB์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• - ์•”ํ˜ธํ™”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•  ๋•Œ, ๋‹จ์ˆœํžˆ ํ‰๋ฌธ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹๋ณด๋‹ค ๋ณด์•ˆ์ ์œผ๋กœ ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์กด์žฌํ•œ๋‹ค.1. ํ‰๋ฌธํ‰๋ฌธ์€ ์•„๋ฌด๋Ÿฐ ๊ฐ€๊ณต ์—†์ด ์‚ฌ๋žŒ์ด ๋ฐ”๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์˜ ๋ฐ์ดํ„ฐ์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด 'password12'๋ผ๋Š” ๋ฌธ์ž์—ด์ด ๊ทธ๋Œ€๋กœ DB์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ˆ„๊ตฐ๊ฐ€ DB๋ฅผ ํƒˆ์ทจํ•˜๊ธฐ๋งŒ ํ•ด๋„ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ฐ”๋กœ ์œ ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์ƒ ๊ฐ€์žฅ ์œ„ํ—˜ํ•˜๋‹ค.์‚ฌ์‹ค์ƒ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. 2. ํ•ด์‹ฑ๊ณผ ์•”ํ˜ธํ™”๋Œ€๊ฐœ๋Š” ํ•ด์‹ฑ๊ณผ ์•”ํ˜ธํ™”๋ฅผ ํ†ต์šฉํ•ด์„œ ๋งํ•˜์ง€๋งŒ ๋ณด์•ˆ์  ๊ด€์ ์—์„œ๋Š” ํ•ด์‹œ๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ๋‹ค.๋‘ ๊ฐœ๋…์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๋ฐฉํ–ฅ์„ฑ์— ์žˆ๋‹ค.ํ•ด์‹ฑ(Hashing): ๋‹จ๋ฐฉํ–ฅ. ์ž…๋ ฅ๊ฐ’์œผ๋กœ๋ถ€ํ„ฐ ํ•ด์‹œ๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ํ•ด์‹œ๊ฐ’๋งŒ์œผ๋กœ ์›๋ž˜ ๊ฐ’์„ ๋ณต๊ตฌํ•  ์ˆ˜๋Š” ์—†๋‹ค.์•”ํ˜ธํ™”(Encryption): ..

Dev 2024.12.30