2025.02.21 (๊ธ) Works 20์ผ ๊ตฌํ ์ผ์ ์ค์ ๋๋ฌด์ง ์ดํด๊ฐ ์ ๊ฐ ๋๊ฒผ๋ JWT ์ธ์ฆ API ์ฐ๊ฒฐ.JWT ์ธ์ฆ ์๋ฒ์ ํต์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค. JWT ๋ฆฌ์กํธ ์ฌํ ๊ฐ์ ์ค์ API ์ฐ๊ฒฐ์ ๊ดํ ๋ด์ฉ์ ์๊ฒ ๋์๋ค.JWT์ ๋ํด ์ดํดํ๋ ค๋ฉด 'ํ ํฐ'์ ๋จผ์ ์์์ผ ํ๋ค. ํ ํฐ์ด๋? ํด๋ผ์ด์ธํธ์์ ๋ณด๊ดํ๋ ์ํธํ ๋๋ ์ธ์ฝ๋ฉ๋ ์ธ์ฆ ์ ๋ณด์๋ฒ์ ์ํ๋ฅผ ์ ์งํ์ง ์๊ณ ๋ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ ์ํ๋ฅผ ํ์ธ ๊ฐ๋ฅ์ธ์ ์ฒ๋ผ ์๋ฒ์์ ์ฌ์ฉ์์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ณด๊ดํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ ๋ถ๋ด์ ์ค์ฌ์ฃผ๋ ์ธ์ฆ ์๋จ์น์์ ์ธ์ฆ ์๋จ์ผ๋ก ์ฌ์ฉ๋๋ ํ ํฐ์ ์ฃผ๋ก JWT (Json Web Token) ์ ์ด์ฉ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ์ฐ์ง๋ฐฉ์์ ๋ฐ๋ ํค๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ด์ฉ์๋ ํค๋ฅผ ๊ฐ์ง๊ณ ๊ณ๋๋ ์ฌ๋จน๊ณ , ์ํ๋ ์ฌ๋จน๊ณ ..
2025.02.20 (๋ชฉ) Works ์ด๊ธฐ ์ค์ ์ ์ํด ํ์ผ ๊ตฌ์กฐ ๋ฐ ์ปดํฌ๋ํธ๋ฅผ ๋๋์๋ค.์ด๋ฒ ๊ฐ์ธ ๊ณผ์ ๋ ์๊ตฌ ์กฐ๊ฑด์ด ์์ฃผ ์์ธํ๊ฒ ๋์์์ด์ ๊ผผ๊ผผํ ์ดํด๋ณด๊ณ ์ ์ฉํด์ผ ํ๋ค.ํด๋ ๊ตฌ์กฐ๋ ์๋ด ์ฌํญ๊ณผ ๊ฐ์ด ์ ์ฉํด๋ณด์๋ค. src/โโโ components/โโโ pages/โโโ api/โโโ data/โโโ utils/โโโ App.jsxโโโ main.jsxโโโ index.css๋๋ณด๊ธฐ๋๋ณด๊ธฐcomponents: ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์ปดํฌ๋ํธpages: ๊ฐ ํ์ด์ง ์ปดํฌ๋ํธ (Home, Login, Signup, Profile, TestPage, TestResultPage ๋ฑ)api: ์๋ฒ์ ํต์ ํ๋ ๋ก์ง (auth.js, testResults.js ๋ฑ)data: ์ ์ ๋ฐ์ดํฐ (questions.js - M..
๐ฃ FootPrint newsfeed ๋ฉ์ธ ํ๋ฉด ๋ฐ ์๋ ์์ Github ์ฃผ์: https://github.com/ijooha16/foot-print.git๋ฐฐํฌ ๋งํฌ : https://foot-print-six.vercel.app/ ๐ฅ๏ธ ํ๋ก์ ํธ ์๊ฐ'์ฌํ'์ ์ฃผ์ ๋ก ํ ๋ด์คํผ๋์ ๋๋ค.์ฌํ ๊ธฐ๋ก์ ๋ํ ๋ด ๊ฒ์๋ฌผ์ ํฌํจํ ๋ชจ๋ ๊ฒ์๋ฌผ์ ๋ณผ ์ ์๋ ๊ณต๊ฐ์ ๋๋ค.์ํ๋ ๊ฒ์๋ฌผ์ ๊ฒ์ํ ์ ์๊ณ , ์์ ์ด ์์ฑํ ๊ฒ์๋ฌผ์ ์์ ํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ต๋๋ค.styled-components๋ฅผ ์ด์ฉํ์ฌ ์คํ์ผ๋ง ํ์์ต๋๋ค.Context API๋ฅผ ํตํด ์ ์ญ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.react-router-dom์ผ๋ก ๋ผ์ฐํ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.BaaS(Backend As a System)- Supabase๋ฅผ ์ฌ์ฉ..
๋ด์ค ํผ๋๋? ๋ด ๊ฒ์๋ฌผ์ ํฌํจํ ๋ชจ๋ ๊ฒ์๋ฌผ์ ๋ณผ ์ ์๋ ๊ณต๊ฐ→ ๋ธ๋ก๊ทธ, ์ปค๋ฎค๋ํฐ, SNS ๋ชจ๋ ๋ ์ ์์ด์.์ฒซ ํ ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ .์ค๋ ํ๋ฃจ๋ ํ์๋ค๊ณผ ํจ๊ป ํ๋ก์ ํธ์ ๋ฐฉํฅ๊ณผ ๊ฐ์์ ์ญํ ์ ์ ํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. 2025.02.12 (์) Works1. S.A(Starting Assignments) ์ ํ๊ธฐ- ํ๋ก์ ํธ ์ฃผ์ - ํฌํจํ ๋ด์ฉ- ๊ตฌ์ฑ- ๊ธฐ๋ฅ2. ์์ด์ดํ๋ ์ ์์ฑ - ํผ๊ทธ๋ง- ํ์ด์ง ์ ํ๊ธฐ- ํ์ด์ง ๊ตฌ์ฑํ๊ธฐ- ์ ๋ณด ๊ตฌ์กฐ ์ค๊ณ๋3. ํ ๊ท์น ์ ํ๊ธฐ - ์ปค๋ฐ ์ปจ๋ฒค์ - git rules4. ๋์ ์ญํ ํ์ ํ๊ธฐ S.A(Starting Assignments) ๐ํ๋ก์ ํธ ์ฃผ์ ์ฒซ ํ์๋ค์ด ๋ชจ์์ ๋ ๋ชจ๋ ์ฌํ์ ์ข์ํ๋ค๋ ๊ณตํต์ ์ ์ฐพ์๋ค.๊ทธ๋ ๊ฒ ์ ํด์ง ์ฐ๋ฆฌ ํ๋ช ์ ์ฌํ๋ณด๋ด์กฐโ๏ธ๋ฐ๋ผ์ ํ๋ก์ ํธ..
๋จ๋ฆฌ๋ ์ฒซ ํ๋ก์ ํธ!ํ ๋น vscode์์ ์ต์ข ์ผ๋ก ์ํํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ๊น์ง!๊ธฐ์ด์ ์ธ ํ์ ๊ธฐ๋ฅ๊ณผ ์ถ๊ฐ์ ์ธ ๋์ ๊ธฐ๋ฅ์ด ์๋ค. ์ฐ์ ํ์ ๊ธฐ๋ฅ๋ถํฐ ๋ค ๊ตฌํํ๋ ๊ฒ์ ๋ชฉํ๋ก๐ 1์ 8์ผ์ ๊ณผ์ 1. ํ๋ก์ ํธ ํ์ผ ๊ตฌ์กฐ ์ค์ 1-1. js, html, css ํ์ผ ์์ฑ๊ณผ์ ์งํ ์ , ๋ด๋น ํํฐ๋๊ป์ ์๋ ค์ฃผ์ ๋ฐฉ์์ ์บก์ณํด ๋์๊ณ ๋์ผํ ๋ฐฉ์์ผ๋ก ํ์ผ์ ๋ฐ๋ก๋ฐ๋ก ๋ง๋ค์๋ค. ๐ ๊ทธ ์ ์๋ html์ ํ๊ทธ, ํ๊ทธ๋ฅผ ๋ฃ์ด ํ ๋ฌธ์๋ก ๋ง๋ค์์ง๋ง์ดํ ์์ ๋ฐ ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ด, ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ฉด ํจ์ฌ ํธํ๋ค! 1-2. js, html, css ํ์ผ ์ฐ๊ฒฐ์ธ ํ์ผ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด์๋ html ํ์ผ์ ์์ฑํด์ผ ํ๋ค.๊ฒฐ๊ตญ ์น ์ฌ์ดํธ๋ฅผ ๊ฑฐ์์ ์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ html ํ์ผ์ด๊ธฐ ๋๋ฌธ!๐ body ํ๊ทธ ํ๋จ์..
๐ ์ฌ๋ฆผํฝ ๋ฉ๋ฌ ๊ฐ์ ํธ๋์ปค ๋ฉ์ธ ํ๋ฉด ๋ฐ ์๋ ์์ โน๏ธํ๋ก์ ํธ ์ ๋ณดโ๏ธ ๊ธฐ๊ฐ : 2025๋ 1์ 21์ผ ~ 1์ 24์ผโ๏ธ๊ธฐ์ ์คํ : React, Vite๋ชฉํ ๋ฐ ๊ตฌํํ ๊ธฐ๋ฅโ Vite๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์ ์ โ ๋๋ผ ์ด๋ฆ๊ณผ ๊ธ, ์, ๋ ๋ฉ๋ฌ ์๋ฅผ ์ ๋ ฅํ ์ ์๋ ํผ ์์ฑโ ํผ ์ ์ถ ๋ฒํผ์ ๋๋ ์ ๋ ์๋ก์ด ๋๋ผ์ ๋ฉ๋ฌ ์๊ฐ ์ถ๊ฐโ ์ ์ถ ํ ๋ชจ๋ ์ ๋ ฅ ํ๋๋ ๋น ๊ฐ์ผ๋ก ์ด๊ธฐํโ CRUD(Create, Read, Update, Delete) ๊ธฐ๋ฅโ Create: ํผ ์ ์ถ ์ ์๋ก์ด ๋๋ผ์ ํด๋น ๋ฉ๋ฌ ์๋ฅผ ๋ฆฌ์คํธ์ ์ถ๊ฐโ Read: ํ๋ฉด์ ๊ตญ๊ฐ๋ณ ๋ฉ๋ฌ ์ง๊ณ๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ์ถ๋ ฅโ Update: ์ด๋ฏธ ์ถ๊ฐ๋ ๊ตญ๊ฐ์ ๋ฉ๋ฌ ์๋ฅผ ์์ ํ ์ ์๋ ๊ธฐ๋ฅโ Delete: ๋ฆฌ์คํธ์ ํ์๋ ๋๋ผ ์์ ์ญ์ ๋ฒํผ์ ..
๐ฅ์ํ ๊ฒ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐ โน๏ธํ๋ก์ ํธ ์ ๋ณดโ๏ธ ๊ธฐ๊ฐ : 2025๋ 1์ 8์ผ ~ 1์ 17์ผโ๏ธ๊ธฐ์ ์คํ : JavaScript, HTML, CSS๋ชฉํ ๋ฐ ๊ตฌํํ ๊ธฐ๋ฅโ TMDB API์์ ์ธ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐโ TMDB์ API ํค๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ , fetch API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐโ HTML๊ณผ CSS๋ฅผ ์ฌ์ฉํด ์ํ ์นด๋ UI๋ฅผ ๋ง๋ญ๋๋ค. ์ํ ์นด๋์๋ ์ํ์ ํฌ์คํฐ, ์ ๋ชฉ, ์์ฝ, ํ์ ์ ๋ณด๊ฐ ํฌํจโ Flexbox ๋๋ Grid ๋ ์ด์์์ ์ฌ์ฉํด ์คํ์ผ๋ง์ ์ ์ฉํโ ๊ฒ์์ฐฝ์ ๋ง๋ค๊ณ , ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํค์๋์ ๋ง์ถฐ ์ํ ๋ฆฌ์คํธ๋ฅผ ํํฐ๋งโ ๊ฒ์ ๋ฒํผ์ ํด๋ฆญํ๊ฑฐ๋ Enter ํค๋ฅผ ์ ๋ ฅํ๋ฉด ํด๋น ํค์๋๋ฅผ ํฌํจํ ์ํ๋ค๋ง ๋ฆฌ์คํธ์ ๋ํ๋ด๊ธฐโ ๊ฐ ์ํ ์นด๋๋ฅผ ํด๋ฆญํ์ ๋, ์ํ์ ์์ธ ์ ๋ณด(์:..