๋ํ ์ํฉ์ ๋ํด ๊ฐ๋ตํ ์ค๋ช (๊ฐ์ธ ๊ฒฝํ)
์ฐ์ , ์ ์๋ ์๋ฃ๊ฐ ์ฃผ๊ด์ , ์ฆ "๋ด๋ถ์์ ๋ณธ ๋ชจ์ต"์ด๋ผ๊ณ ๋ช ์ํ ๊ฐ์น๊ฐ ์์ง๋ง, ์ด ์ ๋ณด๋ ์๋น์ํธ ์ดํ ๊ณต๊ฐ์ ๋ง์ ์ฃผ๋ฆฝ ๋ํ๊ณผ ๊ด๋ จ์ด ์๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค.
IT ์ ๋ฌธ๊ฐ์ ๋ํ ์์๋ก ์ธํด ๋ง์ ๊ต์ก ๊ธฐ๊ด์์ ๊ด๋ จ ๊ต์ก ๋ถ์ผ๋ฅผ ๊ฐ์คํ์ต๋๋ค. ๊ฒ๋ค๊ฐ IT ์ ๊ณต์ด ์๋ ํ์๋ค๋ Python, R ๋ฑ IT ๊ด๋ จ ๊ณผ๋ชฉ์ ๋ง์ด ์ด์ํ ๋ฐ๋ฉด, ์ด์ด ์ข์ง ์์ ํ์๋ค์ Pascal๊ณผ ๊ฐ์ "๋จผ์ง ๋ง์" ํ์ ์ธ์ด๋ฅผ ๋ง์คํฐํด์ผ ํฉ๋๋ค.
๋ ๊น์ด ์ดํด๋ณด๋ฉด ๋ชจ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง ์์ต๋๋ค. ๋ชจ๋ ๊ต์ฌ๊ฐ "ํธ๋ ๋"๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ ์๋๋๋ค. ๊ฐ์ธ์ ์ผ๋ก "ํ๋ก๊ทธ๋๋ฐ" ์ ๋ฌธ ๋ถ์ผ๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ผ๋ถ ๊ต์ฌ๋ค์ ์ต์ ๊ฐ์ ๋ ธํธ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ ์ฌ์ค์ ์ง๋ฉดํ์ต๋๋ค. ์ข ๋ ์ ํํ๊ฒ ๋งํ๋ฉด, ๊ต์ฌ๋ ์ด๋ค ํ์์ด ์์ผ๋ก ์ด ๋ฉ๋ชจ ์ฌ์ง์ ํ๋์ ๋๋ผ์ด๋ธ์ ๋ด์ ๊ต์ฅ์๊ฒ ๋ณด๋์ต๋๋ค. ๋๋ ์น ํ๋ก๊ทธ๋๋ฐ ๋งค๋ด์ผ(2010)๊ณผ ๊ฐ์ ์๋ฃ์ ๊ด๋ จ์ฑ์ ๋ํด ์์ ํ ์นจ๋ฌตํฉ๋๋ค. ๊ธฐ์ ํ๊ต์ ํ๊ต์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ถ์ธกํ๋ ๊ฒ๋ ๋จ์ ์์ต๋๋ค. ์ต์ ์ค์ ์ต์ ๊ต์ก ๊ธฐ๊ด.
๊ฒฐ๊ณผ :
- ๊ทธ๋ค์ ์ ๋์ ํ์ ์งํ๋ฅผ ์ถ๊ตฌํ๊ธฐ ์ํด ๊ด๋ จ ์๋ ์ ๋ณด๋ฅผ ๋ง์ด ์ธ์ํฉ๋๋ค.
- ์๋ก์ด ์๋ฃ์ ์ถ์๋ ์ฒด๊ณ์ ์ด์ง ์์ต๋๋ค.
- ๋จ์ํ ๋ฌด์ง๋ก ์ธํด "ํธ๋ ๋ํ" ์ต์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋์น๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- ์์ฑ์์๊ฒ ํผ๋๋ฐฑ์ ์ฃผ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
- ์ ๋ฐ์ดํธ๋ ํ์ ๋๋ฌผ๊ฒ, ๋น์ ๊ธฐ์ ์ผ๋ก ์ถํ๋ฉ๋๋ค.
โ๋์ํ์ง ์์ผ๋ฉด ๋นํํ๊ณ , ๋นํํ๋ฉด ์ ์ํ์ธ์.โ
๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅด๋ ๊ฒ์ ์์ง ๊ธฐ๋ฐ ์์คํ
์ ๊ตฌํ์ด๋ค.
- ๋ชจ๋ ์๋ฃ์ ์๋ฌด์ ๊ฐ๋ฐฉ์ฑ(์ธ์ฉ: "์ฌ๊ธฐ ์ํค ํ๊ฒฝ์์๋ ๊ต์ก ๋ฌธํ์ด ๊ณต๋์ผ๋ก ์์ฑ๋๊ณ , ์์ ๋กญ๊ฒ ๋ฐฐํฌ๋๋ฉฐ ๋ชจ๋ ์ฌ๋์ด ์ ๊ทผํ ์ ์์ต๋๋ค.")
- ์ฌ์ดํธ ๊ท์น, ์ฌ์ฉ์์ ๋ด๋ถ ๊ณ์ธต ๊ตฌ์กฐ์ ๋ํ ์ผ๋ถ ์์กด์ฑ์ ์กด์ฌ
ํผ๋ธ๋ฆญ ๋๋ฉ์ธ์๋ ์๋ง์ ์ํค ์์ง์ด ๋ ๋๊ณ ์์ง๋ง ๋ํ ๊ท๋ชจ์ ์ํค ์์คํ ๊ตฌ์ถ ๊ฐ๋ฅ์ฑ์ ๋ํด์๋ ๊ตณ์ด ์ด์ผ๊ธฐํ ํ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฒฝํ์ ๋ค์๊ณผ ๊ฐ์ด ๋งํ ์ ์์ต๋๋ค. a) ์ด๋ฌํ ์์ฒด ํธ์คํ ์๋ฃจ์ ์ ๋ด๊ฒฐํจ์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. b) ์์คํ ์ ๋ฐ์ดํธ๋ฅผ ์์ด๋ฒ๋ฆด ์ ์์ต๋๋ค(๋งค์ฐ ๋๋ฌธ ๊ฒฝ์ฐ ์ ์ธ).
์ค๋ซ๋์ ๋๋ ์ํฉ์ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ฌด ์์ฉ์ด ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ ์ง์ธ์ด ์ค๋ ์ ์ A4์ ์ฑ ์ด์์ ์ธ์ํ์ง๋ง ์ ์ ๋ฒ์ ์ ์์ด ๋ฒ๋ ธ๋ค๊ณ ๋งํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๋ชจ๋ ์ ์ ํ์์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๊ด์ฌ์ด ์์์ต๋๋ค.
์ด๊ฒ์ ์๋นํ ์์ ๊ณต์๊ณผ ๊ทธ๋ํ๊ฐ ํฌํจ๋ ๊ต๊ณผ์์๊ธฐ ๋๋ฌธ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ OCR ๋๊ตฌ(์:
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ๋จํ ํ
์คํธ ํธ์ง๊ธฐ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ ๋์ฒดํ์ ์ฐพ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๊ฒ์ ์๋ํ๋ค
๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด, ๊ทธ ๊ฒฐ๊ณผ ์
๋ ฅ๋ ํ
์คํธ๋ฅผ ๋ชจ์ WEB์ผ๋ก ๋ณํํ๋ ์์
์ ์ํํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ๊ฐ ์์ฑ๋์๋๋ฐ, ์ด๋ ๋ถ๋๋ฝ์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ ๊ฐ๋จํ HTML ํ
ํ๋ฆฟ์ด๋ฉด ์ถฉ๋ถํ์ต๋๋ค.
WEB์ผ๋ก ๋ณํํ๋ ๋ช
๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
find ./src -mindepth 1 -maxdepth 1 -exec cp -r -t ./dist {} +
find ./dist -iname "*.md" -type f -exec sh -c 'pandoc "find ./src -mindepth 1 -maxdepth 1 -exec cp -r -t ./dist {} +
find ./dist -iname "*.md" -type f -exec sh -c 'pandoc "${0}" -s --katex -o "${0::-3}.html" --template ./temp/template.html --toc --toc-depth 2 --highlight-style=kate --mathjax=https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' {} ;
find ./dist -name "*.md" -type f -exec rm -f {} ;
" -s --katex -o "${0::-3}.html" --template ./temp/template.html --toc --toc-depth 2 --highlight-style=kate --mathjax=https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' {} ;
find ./dist -name "*.md" -type f -exec rm -f {} ;
์ฃผ๋ชฉํ ๋งํ ์ ์ ์ค๋งํธํ ์์ ์ ์ํํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฝ๊ฒ ํ์ํ ์ ์๋๋ก ์ฝํ ์ธ ํค๋๋ฅผ ์์งํ๊ณ LaTeX๋ฅผ ๋ณํํฉ๋๋ค.
ํ์ฌ ์ง์์ ์ธ ํตํฉ ์๋น์ค(Circle CI, Travis CI..)๋ฅผ ์ฌ์ฉํ์ฌ github์ ๋ด๋น์์๊ฒ ํธ์ํ ๋ ๋น๋๋ฅผ ์๋ํํ๋ ์์ด๋์ด๊ฐ ์์ต๋๋ค.
์๋ก์ด ๊ฒ์ ์์ต๋๋ค...
์ด ์์ด๋์ด์ ๊ด์ฌ์ ๊ฐ์ง๊ฒ ๋๋ฉด์ ๊ทธ๊ฒ์ด ์ง๊ธ ์ผ๋ง๋ ์ธ๊ธฐ๊ฐ ์๋์ง ์์๋ณด๊ธฐ ์์ํ์ต๋๋ค.
์ด ์์ด๋์ด๊ฐ ์ํํธ์จ์ด ๋ฌธ์ํ์์๋ ์๋ก์ด ๊ฒ์ด ์๋๋ผ๋ ๊ฒ์ ๋ถ๋ช
ํ์ต๋๋ค. ์ ๋ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ๊ต์ก ์๋ฃ์ ์๋ฅผ ๊ฝค ๋ง์ด ๋ณด์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. JS ์ฝ์ค
๋๋ ์์ ํ LaTeX๋ก ์์ฑ๋ ์ฑ ์ด ์๋ ์ ์ฅ์๋ฅผ ๊ฝค ๋ง์ด ๋ณด์์ต๋๋ค.
์ถ๋ ฅ
๋ง์ ํ์๋ค์ด ์ด์ ์ ์ฌ๋ฌ ๋ฒ ์ผ๋ ๋ฉ๋ชจ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ค์ ์์ฑํฉ๋๋ค(์์ผ๋ก ์ฐ๋ ๊ฒ์ ์ด์ ์ ๋ํด์๋ ์๋ฌธ์ ์ฌ์ง๊ฐ ์์ต๋๋ค). ์ ๋ณด๊ฐ ์์ค๋๊ณ ๋งค์ฐ ๋๋ฆฌ๊ฒ ์ ๋ฐ์ดํธ๋ ๋๋ง๋ค ์ฐ๋ฆฌ๊ฐ ์ดํดํ๋ ๊ฒ์ฒ๋ผ ๋ชจ๋ ๋ฉ๋ชจ๊ฐ ๊ธฐ๋ก๋์ง๋ ์์ต๋๋ค. ์ ์ ์์. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฉ๋ชจ๋ฅผ github์ ์ ๋ก๋ํ๊ณ (pdf๋ก ๋ณํ, ์น ๋ณด๊ธฐ) ๊ต์ฌ์๊ฒ๋ ๋์ผํ ์์ ์ ์ํํ๋๋ก ์ ์ํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค. ์ด๋ ํก์๋๋ ์ ๋ณด์ ์์ ๋๋ฆฌ๋ ๊ฒ์ ๋ฌผ๋ก , ์ด๋ ์ ๋ ํ์๊ณผ ๊ต์ฌ๋ฅผ "์ค์๊ฐ" ๊ฒฝ์์ ์ธ GitHub ์ปค๋ฎค๋ํฐ๋ก ๋์ด๋ค์ผ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ ๊ฐ ์ด์ผ๊ธฐํ๋ ์ฑ
์ ์ฒซ ๋ฒ์งธ ์ฅ์ ๋ํ ๋งํฌ๋ฅผ ๋จ๊ฒจ ๋๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com