๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ–Œ๏ธWeb (36)

ruriruriya

[Spring Boot] ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ ํ™˜๊ฒฝ์„ค์ •

์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ™˜๊ฒฝ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.0. Tool ์ค€๋น„IDE๋Š” STS(Spring Tool Suite)๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด์œ ๋Š” ํšŒ์‚ฌ์—์„œ ์‹ค๋ฌด๋กœ IntelliJ๋Š” ๋น„์‹ธ๊ณ  vscode๋Š” ์จ๋ดค์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํŽธ๋ฆฌํ•˜๋‹จ ์ƒ๊ฐ์ด ์•ˆ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— STS๋ฅผ ์„ ํƒํ–ˆ๋‹ค.1. ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐPackage Explorer -> Create new Spring Starter Project ํด๋ฆญ New Spring Starter Project ์ฐฝ์ด ๋œจ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๊ณ  Next > ๋ฒ„ํŠผ ํด๋ฆญName : ํ”„๋กœ์ ํŠธ ๋ช…์„ ์ž‘์„ฑLocation : ํ”„๋กœ์ ํŠธ ์ €์žฅํ•  ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ์ž‘์„ฑType : Gradle (์‹ค๋ฌด์—์„œ๋Š” Maven์ผ ์ˆ˜๋„ ์žˆ์Œ..)Packaging : JarJava Version : 17..

[React] ๋ฆฌ์•กํŠธ - React Router๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ—ค๋” ํ‘ธํ„ฐ ๊ณ ์ •ํ•˜๊ธฐ(BrowserRouter, Routes, Route)

BrowserRouter, Routes, Route๋Š” react-router-dom ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ๋กœ, React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.์‰ฝ๊ณ  ์‹ฌํ”Œํ•œ ์ฝ”๋“œ๋กœ ํ—ค๋”์™€ ํ‘ธํ„ฐ๋ฅผ ๊ณ ์ •ํ•ด๋ณด์ž.1. BrowserRouter, Routes, Route1-1. BrowserRouter BrowserRouter๋Š” HTML5์˜ History API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UI๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  URL์„ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ผ์šฐํ„ฐ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ์‹ธ์ ธ์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.import { BrowserRouter as Router } from 'react-router-dom';const App = () => ( ..

๐Ÿ–Œ๏ธWeb/React 2024. 5. 20. 23:07
[React] ๋ฆฌ์•กํŠธ - React์—์„œ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋งŒ๋“ค๊ธฐ(react-router ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

react์—์„œ๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ?react-router ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ชจ๋“ˆํ™” ์‹œํ‚ค๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ผ์šฐํŒ… ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. react-router ์ฃผ์š” ๊ธฐ๋Šฅ๋™์  ๋ผ์šฐํŒ…( Dynamic Routing) : ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ •  URL์— ์ ‘๊ทผํ•  ๋•Œ ํ•ด๋‹น URL์— ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋ง๋ผ์šฐํŠธ ๊ฐ€๋“œ(Route Guards) : ์‚ฌ์šฉ์ž ์ธ์ฆ ์ƒํƒœ ๋“ฑ์— ๋”ฐ๋ผ ํŠน์ • ๋ผ์šฐํŠธ๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ.๋ ˆ์ด์•„์›ƒ ๊ด€๋ฆฌ : 'Outlet'๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์ „๋žต : ๋กœ๋”ฉ๊ณผ ํŽ˜์นญ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ 'Loader' ๊ธฐ๋Šฅ์ด ์ œ๊ณต์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…(Code Splitting) :  'React.lazy'์™€ 'Suspense'๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋ผ์šฐํŠธ๋งŒ ๋กœ๋“œํ•˜๊ณ , ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ ..

๐Ÿ–Œ๏ธWeb/React 2024. 5. 7. 22:47
[React] ๋ฆฌ์•กํŠธ - props ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

React์˜ props๋Š” ํ•œ๋งˆ๋””๋กœ ์–˜๊ธฐํ•˜๋ฉด '์†์„ฑ'์ด๋‹ค.์‹ค์ œ๋กœ properties์˜ ์ค„์ž„๋ง! props๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ, ์ปดํฌ๋„ŒํŠธ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.์ฃผ๋กœ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ใ…—๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.1. props ์‚ฌ์šฉ๋ฐฉ๋ฒ•  props ์ „๋‹ฌํ•˜๊ธฐ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ props๋ฅผ ์ „๋‹ฌํ•  ๋•Œ,HTML ํƒœ๊ทธ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. props ์‚ฌ์šฉํ•˜๊ธฐ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ๋Š” ์ „๋‹ฌ๋ฐ›์€ props๋ฅผ ์ด์šฉํ•˜์—ฌ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๋กœ์ง์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.// ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธfunction App() { return ( ์‚ฌ์šฉ์ž ์ •๋ณด );}// ์ž์‹ ์ปดํฌ๋„ŒํŠธfun..

๐Ÿ–Œ๏ธWeb/React 2024. 4. 29. 22:47