๋ด์ผ๋ฐฐ์์บ ํ 4๊ธฐ ์คํ๋ฅดํ์ฝ๋ฉ React B๋ฐ
๐ ์ค๋์ ๊ณต๋ถ
1. JS๋ก ํ๋ SPA ํน๊ฐ
-
MPA์ SPA์ ์ฐจ์ด
- SPA(Single Page Application): client side rendering
-> ๋ ๋น ๋ฅด๊ณ ์ฌ์ฉ๊ฐ์ด ์ข๋ค
- MPA(Mulit Page Application) : server side rendering
-
JS SPA์์ Hashed Routing์ด ํ์ํ ์ด์
- Hashed url path: ์ฃผ์+#
-> # ๋ท ๋ถ๋ถ : ํธ์คํ
์๋ฒ์์๋ ๋ก์ปฌ๋ก ์ทจ๊ธ
- ๋ธ๋ผ์ฐ์ ์ ๋ํดํธ ๊ธฐ๋ฅ : ์๋ก๊ณ ์นจ์ ํ๋ฉด GET ์์ฒญ
-์ฃผ์#about
๋ก ์ฒซ ๋๋ฉ ํน์ ์๋ก๊ณ ์นจ
-> ๋ธ๋ผ์ฐ์ ๋ index.html ํ์ผ ํ๋๋ง ๋ก๋
์ฃผ์/about
๋ก ์ฒซ ๋๋ฉ ํน์ ์๋ก๊ณ ์นจ
-> ๋ธ๋ผ์ฐ์ ๋ ํธ์คํ
์๋ฒ์ /about
์ ํด๋นํ๋ ๋ณ๋์ ํ์ด์ง๋ฅผ ์์ฒญํ๋ฉฐ ์ค๋ฅ๊ฐ ๋๋ค(404 Not Found)
-
๊ณต์ ๋ฐ์ ์ฝ๋ ๋ณด๋ฉด์ ์ดํดํ๊ธฐ
โ route(event)ํจ์๊ฐ ์คํ
โกpreventDefault()
: ์๋ก๊ณ ์นจ ๋ฐฉ์ง
์ฃผ์์ โ ์ a ํ๊ทธ์ ์๋ hash๊ฐ ๋ถ์
โข ํด์ฌ๊ฐ ๋ณ๊ฒฝ ๋๋ฉด handleLocation
ํจ์ ์คํ
โฃ #๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋ง๋ค๊ณ ๊ฒฝ๋ก๋ฅผ ์ค์
โค routes์์ ๊ฒฝ๋ก์ ๋ฐ๋ผ html ํ์ผ์ ๊ฐ์ ธ์จ๋ค.
text()ํจ์๋ก data๋ฅผ ๋ฌธ์๋ก ์ค์
โฅ main-page์ ํด๋น html์ ๊ฐ์ ธ์ ๋ณด์ฌ์ค๋ค
temp_html
์ ์ด์ฉํ ๊ฒ๊ณผ ๋น์ท
โฆ ์๋ก๊ณ ์นจ ์ โฃ์์ path = "/"
-> routes์์ ํด๋น html์ ๊ฐ์ ธ์จ๋ค
- ์์
- vscode์์ html ํ์ผ์ ์ฐ ์ํ๋ก 'go live' ํ์ง ๋ง ๊ฒ
-> html์ ์ ์ธํ ํ์ผ์ ์ ํํ ์ํ์์ 'go live'ํด์ผ ๋๋ฉ์ธ(127.0.0.1)์ฃผ์๋ง ๋ฌ๋ค!
- Loopback
-> ๋ธ๋ผ์ฐ์ ๊ฐ ์์ ์ ์๋ฒ์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ
-> Loopback IP address = 127.0.0.1
- ์ง๋ฌธ&๋ต๋ณ
- ํ html์ ์ฌ๋ฌ ์ปดํฌ๋ํธ ๋ฃ์ด๋ ๋จ(React์์)
- ์ปดํฌ๋ํธ๋ณ๋ก js, cssํ์ผ์ด ๋ถ๋ฆฌ๋์ด ์์ ๊ฒฝ์ฐ ์ด๊ธฐ์ ํ ๋ฒ์ ์์ฒญ์ ํด์ผ ํ๋๊ฐ?
-> ๋ณ๋์ ์กฐ์น๋ฅผ ์ทจํ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ ๋ณ๋ก js, css ํ์ผ์ ๋ถ๋ฆฌ๋ฅผ ํ๋ ์ ํ๋ ์ฒ์์ ๋ค ๋ค์ด๋ฐ๋๋ค.
- ๋ค์ด๋ฒ ํ์ด์ง๋ผ๊ณ ํ๋ค๋ฉด ํฌ๊ฒ ๋ก๊ทธ์ธ์ฐฝ ์ปดํฌ๋ํธ, ๊ฒ์์ฐฝ ์ปดํฌ๋ํธ ๋ฑ์ผ๋ก ๋๋ ๋ณผ์ ์๋ค.
- SPA vs MPA์ SSR vs CSR ์ฅ๋จ์
https://hanamon.kr/spa-mpa-ssr-csr-%EC%9E%A5%EB%8B%A8%EC%A0%90-%EB%9C%BB%EC%A0%95%EB%A6%AC/
2. SP_์น ํผ๋ธ๋ฆฌ์ฑ ๊ฐ์
- 3์ฃผ์ฐจ
- ๊ฐ๋ก ์ฌ๋ผ์ด๋ ๋ง๋ค๊ธฐ
- ํธํ์ฑ์ด ํ์ํ ์ฝ๋๋ ์์
-webkit-
๋ถ์
-webkit-border-radius
- Box๋ฅผ ๋จผ์ ๋ง๋ ๋ค Swiper ์ ์ฉ
-> container(+class) - wrapper - slider
๊ตฌ์กฐ
โ
๋ฌธ์
- ์นด๋ ์ฌ๋ผ์ด๋ ๋ด์ฉ์ด ๊ฐ๋ก๋ก ๊ธธ๊ฒ ๋ชจ๋ ๋ณด์ด๋ ์ํ
.sc_timesquare .card_wrap
์์
overflow: hidden
์ด ์ฃผ์์ฒ๋ฆฌ ๋์ด ์์์
-> hidden์ผ๋ก ํ๋ ํด๊ฒฐ๋์ง๋ง
- ์ฌ๋ผ์ด๋์ ์ข์ฐ ๋ฒํผ์ ๋ค์ ์นด๋ ๋ด์ค ์ผ๋ถ๊ฐ ๋ณด์
- ๋ค์ด๋ฒ ํ์ด์ง์ ๋น๊ตํด๊ฐ๋ฉฐ
- slider.js๋ฅผ ๋ง๋ค์ง ์์์ ๊ทธ๋ฐ ๊ฑฐ์์. ํ์ผ์ด ์๊ณ html๋ด์์๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋์ด์ ๋ค์ด๋ฒ ํ์ด์ง์ฒ๋ผ ์ ๋ณด์ด์ง ์์ ๊ฒ...
- ์ด๊ฒ ๋๋ฌธ์ ๋ ์๊ฐ ์์ฒญ ์ผ๋คใ
ใ
- ๊ฒฐ๊ตญ
overflow: hidden
์ฃผ์์ฒ๋ฆฌ ๋์ด ์๋ ๊ฒ๋ ๊ทธ๋๋ก ๋๋ ๊ฒ ๋ง์๋ ๊ฒ ๊ฐ๋ค!
- 4์ฃผ์ฐจ, 5์ฃผ์ฐจ
- ์ ์ฒด์ ์ผ๋ก ๊ฐ์๊ฐ ๊ทธ๋ฅ ๋ง๋ค์ด์ง ์ฝ๋๋ฅผ ๊ฐ์ฌ๊ฐ ์ด๊ฑด ๋ญ๊ณ ์ด๊ฑด ๋ญ๊ณ ํ๋ฉด์ ๊ฐ๋จํ๊ฒ ์๊ธฐํ๊ณ ์์ ๋ก ํด ๋ณด๋ผ๊ณ ํ๋ ๊ฑด ์ข ๋ณต์กํด์ ์ค๋ช
์ ๋ณด๋ ์ญ์ ์ด๊ฒ๋ ๊ทธ๋ฅ ๋์ถฉ ์ค๋ช
ํ๊ณ ๋์ด๊ฐ๋ ๋๋์ด๋ผ ํฌ๊ฒ ๋จ๋ ๊ฒ ์๋ค.
- ๊ฐ์์์ ๊ฐ์ ธ์จ ์ฝ๋๋ฅผ ๋ด๊ฐ ํ๋ ํ๋ ๋ฏ์ด๋ณด๊ณ ๋ด๊ฐ ์ฒ์๋ถํฐ ์ฝ๋๋ฅผ ๋ค์ ์ง๋ ๊ฑธ๋ก ๋ณต์ต์ ํด์ผ ํ ๊ฒ ๊ฐ๋ค.
3. Youtube ํ์ด์ง ๋ง๋ค๊ธฐ_1
- ์น ํผ๋ธ ๊ฐ์๋ฅผ ๋ค์๋๋ฐ ๋จ๋ ๊ฒ ์๋ค๋ ๊ฒ ๋๋ฌด ์์ฝ๊ณ ๋ญ๋ผ๋ ์ฝ๋๋ฅผ ์น๊ณ ์ถ์ด์ ํ์ด์ง ๋ง๋๋ ์ ํญ์ ๋ณด๊ณ ์ฝ๋๋ฅผ ์ณค๋ค.
4. Databse ํน๊ฐ
- DB
- ๋ฐ์ดํฐ ๋ชจ์ + DBMS(DataBase Management System)์ ์๋ฏธ
- RDBMS(Relational DBMS)
- ๋ฐ์ดํฐ๊ฐ ์ด๊ณผ ํ์ด ์๋ ํ
์ด๋ธ๋ก ์ ์ฅ
- ์ฌ์ ์ ์ ์๋ ๋ด์ฉ์ ๋ถํฉํ๋ ํํ์ ๋ฐ์ดํฐ๋ง ์ฝ์
- ์ข
๋ฅ: MySQL / Oracle / SQLite / MariaDB / PostgresSQL
- SQL(Structured Query Language)
- RDBMS์์ ์ฌ์ฉ๋๋ ์ธ์ด
- RDBMS๋ฅผ SQL์ด๋ผ๊ณ ๋ ํจ
- Scale up(์์ง ํ์ฅ) : ์๋ฒ์ ์ฑ๋ฅ์ ๋๋ฆผ. RDBMS. ํ๋์จ์ด ๋ฐ์ ํ๊ณ
- NoSQL
- ์ฌ์ ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ์ง ์๊ณ ์ ์ฐํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์
- ๋ค์ํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ ํ ๆ
- Scale Out(์ํ ํ์ฅ) : ์๋ฒ์ ๋์๋ฅผ ๋๋ฆผ. NoSQL. ์ ํ์ฑ์ ํ๊ณ
๐
์น๊ตฌ๋ค ์กฐ์ธ
- ๋ด๊ฐ ์ฌ๋ํ๋ ๊ฐ๋ฐ์ ์น๊ตฌ๋ค์ด ์์ฆ ๋ ์ํ๊ณ ์๋์ง ๋ฌผ์ด๋ดค๋ค.
- ์์ฆ ๋ณต์ต๋ ๋ฐ๋ ธ๊ณ ํ ๊ฒ๋ ๋ง์๋ฐ ์๋ก์ด ํ ์ผ๋ค์ด ๊ณ์ ์๊ฒจ์ ๋๋ฌด ๋ฒ
์ฐจ๋ค๊ณ ํ๋๋ ์น๊ตฌ๋ค์ด ์ง๊ธ ์ ํ๊ณ ์๋ค๋ฉฐ ์ฐ์ ์์๋ฅผ ์๋ ค์คฌ๋ค.
โญJS + ๋ฐฐ์ด ๊ฒ ๋ณต์ต, ํฌํธํด๋ฆฌ์ค์ ์ ์ฉ
- ๋ฏธ๋ํ๋ก์ ํธ ๊ฐ์ธํ์ด์ง๋ฅผ ์์ ํ๊ณ ์ถ์์ง๋ง ๊ณ์ ๋ค๋ฅธ ์ผ์ ์ฐ์ ์์๊ฐ ๋ฐ๋ ธ๋ค. ๋ด ์์ฌ๋๋ก ๋ ์์๊ณ ๋ง์ ๊ธฐ๋ฅ์ ๋ฃ๊ธฐ ๋ณด๋ค๋ ์ผ๋จ ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ์ ๋ชจ๋ ๊ตฌํํ๋ค๋ ๊ฒ์ ๋ชฉํ๋ก ์ผ๊ณ ํด๋ณด๊ธฐ!!!
- ๋ฐฐ์ด ๊ฑธ ํฌํด์ ์ ์ฉํ๋ ๊ฒ ์์ฒด๊ฐ ์ฝ๋๋ฅผ ๊ณ์ ์น๋ ๊ณต๋ถ๊ฐ ๋๋ค.
๊ณต๋ถ ์ ๋ฆฌํ์๊ณ ๊ณ์๋๋ ์ค์ค๋ก ๊ณต๋ถ ๋ฐฉํฅ์ฑ์ ์ ํ์๋ ๊ฒ ๋ฌด์๋ณด๋ค ์ข์ ๊ฒ ๊ฐ์ต๋๋ค!