1. React Component
ํค์๋
REST API ์ GraphQL
REST API ๋ ๋ฌด์์ธ๊ฐ
GraphQL์ ์ ๋ฑ์ฅํ๋๊ฐ?
REST API vs GraphQL
JSON
DSL(Domain-Specific Language)
์ ์ธํ ํ๋ก๊ทธ๋๋ฐ
๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ
SRP(๋จ์ผ ์ฑ ์ ์์น)
Atomic Design
React component ์ props
๋ฐ์ดํฐ
๋ฐฑ์๋์์ JSON ํํ์ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ค๋ค๊ณ ๊ฐ์
ํ๋ก ํธ์๋๋ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋๋ก UI๋ฅผ ๊ตฌ์ฑ
JSON
์ธํฐ๋ท์์ ์๋ฃ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ๊ทธ ์๋ฃ๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
์๋ฐ์คํฌ๋ฆฝํธ์ ๊ตฌ๋ฌธํ์์ ๋ฐ๋ฅด์ง๋ง ์ธ์ด ๋ ๋ฆฝํ ํฌ๋งท
ํค-๊ฐ
์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ์ค๋ธ์ ํธ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ํฌ๋งท๋ฌธ์์ด ํํ๋ก ์กด์ฌํ์ฌ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ ๋ ์ ์ฉํ์ง๋ง, ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ๊ธฐ ์ํด์๋ ๋ค์ดํฐ๋ธ JSON ๊ฐ์ฒด๋ก ๋ณํ๋์ด์ผํจ
์๋ฐ์คํฌ๋ฆฝํธ๋ JSON ์ ์ญ๊ฐ์ฒด๋ฅผ ํตํด ๋ฌธ์์ด๊ณผ JSON ๊ฐ์ฒด์ ์ํธ๋ณํ์ ์ง์
Parsing: ๋ฌธ์์ด์์ ๋ค์ดํฐ๋ธ ๊ฐ์ฒด๋ก ๋ณํํ๋ ๊ฒ
Stringification(๋ฌธ์์ดํ) : ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๋ฌํ ์ ์๊ฒ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๊ณผ์
REST API vs. GraphQL
์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ API
REST API
URI๋ ์ ๋ณด์ ์์์ ํํ
์์์ ๋ํ ํ์๋ HTTP Method๋ก ํํ(GET, POST, PUT, DELETE)
REST API์ ํ๊ณ์ GraphQL์ ํ์
ํ๋์ View๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฒ API๋ฅผ ํธ์ถํด์ผํจ
๋ค์ํ ๊ธฐ์ข ์์ ํ์ํ ์ ๋ณด๋ฅผ ์ผ์ผํ ๊ตฌํํ๋ ๊ฒ์ด ์ด๋ ค์
GraphQL์ ํด๋ผ์ด์ธํธ์์ ํ์ํ ๋ฐ์ดํฐ๋ง ์ฟผ๋ฆฌ๋ฅผ ํตํด ํ๋ํ ์ ์๊ฒ ํ์ฌ ํต์ ๋ก์ง์ ๊ตฌํ์ด ํธ๋ฆฌํด์ง
GraphQL
์์์ ํน์ ํ๋ ๊ฒ์ URL์ด ์๋ GraphQL Schema
์ด๋ค ์์ ์ ์งํํ๋์ง ๊ฒฐ์ ํ๋ ๊ฒ์ HTTP Mehod ๋์ Query, Mutation
ํ ๋ฒ์ ์์ฒญ์ผ๋ก ์ฌ๋ฌ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์์
์์ฒญํ ๋ ์ฌ์ฉํ๋ Query๋ฌธ์ ๋ฐ๋ผ ์๋ต์ ๊ตฌ์กฐ๊ฐ ๋ฌ๋ผ์ง
REST API์ ๋นํด HTTP ์์ฒญ์ ํ์์ ์๋ต์ ์ฌ์ด์ฆ๋ฅผ ์ค์ผ ์ ์์
์ปดํฌ๋ํธ์ Props
๋ฆฌ์กํธ์ ํน์ง
์ ์ธํ
์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ
๊ฐ๋จํ ์ปดํฌ๋ํธ๋ค์ ํฉ์ณ์ ๋ณต์กํ UI๋ฅผ ๋ง๋ค ์ ์์
์ปดํฌ๋ํธ๋ฅผ ๋๋๋ ๊ธฐ์ค
SRP(Single Responsibility Principle)
CSS
Design layer
Information Architecture
SRP
๊ฐ์ฒด๋ ๋จ ํ๋์ ์ฑ ์๋ง ๊ฐ์ ธ์ผ ํ๋ค.
์ปดํฌ๋ํธ๊ฐ ์ฌ๋ฌ ๊ฐ์ง ์ฑ ์์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๋ถ๋ฆฌํด์ผํจ
Extract Function
์ผ๋จ ๊ธธ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์๋ฅผ ์ ์์ ๋ ํจ์๋ก ์ถ์ถ. ๋์ค์ ํ์ผ๋ก ๋ถ๋ฆฌ ๊ฐ๋ฅ
Atomic Design
Atoms : ๋์์ธ์ ์ต์ ๋จ์. input, label, button, ...
Molecules: Atoms๋ฅผ ๋ชจ์์ ๋ง๋ ํ๊ฐ์ง ๊ธฐ๋ฅ์ ์ํํ๋ ๋จ์
Organisms: Atoms์ Molecules๋ก ๊ตฌ์ฑ๋ ์ฌ์ฉ์์๊ฒ ์๋ฏธ์ ์ญํ ์ด ์กด์ฌํ๋ ๋จ์
Template: ์ฌ๋ฌ Oragnism์ผ๋ก ๊ตฌ์ฑ๋ ์ต์ข ๋ ์ด์์ ํํ
Page: ํ ํ๋ฆฟ์ ์ฝํ ์ธ ๊ฐ ๋ํด์ง ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋๋ ์ต์ข ๋์์ธ์ ํํ
Props
๋๋ ์ง ์ปดํฌ๋ํธ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ
Last updated