๋ฆฌ์กํธ ๊ธฐ์ด

React
Meta(FaceBook)์์ ๊ฐ๋ฐํ JavaScript ๊ธฐ๋ฐ UI ๊ฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
React๋ ํ์ด์ค๋ถ์์ ๊ฐ๋ฐํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. React๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๊ตฌ์ถ๊ณผ ๊ด๋ฆฌ๋ฅผ ๋์์ฃผ๋ ์ ์ธ์ ์ด๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. React๋ ๋จ์ผ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์
(SPA) ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
์์ ํนํ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ต๋๋ค.
React ์๊ฐ
Node.js ์ค์นํ๊ธฐ (Windows)
1. winget์ผ๋ก Node.js ์ค์น
React ๊ฐ๋ฐํ๊ฒฝ ์ค์น

React ์์ํ๊ธฐ
React ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ
1.
CDN ์ผ๋ก ์์ํ๊ธฐ
2.
Node.js ์ npm ์ผ๋ก ์์ํ๊ธฐ
React ์์ํ๊ธฐ
React ํ๋ก์ ํธ ์์ฑ
1.
vite ๋ก ํ๋ก์ ํธ
2.
npx ๋ก ํ๋ก์ ํธ
3.
๋ชจ๋ ์ค์น
React ํ๋ก์ ํธ
node_modules ๋น ๋ฅธ ์ญ์
โข
rimraf ๋ชจ๋ ์ ์ญ ์ค์น
โข
node_modules ์ญ์ ๋ช
๋ น
node_modules ์ญ์

ES7+ React/Redux/React-Native snippets

React Extension

Vite
Vite๋ ์ฃผ๋ก Vue.js ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋๋ฐ ์ค์ ์ ๋๊ณ ์์ผ๋, ๋ค๋ฅธ ํ๋ ์์ํฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์ ์ฉํ ์ ์์ต๋๋ค.
Vite & React

JSX
JavaScript + (XML/HTML)
React์์ ์ฌ์ฉ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฅ ๋ฌธ๋ฒ์ผ๋ก, XML ๋๋ HTML๊ณผ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. JSX๋ฅผ ์ฌ์ฉํ๋ฉด React ์์๋ฅผ ์ข ๋ ๊ฐํธํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ React์์ UI๋ฅผ ํํํ๋ ๋ฐ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ด์ ๋งํฌ์
์ ์์ฑํ ์ ์๊ฒ ํด์ค๋๋ค.
JSX

์๋ฆฌ๋จผํธ (Element)
๋ธ๋ผ์ฐ์ ์ ์ปจํ
์ธ ๋ฅผ ํํํ๋ ํ๋์ ๋จ์
์๋ฆฌ๋จผํธ๋ React์์ ์ปดํฌ๋ํธ๊ฐ ์ค์ ๋ก ๋ธ๋ผ์ฐ์ ์ ๋ํ๋ด๋ ๋ด์ฉ์ ํํํ๋ ๋จ์์
๋๋ค. React์์ ์๋ฆฌ๋จผํธ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, ๊ฐ ์๋ฆฌ๋จผํธ๋ ๊ฐ์ DOM (Virtual DOM)์์ ์ปดํฌ๋ํธ์ ์ธ์คํด์ค์ ๋์ํฉ๋๋ค.
Element

Component
React ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์์
์ปดํฌ๋ํธ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์กฐ๊ฐ์ผ๋ก, ๋
๋ฆฝ์ ์ด๋ฉฐ ํน์ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. React ์ ํ๋ฆฌ์ผ์ด์
์ ์ปดํฌ๋ํธ์ ์กฐํฉ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ฐ ์ปดํฌ๋ํธ๋ ์์ฒด์ ์ผ๋ก ์ํ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ํ๋ ๊ตฌ์กฐ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
Component

State (์ํ)
์ปดํฌ๋ํธ๊ฐ ๊ด๋ฆฌํ๋ ๋ก์ปฌ(๋ด๋ถ) ๋ฐ์ดํฐ
React ์ปดํฌ๋ํธ์ ์ํ(State)๋ ์ปดํฌ๋ํธ๊ฐ ๊ด๋ฆฌํ๋ ๋ก์ปฌ ๋ฐ์ดํฐ์
๋๋ค. ์ํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๊ฐ ๋์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํ์ํ ์ ์์ผ๋ฉฐ, ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค React๋ ์๋์ผ๋ก ํ๋ฉด์ ๋ค์ ๋ ๋๋งํฉ๋๋ค.
State ์ ํน์ง
State

