| outline | deep |
|---|
๊ธฐ์กด ์ง์ ๊ฐ๋ฐํ์ฌ ์ด๋๋ฏผ์ ๋ง๋๋ ๊ฒฝ์ฐ ๊ฐ๋ฐํ๊ฒฝ, ์ธ์ด, ORM ์ฐ๋, ์๋ฒ ํ๋ ์์ํฌ, UI ํ ํ๋ฆฟ ํ๋ ์์ํฌ, ๋ฐฐํฌํ๊ฒฝ, ํ๋ฉด๊ธฐํ, ์ด๋๋ฏผ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฑ์ ์ค๋นํด์ผํ๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ๋ฑ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค.
์ด๊ธฐ ๋น์ฉ์ ๋ค์ฌ์ ํ๋ฒ ๋ง๋ค์ด๋ ์ด๋๋ฏผ์ ๊ฒฝ์ฐ ์ดํ์ ๋น ๋ฅด๊ฒ ๋ฉ๋ด, ํ๋ฉด์ ์ถ๊ฐํฉ๋๋ค. ํ์ง๋ง ์๊ฐ์ด ํ๋ฅผ ์๋ก ์ ์ง๋ณด์, ๋ณด์ํจ์น, ์ธ์์ธ๊ณ๋ฑ ์ง์์ ์ธ ๋ฆฌ์์ค๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด๋๋ฏผ์ ํน์ฑ์ ์๋น์ค ์ด์ ๋ฐ์ดํฐ์ ๋งค์ฐ ์์กด์ฑ์ด ๋์ ๋์์๋ ์ ์ง๋ณด์๊ฐ ํ์ํ๋ฉฐ, ์ ๊ท ์ฌ์ ์ผ๋ก ์ธํด ์๋ก์ด ํ๋ฉด๊ณผ ๋ฉ๋ด ๋ถ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด ์ด๋๋ฏผ์ด ๋น๋ํด์ง๊ฑฐ๋, ๋ ๋ค์ ์ ๊ท ์ด๋๋ฏผ์ ๋ถ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
์๊ตฌ์ฌํญ์ผ๋ก ์ธํด ์ฌ๋ฌ๊ฐ ์ด๋๋ฏผ์ ํตํฉํ๋ ๊ฒฝ์ฐ ๊ฐ๊ธฐ ๋ค๋ฅธ ์๋ฒ์ฝ๋, ํ๋ก ํธ์ฝ๋, ๋ก์ง๋ฑ์ ๋ชจ์ผ๋ ์์ ์ด ์ฝ์ง ์์ต๋๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ ์๋ก ์ด๋๋ฏผ์ ์ต์ํ์ผ๋ก ๋ง๋ค๊ณ ์ ์งํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๊ฒ ๋ฉ๋๋ค.
์ ๋ ํธ ์ด๋๋ฏผ์ ๋ฌธ์ ๋ฅผ ์๋์ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๊ณ ๋๋ค์์ ์ผ์ด์ค๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ์ด๋๋ฏผ ๊ธฐ๋ณธ ๊ตฌ์ฑ์์๋ฅผ ๋ด์ฅ
- ์ด๋๋ฏผ ๊ตฌ์ฑ์์๋ ์ค์ ์ผ๋ก ์ฌ์ฉ
- ๋ชจ๋ ์ค์ ์ ์คํ ๊ธฐ๋ฐ์ผ๋ก ์กฐํฉ ๊ฐ๋ฅ
- ์ฝ๋ ๋ถํ , ๊ด์ฌ์ฌ ๋ถ๋ฆฌ ๊ฐ๋ฅ (์: ๋ฉ๋ด, ํ๋ฉด ๋จ์)
- ๋ฐ์ดํฐ ์กฐ์์ ์ถ์ํ ์์ด ์๋ณธ ๊ทธ๋๋ก (SQL, API, JavaScript)
- ๋ฐ์ดํฐ ์ฐ๋์ ๊ธฐ์ ์ ์ธ ์ด๋ ค์์ ๋ด์ฅ (์ปค๋ฅ์ ๊ด๋ฆฌ, ์ธ์ฆ, ๋๋ผ์ด๋ฒ ๊ด๋ฆฌ)
- ๋ฐ์ดํฐ ์ฐ๋์ ๊ตฌ์ฑ์ ์ง์ ์ค์ ํ๊ณ , ์์ ํ๊ฒ ์ ๋ ฅํ ๊ฒ๋ง ์คํ
- ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์๊ฐ ๋ง์กฑํ ๋ณดํธ์ ์ธ UI ์ ๊ณต (ํ ์ด๋ธ, ์ ๋ ฅํผ๋ฑ)
- ๋ชจ๋ ์ด๋๋ฏผ ๊ตฌ์ฑ์์๋ ๋ณต์ , ํตํฉ, ๋ถํ ๊ฐ๋ฅ
- ์ต์ํ์ ๋ถ๋ถ์ ๋น ๋ฅด๊ฒ ๊ณ ์น๊ธฐ ์ฉ์ดํ ํํ
- ์ด๋๋ฏผ์ ์ฝ๋๊ฐ ์๋ ์คํ์ผ๋ก ์ฝ๊ธฐ ์ฝ๊ณ ํ๋์ ํ์ ํ๊ธฐ ์ฌ์
- ์ ๋ ํธ ์์ ๋ค๋ฅธ ์ด๋๋ฏผ์ ๊ฐ์ ธ์ ๋ฃ๊ฑฐ๋, ๋ค๋ฅธ ์ด๋๋ฏผ ์์ ์ ๋ ํธ๋ฅผ ๋ฃ์ ์ ์์
- YAML (YML, ์ผ๋ฏ, ์์ด์ ์) ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. (๊ตฌ๊ธ ์ฟ ๋ฒ๋คํฐ์ค, ๊นํ๋ธ ์ก์
๋ฑ ์ฌ์ฉ)
- ์ฌ๋์ด ์ฝ๊ณ ์ฐ๊ธฐ ์ฌ์
- ๋ช ํํ ๊ณ์ธต ๊ตฌ์กฐ
- ์ฝ๋ฉํธ ๊ฐ๋ฅ
- JSON ์์ ํธํ
menu,page,block๋ฑ ์ฌ๋ฌ๊ฐ์ง ๊ฐ๋ ์ ์์์ ๋ง๊ฒ ๋ฐฐ์นํฉ๋๋ค.- ์ต์
์ ๋ง๋
key: value๋ฅผ ์ ๋ ฅํฉ๋๋ค. - ํ์์ ๋ฐ๋ผ ํ๊ฐ ํ์ผ์ ๋ชจ์ผ๊ฑฐ๋, ์ฌ๋ฌ๊ฐ ํ์ผ๋ก ๋ง๋ญ๋๋ค. (๋ฉ๋ด ๋จ์, ์์ ๋จ์)
- ์
๋ ฅํ ์ค์ ์ด ํ๋ฆฐ
YAML๋ฌธ๋ฒ์ด๋ฉด ์๋ฌ๊ฐ ํ์๋ฉ๋๋ค. - ์ ๋ ฅํ ์ค์ ์ด ์๊ฑฐ๋ ํ๋ฆฐ ๊ฒฝ์ฐ ๊ธฐ๋ฅ์ ํ์๋์ง ์์ต๋๋ค.
pages:
- path: search-user-id
blocks:
- type: query
resource: mysql.qa
sql: >
SELECT * FROM customer
WHERE (!LENGTH(:name) OR fullname LIKE CONCAT('%', :name, '%'))
AND (!LENGTH(:phone) OR phone_primary LIKE CONCAT('%', REPLACE(:phone, '-', ''), '%'))
ORDER BY id DESC
LIMIT 10
params:
- key: name
- key: phone
columns:
phone_primary:
formatFn: maskCenter4| key | ์ค๋ช |
|---|---|
| pages | 1๊ฐ์ ํ์ด์ง๋ฅผ ํฌํจํฉ๋๋ค. |
- |
๋ฐฐ์ด array(list) ํํ |
| path | /search-user-id ๋ก ์ ์ํ๋ฉด ํด๋น ํ์ด์ง๊ฐ ๋์ต๋๋ค. |
| blocks | 1๊ฐ์ ๋ธ๋ก์ ํฌํจํฉ๋๋ค. |
| type | ์ฟผ๋ฆฌ ๋ธ๋ก ์ ๋๋ค. |
| resource | mysql.qa ์ด๋ฆ์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ต๋๋ค. |
| sql | SQL ์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅํฉ๋๋ค. |
> |
์ฌ๋ฌ์ค ํํ |
| params | 2๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํฉ๋๋ค. |
| key | ํ๋ผ๋ฏธํฐ์ ๊ณ ์ key ์ ๋๋ค. ํด๋น ํค๋ก SQL ์ฟผ๋ฆฌ์ ์ ๋ฌ๋ฉ๋๋ค. |
| columns | 1๊ฐ์ ์ปฌ๋ผ ์ต์ ์ ํฌํจํฉ๋๋ค. |
phone_primary |
SQL ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฌผ ์ค phone_primary ํ๋์ ๋ํด์ ์ต์
์ ์ง์ ํฉ๋๋ค. |
| formatFn | maskCenter4 ์ต์ ์ ์ด์ฉํฉ๋๋ค. (๊ฐ์ด๋ฐ 4์๋ฆฌ ๋ง์คํน) |
