์ถ์ฒ
https://devfoxstar.github.io/development/dsl/
https://ko.wikipedia.org/wiki/%EB%8F%84%EB%A9%94%EC%9D%B8_%ED%8A%B9%ED%99%94_%EC%96%B8%EC%96%B4
์์ญ ํนํ ์ธ์ด, ๋๋ฉ์ธ ํนํ ์ธ์ด, Domain Specific Language
ํน์ ๋๋ฉ์ธ(๋ฌธ์ ์์ญ, ์์ฉ ๋ถ์ผ)์ ํนํ๋ ์ปดํจํฐ ์ธ์ด.
ํน์ง
1. ํน์ ๋๋ฉ์ธ์ ์ต์ ํ
DSL์ ํน์ ํ ๋ฌธ์ ์์ญ(์: ์น ๊ฐ๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ, ํ ์คํธ ์ฒ๋ฆฌ ๋ฑ)์ ์ด์ ์ ๋ง์ถ๋ค. ๊ทธ ๋๋ฉ์ธ ์ธ์ ๋ฒ์ฉ์ ์ธ ์ฌ์ฉ์๋ ์ ํฉํ์ง ์์ ์ ์๋ค.
2. ๋์ ์ถ์ํ ์์ค
๊ทธ ๋๋ฉ์ธ์ ํนํ๋ ๊ฐ๋ ์ด๋ ์์ ์ ๊ฐ๋จํ๊ฒ ํํํ ์ ์๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๋ณต์กํ ์์ ์ผ๋ฅด ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
3. ์ฌ์ฉ์ ์นํ์
๋๋ฉ์ธ ์ ๋ฌธ๊ฐ๋ค์ด ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋๊ธฐ ๋๋ฌธ์, ๋น๊ฐ๋ฐ์๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ฝ๋๊ฐ ๋๋ฉ์ธ์ ๋ง๋ ์์ฐ์ค๋ฌ์ด ์ธ์ด๋ก ํํ๋๋ค.
์์
1. SQL
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ง์๋ฅผ ์ํ DSL. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๋๋ฐ ์ต์ ํ๋์ด ์๋ค.
2. HTML
์น ํ์ด์ง์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋งํฌ์ ์ธ์ด. ์น ๊ฐ๋ฐ ๋๋ฉ์ธ์ ํนํ๋ ์ธ์ด.
๐ค ๋งํฌ์ ์ธ์ด๋?
ํ ์คํธ์ ํน๋ณํ ํ๊ทธ๋ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํด ๋ฌธ์๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ , ๊ทธ ๊ตฌ์กฐ๋ฅผ ํตํด ํ ์คํธ๊ฐ ์ด๋ป๊ฒ ํํ๋ ์ง ๋๋ ์ด๋ป๊ฒ ํด์๋์ง ๋ํ๋ด๋ ์ธ์ด.
- ๋งํฌ์
์ธ์ด์ ํน์
- ํ๊ทธ ๊ธฐ๋ฐ : ํ ์คํธ ์ฃผ์์ ํ๊ทธ๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ ๊ตฌ์กฐ๋ ์๋ฏธ๋ฅผ ์ ์ํ๋ค. ํ๊ทธ๋ ๋ณดํต ์ด๊ณ ๋ซ๋ ํ์์ผ๋ก ์ฐ์ด๊ณ , ํ๊ทธ ์ฌ์ด์ ๋ค์ด๊ฐ ํ ์คํธ๊ฐ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๋์ง๋ฅผ ์ง์ ํ๋ค.
- ๋ฐ์ดํฐ์ ๊ตฌ์กฐํ : ๋ฌธ์์ ๋ด์ฉ์ด๋ ๋ฐ์ดํฐ์ ์๋ฏธ๋ฅผ ๊ตฌ์กฐํํด, ์ปดํจํฐ๋ ์ฌ๋์ด ๋ฌธ์๋ฅผ ๋ ์ ์ดํดํ ์ ์๊ฒ ํ๋ค.
- ๋ํ์ ์ธ ๋งํฌ์
์ธ์ด
- HTML (HyperText MarkUp Language) : ์น ํ์ด์ง์ ๊ตฌ์กฐ์ ์ฝํ ์ธ ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ์น ํ์ด์ง๋ฅผ ๋ ๋๋งํ๋ ๋ฐฉ์์ ์ํฅ์ ์ค๋ค.
- XML (eXtensible MarkUp Language) : ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๋ฌํ๊ธฐ ์ํ ๋งํฌ์ ์ธ์ด. ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
- Markdown: ๊ฐ๋จํ ์์ ์ง์ ๋งํฌ์ ์ธ์ด. ๋ธ๋ก๊ทธ๋ ๋ฌธ์์์ ๊ฐ๋จํ ํ ์คํธ ํ์ ์ง์ (์ ๋ชฉ, ๋ฆฌ์คํธ, ๋งํฌ ๋ฑ)์ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค.
3. ์ ๊ท ํํ์ Regualr Expressions
๋ฌธ์์ด ํจํด ๋งค์นญ์ ํนํ๋ ์ธ์ด. ํ ์คํธ ์ฒ๋ฆฌ์ ์์ฃผ ์ฌ์ฉ๋๋ค.
4. Gradle
๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋๋ฉ์ธ ํนํ ์ธ์ด. ๋น๋ ์๋ํ๋ฅผ ๋๋๋ค.
์์ญ์ด ํนํ๋์ง ์์ ์ธ์ด๋ ์๋ค.
๋ฒ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด GPL General Purpose Language
์ด๋ ๋๋ฉ์ธ์์๋ ์ ์ฉ ๊ฐ๋ฅํ ๋ฒ์ฉ ์ธ์ด
ํน์ง
1. ๋ค์ํ ์ฉ๋
ํน์ ํ ๋๋ฉ์ธ์ ํ์ ๋์ง ์๊ณ , ๊ฒ์ ๊ฐ๋ฐ, ์น ์ ํ๋ฆฌ์ผ์ด์ , ์์คํ ํ๋ก๊ทธ๋๋ฐ, ๋ฐ์ดํฐ ๋ถ์ ๋ฑ ๋ค์ํ ๋ชฉ์ ์ ์ฌ์ฉ๋ ์ ์๋ค.
2. ์ ์ฐ์ฑ
์ฌ๋ฌ ์ํฉ์ ๋ง๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ฒ๋์ด ์์ด์, ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ฐฉ์์ผ๋ก ํ์ฅํ๊ฑฐ๋ ์กฐ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด ํ๋ถํ๋ค.
3. ๋ง์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋๋ถ๋ถ์ ๋ฒ์ฉ ์ธ์ด๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํ์ค ๋ผ์๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ถ๊ณ ์์ด, ๋คํธ์ํฌ ํต์ , ํ์ผ ์ ์ถ๋ ฅ, ์ค๋ ๋ ์ฒ๋ฆฌ ๋ฑ ๋ค์ํ ์์ ์ ์ง์ํ๋ค.
์์
1. Python
์น ๊ฐ๋ฐ, ๋ฐ์ดํฐ ๊ณผํ, ์ธ๊ณต์ง๋ฅ, ์์คํ ์๋ํ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ๋ฒ์ฉ ์ธ์ด
2. Java
๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ (Android), ์น ์ ํ๋ฆฌ์ผ์ด์ , ์๋ฒ ๊ฐ๋ฐ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ค.
3. C++
์์คํ ํ๋ก๊ทธ๋๋ฐ, ๊ฒ์ ๊ฐ๋ฐ, ์๋ฒ ๋๋ ์์คํ ๋ฑ ๋งค์ฐ ๋ค์ํ ์์ญ์์ ์ฌ์ฉ๋๋ค.
'๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋ฐ] ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ (0) | 2024.10.11 |
---|---|
[ํ๋ก๊ทธ๋๋ฐ] ์ ์ ํ์ ์ง์ ์ธ์ด (1) | 2024.10.09 |
[Java] I/O Stream (2) | 2024.10.07 |
[Java] ๋ฎคํ ์ค Mutex & ์ธ๋งํฌ์ด Semaphore (0) | 2024.10.01 |
[Java] volatile ํค์๋ - ๋ณ์์ ๊ฐ์์ฑ, ์ฌ์ ๋ ฌ ๋ฐฉ์ง (0) | 2024.10.01 |