Props (์์ฑ)
๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌํ๊ธฐ ์ํ ๋ฐ์ดํฐ
properties ์ ์ค์๋ง
์ธ๋ถ์์ ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์. ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๊ฒ์ด React ์ปดํฌ๋ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฃผ์ ๋ฉ์ปค๋์ฆ ์ค ํ๋์
๋๋ค. ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ ์์ ์ปดํฌ๋ํธ์๊ฒ props๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ , ์์ ์ปดํฌ๋ํธ๋ ์ด๋ฅผ ํ์ฉํ์ฌ ํ๋ฉด์ ์ ๋ณด๋ฅผ ํ์ํ๊ฑฐ๋ ํน์ ๋์์ ์ํํ ์ ์์ต๋๋ค.
Props
Lifecycle Methods (์๋ช ์ฃผ๊ธฐ ๋ฉ์๋)
์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ ๋์ ํน์ ์์ ์ ์คํ๋๋ ๋ฉ์๋
Mounting
Updating
Lifecycle

Hook
Hook ( ๊ฐ๊ณ ๋ฆฌ )
: ๋พฐ์กฑํ๊ณ ๊ตฌ๋ถ๋ฌ์ง ๋ ๋ก ๋ค๋ฅธ ๋ฌผ์ฒด์ ๊ฑธ์ด ์ฐ๊ฒฐํ๋ ๋๊ตฌ
๊ฐ๊ณ ๋ฆฌ๋ ๋ฌผ๊ฑด์ ์ก๊ฑฐ๋ ๊ฑธ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋๊ตฌ์
๋๋ค. hook์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์์ ์ํ๋ ๋ผ์ดํ์ฌ์ดํด์ ์ก๊ฑฐ๋ ๊ฑธ์ด์ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ๋ผ๋ ์๋ฏธ์์ ์ ๋๋์์ต๋๋ค.
Hook

Router
React ์ ํ๋ฆฌ์ผ์ด์
์ URL์ ๊ด๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ ์
Router

React Style
React ์์ ์คํ์ผ๋งํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
React ์์ ์คํ์ผ๋ง ํ๋ ๋ฐฉ๋ฒ
โข
โข
React Style

Context
๋ชจ๋ ์ปดํฌ๋ํธ์์ ๊ณต์ ํ ์ ์๋ ์ํ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
Context ์ ํ์์ฑ
Context ๋ ๋ชจ๋ ์ปดํฌ๋ํธ์์ ์ํ๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.
- ์์ ์ปดํฌ๋ํธ์์ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ ์ ๋ฌํด์ผํ๋ ๊ฒฝ์ฐ
- ์ปดํฌ๋ํธ 2๊ณ์ธต ์ด์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ผํ๋ ๊ฒฝ์ฐ
Context

Redux
โข
Redux ๋?
โข
Redux ์ดํดํ๊ธฐ
โข
Redux ๊ธฐ๋ณธ ์๋ฆฌ
Redux
Throttle (์ฐ๋กํ)
์ด๋ฒคํธ๊ฐ ์๋ฌด๋ฆฌ ๋ง์ด ๋ฐ์ํด๋ ์ง์ ํ delay ๊ฐ๊ฒฉ๋ง๋ค ๋ฑ ํ ๋ฒ๋ง ์คํ๋ฉ๋๋ค.
๋น์
Throttle
React Custom Hook (์ปค์คํ ํ )
1. ์ปค์คํ ํ ์ด๋?
ํต์ฌ ๊ท์น
Custom Hook
Vite ํ๋ก์(Proxy) ์ค์ ๊ฐ์ด๋
1. ํ๋ก์(Proxy)๋?
ํ๋ก์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์์ ์์ฒญ์ ์ค๊ณํ๋ ์ค๊ฐ ์๋ฒ์
๋๋ค.
Proxy
React CSS module

React + Vite + Tailwind CSS ์ธํ ๊ฐ์ด๋
์ต์ ๋ฒ์ ๊ธฐ์ค (Vite 6.x / Tailwind CSS v4.x)
1๋จ๊ณ. React + Vite ํ๋ก์ ํธ ์์ฑ
Tailwind

MUI

React Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
React ํ๋ก์ ํธ์์ Bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ 2 ๊ฐ์ง๊ฐ ์๋ค.
1.
bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
(๊ทธ๋ฅ Bootstrap)
2.
react-bootstrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ
(React ์ฉ Bootstrap)
React x Bootstrap

React Developer Tool
React JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ํ Chrome DevTools ํ์ฅ
React ๊ฐ๋ฐ์ ๋๊ตฌ๋ ์คํ ์์ค React JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ํ Chrome DevTools ํ์ฅ์
๋๋ค. ์ด๋ฅผ ํตํด Chrome ๊ฐ๋ฐ์ ๋๊ตฌ์์ React ๊ตฌ์ฑ ์์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
React Developer Tool
axios

