๋ถ๋ฅ:์น ํ๋ ์์ํฌ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
Ruby on Rails๋ Ruby๋ฅผ ์ฌ์ฉํ๋ ์น ํ๋ ์์ํฌ๋ก ๋ด๋งํฌ์ David Heinemeier Hansson์ด ์คํ ์์ค๋ก ๋ง๋ค์๋ค. ์ค์ฌ์ Rails๋ RoR์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ํ ์คํ ์น ํ๋ ์์ํฌ์ด๊ณ , non full-stack ์น ํ๋ ์์ํฌ๋ก๋ Sinatra ๋ฑ์ด ์๋ค.
๋ฃจ๋น์จ ๋ ์ผ์ฆ์ ์ดํ ๋ฑ์ฅํ ๊ฑฐ์ ๋ชจ๋ ํ์คํ ์น ํ๋ ์์ํฌ๋ Rails์ ๋์์ธ์ ์ํฅ์ ๋ฐ์๋ค๊ณ ํด๋ ๊ณผ์ธ์ด ์๋ ์ ๋์ด๋คโ. Python์ Django๋ PHP์ Laravel์ด ๊ทธ ์ํฅ์ ๋ฐ์ ์ค๊ณ๋์๋ค. MVC ๋ชจ๋ธ ํจํด์ ์ฑํํ๊ณ ์์ผ๋ฉฐ, ์ฌ์ฉํ๋ ์ธ์ด๊ฐ Ruby์ธ์ง๋ผ ๊ณ ๊ธ์ง๊ณ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ํนํ ์ ์์ผ ํ๋ก์ธ์ค์ ์ด์ ์ ๋ง์ถ๋ ์คํํธ์ ๊ธฐ์ ๋ค์ด ๋ง์ด ์ฑํํ์๋ค.
๋ค๋ง 2016๋ ๋ถํฐ Node.js๋ผ๋ ์ ํฅ ๊ฐํธ๊ฐ ๊ฐํญํํด ์ ์ ์จ์ด ๋ฐ์ง ์ซ๊ธฐ๋ ์ํฉ์ด๋ค. 2020๋ ์ดํ๋ก๋ ์ ์ธ๊ณ์ ์ผ๋ก Node.js๋ฅผ ๋ ๋ง์ด ์ด๋ค.
2. ํน์ง[ํธ์ง]
2.1. ์ฅ์ [ํธ์ง]
- ์ธ์ด์ ํน์ฑ์ด ์ ์์ผ์ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๊ธฐ ๋๋ฌธ์ ์์ฐ์ฑ์ด ๋๋ค.
- ํ์ฅ์ฑ๊ณผ ์ด์์ฑ์ด ๋๋ค.[1]
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ํ ๋ ์ํฐ๋ธ๋ ์ฝ๋ ํจํด์ ์ ์ฉํ ORM์ ๋์ ํ์ฌ ํธ๋ฆฌํ๋ค.
- ์ธ๋ถ์ ์ธ ์ค์ ์ด ์ ์ํธ์ด๋ค.
2.2. ๋จ์ [ํธ์ง]
- ๊ฐ๋ฐ์๊ฐ ๋ถ์กฑํ๋ค. ๋ฌผ๋ก ์ด๊ฒ์ ๊ตญ๋ด์ ์๊ธฐ.
- ํ์ด์ฌ์ ์ฅ๊ณ ๋งํผ ์๋๊ฐ ๋๋ฆฌ๋ค.
- ์์์ ๊ท์ฝ์ด ๋ง๋ค. [2]
3. ์ฌ๋ด[ํธ์ง]
- Ruby๋ฅผ ๋ชจ๋ฅด๋ ์ฌ๋๋ ๊ฐ์ข ๋ช ๊ฐ๋ฅผ ๋ณด๋ฉด ์ธ๋งํ ๋ธ๋ก๊ทธ ํ๋๋ฅผ ๋ง๋ค ์ ์์ ์ ๋๋ก ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ ์ ์๋ค.
- ๋น ๋ฅด๊ฒ ์๋น์ค๋ฅผ ๊ฐ๋ฐํด์ผ ํ๋ ์คํํธ์ ํ์ฌ์์ ๋ง์ด ์ฌ์ฉํ๋ค. ํ์ง๋ง ํ๊ตญ์์๋ Ruby๋ผ๋ ์ธ์ด ์์ฒด๊ฐ ๊ต์ฅํ ๋ง์ด๋ํ๊ธฐ ๋๋ฌธ์ ์์ฆ์๋ PHP์ ๋ผ๋ผ๋ฒจ์ ์ฐ๊ฑฐ๋, Python ์ฅ๊ณ , JavaScript ๋ฅผ ์ ํธํ๋ ๊ฒฝํฅ์ด ์๋ค.
- ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋๋ฐ, ํ์ด์ฌ๋ณด๋ค๋ ๋๋ฆฌ์ง๋ง ๊นํ๋ธ, ๊ทธ๋ฃจํฐ,
ํธ์ํฐ[3],๋ฃจ๋น๊ฐ ์ผ๋ณธ์ธ์ด ๊ฐ๋ฐํ ์ธ์ด๋ผ ์ผ๋ณธ์์๋ ๊ฐ๋ฐ์๋ ๋ง๊ณ ๋ํํ์ฌ๋ค๋ ์ฌ์ฉํ๋ค. ์ฌ์ค ํ๋์จ์ด ์์์ ๋นก์ธ๊ฒ ํ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ (๊ฒ์ ๋ฑ)์ด ์๋ ์ด์, ์ฑ๋ฅ์ ์ธ์ด์ ์๋๋ณด๋ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ค๋๋ ๋ฑ ์ธ๋ถ์ ์์์ ์ํฅ์ ๋ ํฌ๊ฒ ๋ฐ๋๋ค.
4. Rails๋ก ๋ง๋ค์ด์ง ํ๊ตญ ๋ด ์๋น์ค ํํฉ[ํธ์ง]
๊ตฌ๊ธ์
inurl:users/sign_in ํค์๋๋ก ๊ฒ์ํด๋ณด๋ฉด ๋ ์ผ์ฆ๋ฅผ ์ฌ์ฉ์ค์ธ ์ฌ์ดํธ๋ค์ ํ์ธํ ์ ์๋ค.- ๊ทธ๋ฃจ๋ฏธ
- ๋๋๋ณด(http://the-nuvo.com)
- ๋ฆฌ๋ ธํธ
- ๋ง์ด๋ฆฌ์ผํธ๋ฆฝ
- ๋ง๊ณ ํ๋ ์ดํธ
- ๋ชจ์ํผ
- ๋ฐธ๋ฅ์ต์
- ๋ฐฐํ์ฝ๋ฏน์ค
- ๋ณผ๋ง๊ณ
- ์ฐํ ํฌ ํ ์ต!
- ์ค์ค๊ฑด๊ฑด
- ์ผํธ๋น
- ์ค๋ ์ต
- ์คํฌํํก
- ์คํธ๋ผ์ ์ค
- ์์ด๋ ธ์๋ฐ
- ์์ด์ ์ค์ฟจ
- ์์8
- ์ฐ๋
- ์์ดํธํฌ๋ฃจ์ฆ
- ์ค๋์์ง
- ์์ฑ
- ์ ์ํ์คํฉํ ๋ฆฌ
- ์ ์ ํด๋น
- ์๋ตํ๋ผ ๊ตญํ์์
- ์ด์
- ์์์ค
- ์กํ๋๋
- ์ฆ๊ถํ๋ฌ์ค ์ธ์ฌ์ดํธ
- ์ฑํ ์บฃ
- ์นด์นด์ค
- ์ปคํผํ์ (https://withcoffee.app)
- ์บ์์ฌ๋ผ์ด๋
- ์ฝ๋๋ผ์ด์ธ
- ์ฝ๋์คํฐ๋
- ์ฝ๋์
- ํฌ๋ฆฌ๋ง(https://www.cre.ma)
- ํด๋ ๋น
- ํด๋์คํ
- ํ ๋ธ๋ฒ
- ํ ์ค
- ํธ๋ผ์ด์บฃ์น
- ํ์ด๋ธ ๋ฝ์ค
- ํํฌ ํ์ด
- ๋น๊ทผ๋ง์ผ
- ํด๋จน๋จ๋
- ํธํ ๋ฐ์ฌ
- ํ๋
5. ๊ด๋ จ ๋ฌธ์[ํธ์ง]
[1] ํ๋ ์์ํฌ์ 'ํ์ฅ์ฑ(Scalability)'์ด๋ ์์คํ
์ ์คํ์ด ๋ณ๊ฒฝ๋์ด๋ ๊ทธ์ ๋ง์ถ์ด ๊ธฐ๋ฅ์ด ๊ณ์ ๋์ํ๊ฒ๋ ๋ง๋ค ์ ์๋์ง์ ์ฌ๋ถ๋ฅผ ์๋ฏธํ๋ค. ์์คํ
์์ 'ํ์ฅ์ฑ'์ ๋ ๊ฐ์ง๋ก ๋๋๋๋ฐ, ํน์ ํ (์๋ฒ) ํ๋์จ์ด์ CPU๋ RAM์ ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์์ง์ ํ์ฅ์ฑ์ด๋ผ๊ณ ํ๊ณ , ์ํคํ
์ฒ ์์ฒด๋ฅผ ๋๋ฆฌ๋ ๊ฒ(ex. ๋จ์ผ ์๋ฒ โ ์๋ฒ/๋ก๋ ๋ฐธ๋ฐ์/DB ์ธ์คํด์ค๋ก ๋ถํ )์ ์ํ์ ํ์ฅ์ฑ์ด๋ผ๊ณ ํ๋ค. '์ด์์ฑ'์ ๋ค์ํ ์ด์ ์ฒด์ ์์ ์ฌ์ฉ๋ ์ ์๋์ง์ ์ฌ๋ถ์ด๋ค.
[2] ํ๋ก์ ํธ ์ด๋ฐ์๋ ๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด ์ฅ์ ์ผ ์ ์์ง๋ง ์ด๋ฐ์ ์ง๋๋ฉด ์ฌ์ดํธ์ดํํธ๋ฅผ ๋ง๋ค ๊ฐ๋ฅ์ฑ์ด ๊ธ๊ฒฉํ ์ปค์ง๋ค
[3] Java๋ก ๋ณ๊ฒฝํ์๋ค.