์ ์ฒด ๊ธ
-
- [Node.js] Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌNodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐNode.js ํ๊ฒฝ์์ ๋ฉ์ผ์ ๊ฐ๋จํ๊ฒ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Nodemailer ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋ Node.js ํ๊ฒฝ์์ ์ด๋ฉ์ผ์ ์ฝ๊ฒ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋จํ ์ค์ ์ผ๋ก SMTP, OAuth2 ๋ฑ์ ํ์ฉํ ์ด๋ฉ์ผ ์ ์ก์ ํ ์ ์๋ค.ํ ์คํธ์ HTML ํ์์ ์ด๋ฉ์ผ, ์ฒจ๋ถ ํ์ผ ์ ์ก ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.์คํ ์์ค๋ก ๊ด๋ฆฌ๋๊ณ ์๋ค. ์ฃผ์ ํน์งSMTP, OAuth2, AWS SES, SendGrid ๋ฑ ๋ค์ํ ์ด๋ฉ์ผ ์๋น์ค ์ง์์ด๋ฉ์ผ ๋ณธ๋ฌธ์ ์ผ๋ฐ ํ ์คํธ ๋๋ HTML ํ์์ผ๋ก ์์ฑ ๊ฐ๋ฅ์ด๋ฏธ์ง, ๋ฌธ์ ๋ฑ ํ์ผ ์ฒจ๋ถ ๊ฐ๋ฅ๊ธฐ๋ณธ ์ธ์ฆ ์ธ์๋ OAuth2๋ฅผ ์ง์ํ์ฌ ๋ณด์์ฑ ๊ฐํ์ด๋ชจํฐ์ฝ์ด๋ ๋ค..
2024.11.26 -
- [JavaScript] EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌEmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๊ฐํธํ๊ฒ ํ์๊ฐ์ ์ผ๋ก ๋ฌด๋ฃ๋ก ์ 200๊ฑด๊น์ง ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. EmailJS๊ฐ๋ ์ฌ์ฉ์๊ฐ ์๋ฒ ์์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค์ฌ์ฉ์๋ ๋ฐฑ์๋ ์ค์ ์์ด ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์๋ค.SMTP ์๋ฒ๋ฅผ ํ์ฉํ์ฌ ์ด๋ฉ์ผ์ ์ ์กํ๋ฉฐ, Gmail, Outlook ๋ฑ์ ์ด๋ฉ์ผ ์๋น์ค๋ฅผ ์ง์ํ๋ค. ์ฃผ์ ํน์งํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ง์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์์ด ๋ฐฑ์๋๊ฐ ํ์์๋ค.Gmail, Yahoo, Outlook ๋ฑ ์ฌ๋ฌ ์๋น์ค์ ํธํ๋๋ค.์ฌ์ฉ์ ์ ์ ํ ํ๋ฆฟ์ ๋ง๋ค์ด ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ค.์ ์ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ฉฐ API ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ์ฒ๋ฆฌํ๋ค.๋ช ์ค์ ์ฝ๋๋ง์ผ๋ก..
2024.11.26 -
- [React Native] Expo CLI vs. React Native CLIExpo CLI vs. React Native CLI๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ(React Native) ํ๋ก์ ํธ ์์ฑ ๋ฐฉ๋ฒ์ผ๋ก Expo CLI ์ React Native CLI ๋ฐฉ๋ฒ 2๊ฐ์ง๊ฐ ์๋ค.์ด ๋ ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณธ๋ค. Expo CLI๊ฐ๋ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉ๋๋ ๋๊ตฌํ๋ก์ ํธ ์์ฑ, ๊ด๋ฆฌ, ์คํ์ ๊ฐ๋จํ๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค(Command Line Interface)๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ถ์ฅ๋๋ ์ ๊ทผ ๋ฐฉ์ ์ ํ๋ก์ ํธ ์์ฑํ๊ธฐ$ npx create-expo-app@latest # ์ ํ๋ก์ ํธ ์์ฑ ์ฃผ์ ํน์ง๊ธฐ๋ณธ ํ ํ๋ฆฟ์ ์ ๊ณตํ์ฌ ์ด๊ธฐ ์ค์ ์์ด ๋ฐ๋ก ์ฑ ๊ฐ๋ฐ ์์ ๊ฐ๋ฅ์นด๋ฉ๋ผ, ์์น ์ ๋ณด, ํธ์ ์๋ฆผ ๋ฑ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ..
2024.11.25 -
- [Git] ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐGit ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ํ๋ก์ ํธ์ ์๊ฒฉ(Remote) ์ ์ฅ์ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒํ์ฌ ์๊ฒฉ ์ ์ฅ์์ฃผ์ ํ์ธํ๊ธฐํ์ฌ ํ๋ก์ ํธ์ ์ฐ๊ฒฐ๋ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์๋ฅผ ํ์ธํ๋ค.$ git remote -vorigin https://github.com/old-user/old-repo.git (fetch)origin https://github.com/old-user/old-repo.git (push) ํ์ฌ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์ ๋ณ๊ฒฝํ๊ธฐ@set-url@ ์ต์ ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.$ git remote set-url origin ์ฌ์ฉ ์$ git remote set-url origin https://github.com/new-user..
1 2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 1์ ํ ์ํ ์ค๋น์ 1์ ํ ์ํ ์ค๋น๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 1์ ํ ์ํ ์ค๋น๋ฅผ ์ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค.์ 1์ ํ์ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ด์ฉ์ด ํฌํจ๋๋ค.์ 2ํ ~ ์ 8ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ์ ํ์ด ๋ฐฉ๋ฒ์ ํจ๊ป ์ ๋ฆฌํ์๋ค. ๋ฌธ์ ๐ ๋ฌธ์ 1 (21๋ 2ํ)BostonHousing ๋ฐ์ดํฐ@crim@ ํญ๋ชฉ์ ์์์์ 10๋ฒ์งธ ๊ฐ(์์ 10๊ฐ์ ๊ฐ ์ค์์ ๊ฐ์ฅ ์์ ๊ฐ)์ผ๋ก ์์ 10๊ฐ์ ๊ฐ์ ๋ณํํ๊ณ , @age@๊ฐ 80 ์ด์์ธ ๊ฐ์ ๋ํ์ฌ @crim@์ ํ๊ท ๊ตฌํ๊ธฐ์์์ ์ ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํด์ ์์์ ๋์งธ ์๋ฆฌ๋ก ์ถ๋ ฅํ๊ธฐimport numpy as npimport pandas as pddf = pd.read_csv('./datasets/data_q1.csv')# 'crim' ํญ๋ชฉ์ ์์ 10๋ฒ์งธ ๊ฐ ๋ฝ๊ธฐtop10_value..
2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] help(), dir() ํ์ฉํ๊ธฐhelp(), dir() ํ์ฉํ๊ธฐ๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ฅ์์ ํน์ ํจ์๋ช ์ด๋ ํจ์์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์์ด๋ฒ๋ ธ์ ๊ฒฝ์ฐ, @help()@ ๋๋ @dir()@ ํจ์๋ฅผ ์ด์ฉํ์ฌ ํ์ธํ ์ ์๋ค.์ด์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ0๏ธโฃ ์ฐธ๊ณ ์ฌํญ@help()@ ๋๋ @dir()@ ํจ์์ ์ธ์์ ๋ฃ์ ๋์์ ์ฐ์ @import@ ํด์ค์ผ ํ๋ค.import sklearn # (1) ํ์ธํ๊ณ ์ ํ ๋์ ๋ถ๋ฌ์ค๊ธฐprint(help(sklearn)) # (2) ์ฌ์ฉ ๋ฐฉ๋ฒ ํ์ธprint(dir(sklearn)) # (3) ์์ฑ/๋ฉ์๋ ๋ชฉ๋ก ํ์ธ 1๏ธโฃ help() ํจ์ ์ฌ์ฉํ๊ธฐ๊ฐ์ฒด, ๋ชจ๋, ํจ์, ํด๋์ค ๋ฑ์ ๋ํ ๋์๋ง ๋ฌธ์(docstring)๋ฅผ ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ @help()@ ํจ์๋ฅผ ์ฌ์ฉ..
2024.11.25 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] corr() ํจ์์ numeric_only ์ต์ corr() ํจ์์ numeric_only ์ต์ ๋ค์ด๊ฐ๋ฉฐํ๋ค์ค(Pandas) 2.0.0 ๋ฒ์ ๋ถํฐ @corr@ ํจ์์ @numeric_only@ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ด @False@๋ก ๋ณ๊ฒฝ๋์๋ค.์ด์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. ์ค๋ช ํ๋ค์ค(Pandas) 2.0.0 ๋ฒ์ ๋ถํฐ @corr@ ํจ์์ @numeric_only@ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ด @False@๋ก ๋ณ๊ฒฝ๋์๋ค.์ด์ ๋ฒ์ ์๋ ๊ธฐ๋ณธ๊ฐ์ด @True@๋ก ์ค์ ๋์ด ์์ด์, ์ด ์ต์ ์ ๋ฐ๋ก ๋ฃ์ด์ฃผ์ง ์์๋ ๋์๋ค.๋ฐ๋ผ์ ํ๋ค์ค 2.0.0 ์ด์ ๋ฒ์ ์ด ์ ์ฉ๋ ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ํ 9ํ์ฐจ๋ถํฐ @corr@ ํจ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, @numeric_only=True@ ์ต์ ์ ๋ฐ๋์ ์ง์ ํด์ค์ผ ํ๋ค.import pandas as pddf = pd.read_csv("data/Titani..
2024.11.25 -
- [React.js] React Hook Form ๋ผ์ด๋ธ๋ฌ๋ฆฌReact Hook Form ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js) ์ ํ๋ฆฌ์ผ์ด์ ์์ ํผ(Form)์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ React Hook Form์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. React Hook Form๊ฐ๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํผ(Form)์ ์ํ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋จํ๊ณ ํจ์จ์ ์ด๋ฉฐ ํผํฌ๋จผ์ค๊ฐ ๋ฐ์ด๋๋ค.๋ฆฌ์กํธ์ ํ (Hook)์ ํ์ฉํ์ฌ ์ฌ์ฉํ๋ฉฐ, ํผ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ ํจ์ฑ ๊ฒ์ฆ(Validation) ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. React Hook Form - performant, flexible and extensible form libraryPerformant, flexible and extensible forms with easy-to-use validation.react-..
2024.11.23 -
- [Python] loc, iloc ์ฐจ์ด์ ๋น๊ต (Pandas)loc, iloc ์ฐจ์ด์ ๋น๊ต (Pandas)๋ค์ด๊ฐ๋ฉฐํ๋ค์ค(Pandas)์ @loc@๊ณผ @iloc@ ํจ์์ ์ฐจ์ด์ ์ ์ ๋ฆฌํด๋ณธ๋ค.๋ ํจ์๋ ํ๋ค์ค์ ๋ฐ์ดํฐํ๋ ์(DataFrame) ๊ฐ์ฒด์์ ์ฌ์ฉํ ์ ์๋ค. loc ํจ์๊ฐ๋ ๋ผ๋ฒจ ๊ธฐ๋ฐ(Label-based) ์ธ๋ฑ์ฑ ๋ฐฉ์ํ๊ณผ ์ด์ ์ด๋ฆ ๋๋ ๋ผ๋ฒจ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ค.์ฌ๋ผ์ด์ฑ์ ํ ๋, ๋๊ฐ๋ ํฌํจ๋๋ค. (@[a, b]@) ์ฌ์ฉ ์์ ์ฝ๋import pandas as pddata = { 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])""" ์ถ๋ ฅ ๊ฒฐ๊ณผ A B Crow1 1 4 7row..
2024.11.22 -
- [Next.js] Hydration ์๋ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ (Next.js 15)Hydration ์๋ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ (Next.js 15)๋ค์ด๊ฐ๋ฉฐNext.js 15์์ ์์ฑํ ํ๋ก์ ํธ์์ ์๋์ ๊ฐ์ Hydration ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.Console ErrorHydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used- A server/client branch 'if (typeof window !== 'undefined')'.- Variable input such as 'Date.now()' ..
2024.11.21 -
- [Service] Auth0Auth0๋ค์ด๊ฐ๋ฉฐ์ธ์ฆ(Authentication) ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ๋์์ฃผ๋ Auth0 ์๋น์ค์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค.์ด ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด, ์์ ๋ก๊ทธ์ธ ๋ฑ ์ธ์ฆ์ ์ํ ๊ธฐ๋ฅ๋ค์ ์ง์ ์ฝ๋๋ก ๊ตฌํํ์ฌ ๋ง๋ค์ด์ฃผ์ง ์์๋ ๋๋ค. Auth0๊ฐ๋ ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ณ ์์ ํ๊ฒ ๊ตฌํํ ์ ์๋๋ก ์ง์ํ๋ ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ ํ๋ซํผ๊ฐ๋ฐ์๋ Auth0๋ฅผ ์ด์ฉํ์ฌ ๋ณต์กํ ์ธ์ฆ ์์คํ ์ ์ง์ ๊ฐ๋ฐํ์ง ์์๋ ๋๊ณ , ๋ค์ํ ์ธ์ฆ ๋ฐฉ์์ ์ฝ๊ฒ ํตํฉํ ์ ์๋ค. ์ฃผ์ ํน์ง๋ค์ํ ์ธ์ฆ ๋ฐฉ์ ์ง์์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ์์ ๋ก๊ทธ์ธ (Google, Facebook, GitHub, Twitter ๋ฑ)๋ค์ค ์ธ์ฆ(Multi Factor Authentication)SSO(Single Sign-On)Passwor..
2 2024.11.20 -
- [JavaScript] FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌFusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์ FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. FusionCharts๊ฐ๋ ์น ๊ธฐ๋ฐ ๋์๋ณด๋์ ๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋ฐ์์ ๊ธฐ์ ์ด ๋ค์ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฐจํธ, ๊ทธ๋ํ, ๊ฒ์ด์ง(Gauge), ์ง๋ ๋ฑ์ผ๋ก ์๊ฐํ ํ ์ ์๋ค.๋ฌด๋ฃ ๋ฐ ์ ๋ฃ ํ๋์ด ์์ด ํ๋ก์ ํธ์ ํ์์ ๋ฐ๋ผ ์ ํ ๊ฐ๋ฅํ๋ค.๊ณต์ ํํ์ด์ง : JavaScript charts for web & mobile | FusionCharts ํน์ง์ ์ฐจํธ, ํ์ด ์ฐจํธ, ๊ฒ์ด์ง, ํํธ๋งต ๋ฑ 100๊ฐ ์ด์์ ์ฐจํธ ์ ํ ์ง์๋ณต์กํ ๋น์ฆ๋์ค ๋์๋ณด๋๋ ๋ณด๊ณ ์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค.๋ชจ๋ ์ฐจํธ๋ ๋ฐ์ํ ๋์์ธ์ด ์ ์ฉ๋์ด ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ, ..
1 2024.11.18 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ํ์ฅ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ณด๊ธฐ ๋น ๋ฅด๊ฒ ๋ณด๊ธฐ ์ข์ ๊ฐ์ ๋ชจ์์ํ์ฅ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ณด๊ธฐ ๋น ๋ฅด๊ฒ ๋ณด๊ธฐ ์ข์ ๊ฐ์ ๋ชจ์๋ค์ด๊ฐ๋ฉฐ์ํ์ฅ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋น ๋ฅด๊ฒ ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์ (๋ฌด๋ฃ) ๊ฐ์๋ค์ ์ํ ์ถ์ ์ ํ๋ณ๋ก ์ ๋ฆฌํด๋ณธ๋ค.์ ํ๋ธ(YouTube)์ ์ฌ๋ผ์ ์๋ ์ฌ๋ฌ ๋ฌด๋ฃ ๊ฐ์๋ค ์ค, ๊ด์ฐฎ๊ฒ ๋ค์ ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณด์๋ค. ๊ฐ์ ๋ชจ์์ 1์ ํ (๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ)๊ฐ์๋ช URL๋น๊ณ ํ์ด์ฌ ๊ธฐ์ดhttps://youtu.be/3GSnGaH5yoc?si=JeIYxJJF8faZkHf6ํ์ด์ฌ(Python)ํ ์๊ฐ ๋ง์ ๋ฐฐ์ฐ๋ ํ๋ค์คhttps://youtu.be/hmKVYEei4Oo?si=cCy-klaPyMS0Y4Ltํ๋ค์ค(Pandas)ํ๋ค์ค 100์ https://youtu.be/J9XkwoCamuI?si=S1SKTX0eeUJIMmCbํ๋ค์ค(Pandas)์๋ตํฐ ๋น ๋ถ๊ธฐ ์ค๊ธฐ ๋๋น ํ์ ์์ (1์ ..
1 2024.11.17 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 6ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)์ 6ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 6ํ ์ 3์ ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ๋ฅผ ์ฌ๋ ค๋ณธ๋ค.์ 6ํ ์ 3์ ํ์์๋ ๊ฐ์ค ๊ฒ์ ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ์ถ์ ๋์๋ค. ๋ฌธ์ 1๊ฐ๊ธฐ์ฝ์ ๋ณต์ฉํ ๋ ๋ถ์์ฉ์ ๋ํ ๋ถ๋ฅ์ ๋น์จ ๋ฐ์ดํฐ์์ฝ ํจ๊ณผ๊ฐ ์๋์ง 253๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๊ฒ์ฆํ๋ ค๊ณ ํ๋ค.๊ฐ๊ธฐ ๋ถ์์ฉ์ ๋ํ ๋น์จ์ด ์์ฝ ํจ๊ณผ ๋ถ์์ฉ ๋น์จ๊ณผ ๊ฐ์์ง ์นด์ด์ ๊ณฑ ๊ฒ์ ํ๊ธฐ๋ถ์์ฉ ์ ํ์ฝ๋๋น์จ๋ํต10.05์กธ๋ฆผ20.1์์ฐ๋ฆผ30.05๋ถ์์ฉ ์์40.8ํฉ๊ณ1 (1) ์์ฝ ์ํ ๋ฐ์ดํฐ๊ฐ @๋ถ์์ฉ ์์@์ธ ๋ฐ์ดํฐ๋ฅผ 0~1 ์ฌ์ด์ ํ๋ฅ ๋ก ์ถ๋ ฅํ๊ธฐ (๋ฐ์ฌ๋ฆผํ์ฌ ์์์ ์ ์งธ ์๋ฆฌ๋ก ์ถ๋ ฅ)(2) ์นด์ด์ ๊ณฑ ๊ฒ์ ์ผ๋ก ๊ฒ์ ํต๊ณ๋ ์ถ๋ ฅํ๊ธฐ (๋ฐ์ฌ๋ฆผํ์ฌ ์์์ ์ ์งธ ์๋ฆฌ๋ก ์ถ๋ ฅ)(3) ์ ์ํ๋ฅ (p-value) ์ถ๋ ฅํ๊ธฐ (๋ฐ์ฌ๋ฆผํ์ฌ ์์์ ..
2024.11.16 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 7ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)์ 7ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 7ํ ์ 3์ ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ๋ฅผ ์ฌ๋ ค๋ณธ๋ค.์ 7ํ ์ 3์ ํ์์๋ ๊ณ ๊ธ ํต๊ณ(ํ๊ท ๋ถ์)๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ์ถ์ ๋์๋ค. ์ฐธ๊ณ ํ๊ท ๋ถ์์์๋ ๊ท๋ฌด ๊ฐ์ค๊ณผ ๋๋ฆฝ ๊ฐ์ค์ด ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋๋ค.๋ฐ๋ผ์ ์ ์ํ์ง ์์ ๋ณ์๋ฅผ ๊ตฌํ๋ ค๋ฉด ๊ท๋ฌด ๊ฐ์ค์ ์ฑํ(p-value > 0.05(์ ์์์ค))ํ๋ ๋ณ์๋ฅผ ์ ํํ๋ฉด ๋๋ค.๊ท๋ฌด ๊ฐ์ค : ํด๋น ๋ณ์๋ ์ข ์ ๋ณ์์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ด ์๋ค. (์ ์ํ์ง ์๋ค.)๋๋ฆฝ ๊ฐ์ค : ํด๋น ๋ณ์๋ ์ข ์ ๋ณ์์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ด ์๋ค. (์ ์ํ๋ค.) ๋ก์ง์คํฑ ํ๊ท ๋ถ์์ @statsmodels.api.Logit(y, X)@ ํจ์๋ฅผ ์ฌ์ฉํ๊ณ , ๋ค์ค ์ ํ ํ๊ท ๋ถ์์ @statsmodels.api.OLS(y, X)@ ํจ์๋ฅผ ์ฌ์ฉํ๋ค.p-va..
2024.11.16 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 8ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)์ 8ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ (์ 3์ ํ)๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 8ํ ์ 3์ ํ ๊ธฐ์ถ ๋ณํ ๋ฌธ์ ๋ฅผ ์ฌ๋ ค๋ณธ๋ค.์ 8ํ ์ 3์ ํ์์๋ ๊ณ ๊ธ ํต๊ณ(ํ๊ท ๋ถ์)๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ์ถ์ ๋์๋ค. ์ฐธ๊ณ ํ๊ท ๋ถ์์์๋ ๊ท๋ฌด ๊ฐ์ค๊ณผ ๋๋ฆฝ ๊ฐ์ค์ด ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋๋ค.๋ฐ๋ผ์ ์ ์ํ์ง ์์ ๋ณ์๋ฅผ ๊ตฌํ๋ ค๋ฉด ๊ท๋ฌด ๊ฐ์ค์ ์ฑํ(p-value > 0.05(์ ์์์ค))ํ๋ ๋ณ์๋ฅผ ์ ํํ๋ฉด ๋๋ค.๊ท๋ฌด ๊ฐ์ค : ํด๋น ๋ณ์๋ ์ข ์ ๋ณ์์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ด ์๋ค. (์ ์ํ์ง ์๋ค.)๋๋ฆฝ ๊ฐ์ค : ํด๋น ๋ณ์๋ ์ข ์ ๋ณ์์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ด ์๋ค. (์ ์ํ๋ค.) ๋ก์ง์คํฑ ํ๊ท ๋ถ์์ @statsmodels.api.Logit(y, X)@ ํจ์๋ฅผ ์ฌ์ฉํ๊ณ , ๋ค์ค ์ ํ ํ๊ท ๋ถ์์ @statsmodels.api.OLS(y, X)@ ํจ์๋ฅผ ์ฌ์ฉํ๋ค.p-va..
2 2024.11.15 -
- [๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ] ์ 3์ ํ ์ํ ์ค๋น (๊ฐ์ค ๊ฒ์ , ๊ณ ๊ธ ํต๊ณ)์ 3์ ํ ์ํ ์ค๋น (๊ฐ์ค ๊ฒ์ , ๊ณ ๊ธ ํต๊ณ)๋ค์ด๊ฐ๋ฉฐ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์ 3์ ํ ์ํ ์ค๋น๋ฅผ ์ํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค.์ 3์ ํ์ โ ๊ฐ์ค ๊ฒ์ ๊ณผ โก๊ณ ๊ธ ํต๊ณ์ ๋ด์ฉ์ด ํฌํจ๋๋ค. 1๏ธโฃ ๊ฐ์ค ๊ฒ์ โ๏ธ (ํต๊ณ์ ) ๊ฐ์ค ๊ฒ์ ๊ด์ฐฐ๋ ํ์/ํจ๊ณผ๊ฐ ์ฐ์ฐ์ ์ํ ๊ฒ์ธ์ง ์์๋ณด๊ธฐ ์ํด ๊ฐ์ค์ ์ธ์ฐ๊ณ , ๊ฐ์ค์ ํฉ๋น์ฑ์ ํ์ธํ๋ ๊ณผ์ A ๊ทธ๋ฃน๊ณผ B ๊ทธ๋ฃน์์ ๋ณด์ด๋ ์ด๋ค ์ฐจ์ด๊ฐ ์ฐ์ฐ์ ์ํ ๊ฒ์ธ์ง, ์ค์ ๋ก ๋ค๋ฅธ ๊ฒ์ธ์ง ํต๊ณ์ ์ผ๋ก ๊ฒ์ฆํ๋ ๊ฒ ๋ณ์ ์ ํ์ง๋จ ์๊ฒ์ ๋ฐฉ์์ค๋ช ์์นํ(์ฐ์ํ)1๊ฐ๋จ์ผ ํ๋ณธ t-๊ฒ์ ๋ชจํ๊ท ๊ณผ ํ๋ณธ ํ๊ท ์ด ์ ์ํ๊ฒ ๋ค๋ฅธ์ง ๊ฒ์ 2๊ฐ๋ ๋ฆฝ ํ๋ณธ t-๊ฒ์ 2๊ฐ์ ๋ ๋ฆฝ๋ ์ง๋จ์ ํ๊ท ์ฐจ์ด ๊ฒ์ ๋์ ํ๋ณธ t-๊ฒ์ ๊ฐ์ ์ง๋จ์์ 2๋ฒ ์ธก์ ํ ๊ฒฐ๊ณผ์ ํ๊ท ์ฐจ์ด ๊ฒ์ 2๊ฐ ์ด์์ผ์ ๋ถ์ฐ ๋ถ์(One Way ANOVA)3๊ฐ ์ด์์..
6 2024.11.15 -
- [Axios] ํค๋์ ์ธ์ฆ ์ ๋ณด ์ถ๊ฐํ๋ ๋ฐฉ๋ฒํค๋์ ์ธ์ฆ ์ ๋ณด ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐAxios๋ฅผ ์ฌ์ฉํ์ฌ ํค๋์ ์ธ์ฆ(Authorization) ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.์ด ๊ธ์ ๋ฆฌ์กํธ(React) ์ฝ๋๋ก ์์ฑ๋์๋ค. ๋ฐฉ๋ฒโ ํ์ผ์ ์ธ์ฆ ํค๋ ๋ถ๋ถ ์ถ๊ฐํ๊ธฐAPI ํธ์ถ์ ํ๊ณ ์ ํ๋ ํ์ผ ์์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ด์ ๋ณ์๋ฅผ ์์ฑํ์ฌ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.// ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ด์ ๋ณ์const authHeader = (thunkAPI) => { return { headers: { authorization: `Bearer ${thunkAPI.getState().user.user.token}`, }, };};export const createJobThunk = async (job, thunkAPI) => { try { const..
1 2024.11.14 -
- [JavaScript] Moment.js ๋ผ์ด๋ธ๋ฌ๋ฆฌMoment.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์์ ๋ ์ง์ ์๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ง์ด ์ฌ์ฉ๋๋ Moment.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. moment.js๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ ์ง์ ์๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ง ๋ฐ ์๊ฐ ๊ณ์ฐ, ํ์ํ, ํ์ฑ, ์๊ฐ๋ ๋ณํ, ์๋์ ์ธ ์๊ฐ ํํ ๋ฑ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ค๋ค.์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ @Date@ ๊ฐ์ฒด์ ๋น๊ตํ์ฌ ํจ์ฌ ๋ ์ง๊ด์ ์ด๊ณ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.2020๋ ๋ถํฐ Moment.js๋ ์ ์ง๋ณด์ ์ ์ฉ ๋ชจ๋๋ก ์ ํ๋์๊ณ , ์๋ก์ด ํ๋ก์ ํธ์์๋ Day.js๋ Luxon, Date-fns๊ณผ ๊ฐ์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ์ฌ์ฉํ๋๋ก ๊ถ์ฅ๋๊ณ ์๋ค. (ํ์ง๋ง ์ฌ์ ํ ๋ง์ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๊ณ ์๋ค.)Day.jsMom..
2024.11.14 -
- [Next.js] ๋ ๋๋ง ๋ฐฉ์ ์ ๋ฆฌ (CSR(Client Side Rendering), SSR(Server Side Rendering), SSG(Static Site Generation), ISR(Incremental Static Regeneration)๏ปฟ)๋ ๋๋ง ๋ฐฉ์ ์ ๋ฆฌ (CSR(Client Side Rendering), SSR(Server Side Rendering), SSG(Static Site Generation), ISR(Incremental Static Regeneration))๋ค์ด๊ฐ๋ฉฐNext.js์ ๋ ๋๋ง ๋ฐฉ์์ธ CSR(Client Side Rendering), SSR(Server Side Rendering), SSG(Static Site Generation), ISR(Incremental Static Regeneration)์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค.Next.js์์ ํ์ด์ง๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก CSR ๋ฐฉ์์ผ๋ก ๋ ๋๋ง๋๋ค. CSR(Client Side Rendering)๊ฐ๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ค์ด๋ก๋ํ ํ, ํด๋ผ์ด์ธํธ ์ธก์์ ๋ ๋๋ง์ ..
14 2024.11.14 -
- [React.js] ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์๋ค์ด๊ฐ๋ฉฐ๋ฆฌ๋์ค ํดํท(Redux Toolkit, RTK)์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์ vs. ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์RTK ๋ฒ์ 1.6.0 ์ด์๋ถํฐ ๊ธฐ์กด์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์์์ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Bulder Callback Notation) ๋ฐฉ์์ผ๋ก ์์ฑํด์ผ ํ๋ค.๊ธฐ์กด์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค. ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation)..
2024.11.13 -
- [Network] 400 ์ค๋ฅ์ 401 ์ค๋ฅ์ ์ฐจ์ด์ 400 ์ค๋ฅ์ 401 ์ค๋ฅ์ ์ฐจ์ด์ ๋ค์ด๊ฐ๋ฉฐHTTP ์ํ ์ฝ๋(Status Code)์ธ 400 ์ค๋ฅ์ 401 ์ค๋ฅ์ ์ฐจ์ด์ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. 400 ์ค๋ฅ (Bad Request, ์๋ชป๋ ์์ฒญ)๊ฐ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ์ด ์๋ชป๋์๊ฑฐ๋ ์๋ฒ์์ ์ดํดํ ์ ์์ ๋ ๋ฐํ๋๋ ์ํ ์ฝ๋ ๋ฐ์ ์์ธ์์ฒญ ํ์์ด ์๋ชป๋ ๊ฒฝ์ฐ (JSON์ด๋ XML ๋ฑ์ ๋ฐ์ดํฐ ํฌ๋งท ์ค๋ฅ)์์ฒญ ํ๋ผ๋ฏธํฐ๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ์๋ชป๋ URL์ด๋ ๋ฉ์๋ ์ฌ์ฉ์๋ฅผ ๋ค์ด, @GET@ ๋์ @POST@๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐํด๋ผ์ด์ธํธ ์ชฝ ์ค๋ฅ๋ก ์ธํด ์์ฒญ์ด ๋น์ ์์ ์ผ๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ๊ฒํ ํ๊ณ ํ์์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ๋ค.API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด ํ์ํ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ด ์ ๋๋ก ์ ๋ฌ๋์๋์ง ํ์ธํ๋ค.URL์ด๋ HTTP ๋ฉ์๋๋ฅผ ํ์ธํ..
2024.11.13 -
- [React.js] .js ํ์ผ์์ Uncaught SyntaxError: Unexpected token '<' ์ค๋ฅ ๋ฐ์ํ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (Vite).js ํ์ผ์์ Uncaught SyntaxError: Unexpected token '๋ค์ด๊ฐ๋ฉฐ@.js@ ํ์ผ์์ @Uncaught SyntaxError: Unexpected token '์ด ๋ฌธ์ ๋ Vite๋ก ๋ง๋ ํ๋ก์ ํธ์ ๋ฐ์ํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฐ์ ์ํฉ@/src/utils/links.js@ ํ์ผ์์ ์ปดํฌ๋ํธ(Component)๊ฐ @value@๋ก ๋ค์ด ์๋ @key@๊ฐ ๋ค์ด ์๋ ๊ฐ์ฒด๋ฅผ ์ธ๋ถ ์ปดํฌ๋ํธ์์ import ํ์ฌ ์ฌ์ฉํ๋ ค๊ณ ํ ๋, ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค. /src/utils/links.js@icon@ ํค์ ๊ฐ์ ์ธ๋ถ ์ปดํฌ๋ํธ์์ ๋ถ๋ฌ์ฌ ๋ ์์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.const links = [ { id: 1, text: 'stats', path: '/', ..
2024.11.13 -
- [React.js] <Link> ์ปดํฌ๋ํธ์ <NavLink> ์ปดํฌ๋ํธ ๋น๊ต (React Router)์ปดํฌ๋ํธ์ ์ปดํฌ๋ํธ ๋น๊ต (React Router)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(React Router)์์ @@ ์ปดํฌ๋ํธ์ @@ ์ปดํฌ๋ํธ์ ์ฐจ์ด์ ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ์ปดํฌ๋ํธ๊ฐ๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ์์ ์ ๊ณตํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋งํฌ(Link) ์ปดํฌ๋ํธํน์ ๊ฒฝ๋ก๋ก ์ด๋ํ ์ ์๋ ๋ด๋น๊ฒ์ด์ ๋งํฌ๋ฅผ ์์ฑํ๋ค.HTML์ @@ ํ๊ทธ์ ์ ์ฌํ์ง๋ง, ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด SPA(Single Page Application) ๋ด์์ ๋ผ์ฐํ ์ ์ฒ๋ฆฌํ๋ค. ํน์งํ์ด์ง๋ฅผ ์๋ก ๊ณ ์นจํ์ง ์๊ณ , ํด๋ผ์ด์ธํธ ์ธก ๋ผ์ฐํ ์ ์ํํ๋ค.๋จ์ํ ๋ผ์ฐํ ์ ์ ํฉํ๋ค.์ ํ๋ ์ํ์ ๋ฐ๋ฅธ ์คํ์ผ๋ง ๊ธฐ๋ฅ์ ์๋ค. ์ฌ์ฉ ์์ ์ฝ๋import { Link } from "react-router-dom";function App() { return ( ..
2024.11.13 -
- [React.js] ๋ฆฌ๋์ค(Redux), ๋ฆฌ๋์ค ํดํท(Redux Toolkit)๋ฆฌ๋์ค(Redux), ๋ฆฌ๋์ค ํดํท(Redux Toolkit)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js)์ ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ํ๋์ธ ๋ฆฌ๋์ค(Redux)์ ๋ฆฌ๋์ค ํดํท(Redux Toolkit)์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ๋ฆฌ๋์ค(Redux)๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ํ ์ปจํ ์ด๋์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ค์์์ ๊ด๋ฆฌํจ์ผ๋ก์จ ์ํ ๋ณํ๋ฅผ ์ฝ๊ฒ ์ถ์ ํ๊ณ , ๋๋ฒ๊น ์ ๋จ์ํํ๋ฉฐ, ๋ค์ํ ์ปดํฌ๋ํธ ๊ฐ์ ์ํ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์ฝ๊ฒ ํด์ค๋ค.๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋์ ๋ช ๋ น์ ์คํํ์ฌ ๊ด๋ จ ํจํค์ง๋ฅผ ์ค์นํด์ค๋ค.$ yarn add redux # npm install redux$ yarn add react-redux # npm install react-redux ๋ฆฌ๋์ค..
2024.11.11 -
- [React.js] ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ณตํต๋ HTML ์์ ์คํ์ผ์ด ๋ณด์ฌ์ง๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ (normalize.css)๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ณตํต๋ HTML ์์ ์คํ์ผ์ด ๋ณด์ฌ์ง๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ (normalize.css)๋ค์ด๊ฐ๋ฉฐ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ณตํต๋ HTML ์์ ์คํ์ผ์ด ๋ณด์ฌ์ง๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒnormalize.css ์ฌ์ฉํ๊ธฐnormalize.css@normalize.css@๋ ๋ค์ํ ๋ธ๋ผ์ฐ์ ์์ HTML ์์์ ์คํ์ผ์ ์ผ๊ด๋๊ฒ ๋ณด์ด๋๋ก ๋ง๋ค์ด์ฃผ๋ CSS ํ์ผ์ด๋ค.์น ๋ธ๋ผ์ฐ์ ๋ง๋ค ๊ธฐ๋ณธ ์คํ์ผ์ด ๋ค๋ฅด๊ฒ ์ ์ฉ๋๊ธฐ ๋๋ฌธ์, ์น ํ์ด์ง๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ ๋ค๋ฅด๊ฒ ๋ณด์ผ ์ ์๋ค.์ด๋ฌํ ๋ถ์ผ์น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด @normalize.css@๋ ๊ฐ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ์คํ์ผ์ ์ด๊ธฐํํ๊ฑฐ๋ ํ์คํํ์ฌ, ์น ํ์ด์ง๊ฐ ์ด๋์๋ ์ผ๊ด๋๊ฒ ๋ณด์ด๋๋ก ํด์ค๋ค.@normalize.css@๋ ๋ชจ๋ ๊ธฐ๋ณธ ์คํ์ผ์ ์ ..
2024.11.07 -
- [React.js] Recharts ๋ผ์ด๋ธ๋ฌ๋ฆฌRecharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React) ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Recharts์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Recharts๊ฐ๋ ๋ฆฌ์กํธ(React) ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ํ ์ฐจํธ๋ฅผ ์ฝ๊ฒ ์์ฑํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์๋๋ก ๋์์ค๋ค.์ ์ธํ ๋ฐฉ์์ผ๋ก ๋ฆฌ์กํธ์ ์ ๋ง์ผ๋ฉฐ, ๊ทธ๋ํ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ํ์ํ ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํด ์ง๊ด์ ์ผ๋ก ์ฐจํธ๋ฅผ ๊ตฌ์ฑํ ์ ์๋๋ก ๋์์ค๋ค. ํน์ง๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจํธ๋ฅผ ๊ตฌ์ฑํ๋ฏ๋ก, ๋ฆฌ์กํธ์ ์ํ(State)์ ์์ฑ์ ํ์ฉํด ๋์ ์ผ๋ก ์ฐจํธ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์๋ค.Recharts๋ ๋ด๋ถ์ ์ผ๋ก D3.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์ฐจํธ๋ฅผ ๋ ๋๋งํ๋ค.D3.js์ ๊ฐ๋ ฅํ๊ณ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ ํํ๋ก ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.์ฐจํธ๋ฅผ ๊ตฌ์ฑํ๋ ์์..
1 2024.11.06 -
- [Service] RenderRender๋ค์ด๊ฐ๋ฉฐ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๋ฐ ํธ์คํ ํ๋ซํผ ์ค ํ๋์ธ Render์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Render๊ฐ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๋ฐ ํธ์คํ ํ๋ซํผ๊ฐ๋ฐ์๋ค์ด ์น ์ ํ๋ฆฌ์ผ์ด์ , API, ์ ์ ์ฌ์ดํธ ๋ฑ์ ์์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํ๋ค.๋ณต์กํ ์ธํ๋ผ ์ค์ ์์ด๋ ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ณ ๋ฐฐํฌํ๋ฉฐ, ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ์ ๊ณตํ๋ค.์คํํธ์ ์ด๋ ์๊ท๋ชจ ํ์ด ๋น ๋ฅด๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ ์ฉํ๋ฉฐ, ๋ณต์กํ ์ธํ๋ผ ๊ด๋ฆฌ์ ๋ํ ๋ถ๋ด์ ์ค์ฌ์ค๋ค.Render๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ๋ฑ ๋ค์ํ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ์ง์ํ์ฌ ํ์คํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋ฐ์ ์ ํฉํ๋ค. Cloud Application Platform | RenderOn Render, you can build, ..
2024.11.06 -
- [Service] MockarooMockaroo๋ค์ด๊ฐ๋ฉฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ฃผ๋ ๋๊ตฌ์ธ Mockaroo์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Mockaroo๊ฐ๋ ๊ฐ๋ฐ์์ ๋ฐ์ดํฐ ๋ถ์๊ฐ๋ฅผ ์ํด ํ์ค์ ์ธ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ฃผ๋ ์จ๋ผ์ธ ๋๊ตฌCSV, JSON, SQL, Excel ๋ฑ ๋ค์ํ ํ์์ผ๋ก ์ต๋ 1,000๊ฐ์ ํ์ ๋ฌด๋ฃ๋ก ์์ฑํ ์ ์๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ด๋ฆ, ์ฃผ์, ์ด๋ฉ์ผ ๋ฑ ๋ค์ํ ํ๋ ํ์ ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.ํ๋ ์ด๋ฆ, ๋ฐ์ดํฐ ํ์ , ์ต์ ๋ฑ์ ์ค์ ํ์ฌ ์ํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์๋ค. CSV, JSON, SQL, Excel ๋ฑ ์ฌ๋ฌ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ค.๊ฐ์ API๋ฅผ ์ค๊ณํ์ฌ ์ค์ API์์ ์ํธ ์์ฉ์ ํ๊ฒ ํ ์ ์๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์๋์ ๊ณต์ ํํ์ด์ง์ ์ ์ํ์ฌ ํ๋ ์ด๋ฆ(Field Name)๊ณผ ํ์ (..
2 2024.11.06 -
- [Next.js] ํ ๋ง ํ ๊ธ ๊ธฐ๋ฅ ์ค์ ํ๊ธฐ (with shadcn/ui)ํ ๋ง ํ ๊ธ ๊ธฐ๋ฅ ์ค์ ํ๊ธฐ (with shadcn/ui)๋ค์ด๊ฐ๋ฉฐNext.js๋ฅผ ์ด์ฉํ์ฌ ํ ๋ง ํ ๊ธ ๊ธฐ๋ฅ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.์ด ๊ฒ์๊ธ์ ๋ด์ฉ์ ํ์ ์คํฌ๋ฆฝํธ(TypeScript)์ shadcn UI ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋์๋ค. ๋ฐฉ๋ฒโ ์์ ํ ํ๋ฆฟ ์ฝ๋๋ฅผ ์ ์ญ ์คํ์ผ์ํธ ํ์ผ(@globals.css@)์ ๋ฃ๊ธฐ์๋์ ์ฌ์ดํธ์์ ์์ ์๊ฒ ๋ง๋ ๋ผ์ดํธ/๋คํฌ ๋ชจ๋ ์์ ํ ํ๋ฆฟ์ ์ ํํ ํ, ์์ ์ฝ๋๋ฅผ ๋ณต์ฌํ๋ค. shadcn/uiBeautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.ui.shadcn.com ๊ทธ๋ฆฌ๊ณ ์ ์ญ ์คํ์ผ์ํธ ํ์ผ(@/app/..
2024.11.05