axios๋ JavaScript์ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋ธ๋ผ์ฐ์ ์ Node.js ํ๊ฒฝ์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. axios๋ Promise๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ๊ณผ ๋ค์ํ ์ค์ ์ต์
์ ์ ๊ณตํ์ฌ ๋คํธ์ํฌ ์์ฒญ์ ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๋์์ค๋๋ค.
Axios ๊ธฐ๋ณธ ๊ตฌ์กฐ
axios
React์์ UUID ๋ฐ Nanoid ์ฌ์ฉ ์์
1. ํจํค์ง ์ค์น
uuid
React Query (TanStack Query)
๋ชฉ์ฐจ
2.
React Query

To Do List REST API ์๋ฒ ๊ตฌํ
1.
To Do List ํ
์ด๋ธ ์ ์
2.
Spring Boot REST API ๊ตฌํ
3.
API ๋ช
์ธ์ ์๋ ์์ฑ - OpenAPI(Swagger)
4.
API ํ
์คํธ
To Do List - BackEnd (SpringBoot)

To Do List - Front (React)
โTodo List - ํ ์ผ ๋ชฉ๋ก UI ๋ง๋ค๊ธฐโ

To Do List - FrontEnd (React)

To Do List ํ๋ก์ ํธ
โTodo List - ํ ์ผ ๋ชฉ๋ก UI ๋ง๋ค๊ธฐโ
To Do List ํ๋ก์ ํธ (Back)

To Do List ํ๋ก์ ํธ
โTodo List - ํ ์ผ ๋ชฉ๋ก UI ๋ง๋ค๊ธฐโ
์คํ ์ข ๋๋ฌ์ฃผ์ธ์
To Do List ํ๋ก์ ํธ (Front)

Board App - ํ์ผ์ ๋ก๋
Board App - ํ์ผ์
๋ก๋

ํ์ด์ง๋ค์ด์
โข
ํ์ด์ง๋ค์ด์
UI ์์ฑ
โข
ํ์ด์ง ๋งํฌ
โข
๋ฐ์ดํฐ ์์ ๋
โข
์ฒซ ํ์ด์ง, ๋ง์ง๋ง ํ์ด์ง ์ผ ๋,
Board App - ํ์ด์ง๋ค์ด์

๊ฒ์ํ - CRUD
Preview

๊ฒ์ํ - CRUD
React
SpringBoot

๊ฒ์ํ - STYLE
๋ฆฌ์กํธ์์๋ ์ปดํฌ๋ํธ์์๋ง ์ฌ์ฉํ css ๋ฅผ ๋ชจ๋๋ก ์ง์ ํด์ ์ฌ์ฉํ ์ ์๋ค.
๊ฒ์ํ - STYLE
React
SpringBoot

๊ฒ์ํ - ํ์ผ ์ ๋ก๋
์คํ ์ข ๋๋ฌ์ฃผ์ธ์
Spring Boot (Back-End)
๊ฒ์ํ - ํ์ผ ์
๋ก๋
React
SpringBoot

WYSIWYG ์๋ํฐ - CKEditor
โข
์์ง์
์๋ํฐ๋?
โข
React ์ CKEditor ์ค์น
โข
์ํ์ฝ๋
WYSIWYG ์๋ํฐ - CKEditor
React
SpringBoot

JWT x Spring Security 6

JWT x Spring Security 5

๋ก๊ทธ์ธ ํ๋ก์ ํธ ์์ฑ
1.
ํ๋ก์ ํธ ์์ฑ
2.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
๋ก๊ทธ์ธ ํ๋ก์ ํธ ์์ฑ

ํ์๊ฐ์ ํ๋ฉด

ํ์๊ฐ์

๋ก๊ทธ์ธ ํ๋ฉด

๋ก๊ทธ์ธ

๋ก๊ทธ์์

๋ก๊ทธ์์ ์ฑ๊ณต
๋ก๊ทธ์์

๋ง์ด ํ์ด์ง

ํ์ ์ ๋ณด ์์ ์ฑ๊ณต
ํ์์ ๋ณด ์์

๋ง์ด ํ์ด์ง

ํ์ ํํด ์ฑ๊ณต

ํ์ ํํด

์๋ ๋ก๊ทธ์ธ
์๋ ๋ก๊ทธ์ธ ํ๋ก์ธ์ค
1.
์๋ ๋ก๊ทธ์ธ

๋ก๊ทธ์ธ ์ฌ๋ถ ๊ด๋ฆฌ
๋ก๊ทธ์ธ ์ฌ๋ถ ๊ด๋ฆฌ

VS CODE ์ค์น
VS CODE ์ค์น

์๋ฐ ์ธํ
1.
JDK 17
2.
Java in VS CODE
3.
SPRING BOOT Extenstion
VS CODE ์ธํ
VS CODE ์ญ์

VS CODE ์ญ์






