Rust Tutorial Web Application๋ ์
๋ฌธ์๋ ์ฝ๊ฒ ๋ฌ์คํธ ์ธ์ด๋ฅผ ๊ณต๋ถํ ์ ์๋๋ก ์ง์ํ๋ ์น์ดํ๋ฆฌ์ผ์ด์
์
๋๋ค. React์ SpringBoot๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก ํธ์๋, ๋ฒก์๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Docker๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ ์ปดํ์ผ ๊ธฐ๋ฅ์ ์ง์ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ Mysql์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
- ์ฅ๋์ง([email protected]) - ํ๋ก ํธ์๋ ๊ฐ๋ฐ, ๋ฐฑ์๋ API ๊ฐ๋ฐ, SpringBoot Security ์ค๊ณ ๋ฐ ๊ตฌํ
- ์ ๋ช ์ง([email protected]) - ํ์ด์ง ๋์์ธ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ, ๋ฌ์คํธ ์ปจํ ์ธ ์ ์
- ํฉ๋๋ฏผ([email protected]) - ํ๋ก ํธ์๋ ๊ฐ๋ฐ, ๋ฒก์๋ API ๊ฐ๋ฐ, DB ๊ตฌํ
ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ด๋ก๋ ํด์ผํ ๊ฐ๋ฐ ๋๊ตฌ๋ค์ ๋๋ค.
- SpringBoot - ๋ฐฑ์๋์ ๋๋ค.
- Java11
- Docker - ์จ๋ผ์ธ์์ ์ ์ ์ ์ฝ๋๋ฅผ ๋ฐ์ ํ์ ๋ ์์์ ์์ ํ ๊ณต๊ฐ์์ ์ฝ๋๋ฅผ ์คํ์ํค๊ธฐ ์ํด docker container๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Redis - ์ ์ ์ ์ธ์ ์ ์ ์งํ๊ธฐ ์ํ ํ ํฐ์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
- Mysql - ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
- React - ํ๋ก ํธ์๋์
๋๋ค.
๋ณธ ํ๋ก์ ํธ๋ ๋ฆฌ๋
์ค ํ๊ฒฝ์์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด์ผ ์ ์์ ์ผ๋ก ๋์ํฉ๋๋ค. ๊ฐ๋ฐ ๋๊ตฌ๋ค์ ๋ชจ๋ ๋ค์ด๋ก๋ ๋ฐ์ผ์ ํ, ์๋์ ๋จ๊ณ๋ฅผ ์งํํ์๋ฉด ํ๋ก์ ํธ๋ฅผ ์คํ์ํฌ ์ ์์ต๋๋ค.
- ํ๋ก์ ํธ ๋ด๋ ค๋ฐ๊ธฐ
$ git clone https://github.com/bindongg/rust-tutorial-project.git # ํ๋ก์ ํธ ๋ด๋ ค๋ฐ๊ธฐ
$ cd rust-tutorial-project- ํ๋ก ํธ์๋ ์คํ
$ cd frontend
$ npm install # module ๋ค์ด๋ก๋
$ npm run start # react ์คํ- ๋ฒก์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์
SpringBoot ์คํ์ ์ํด application.yml ํ์ผ์ Mysql์ ์๋ํฌ์ธํธ์ ์ ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ํ์๋ ์๋์ง๋ง, ํ์๊ฐ์ ์ ์ธ์ฆ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด google mail์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
$ cd ../backend
$ vi src/main/resources/application.yml # mysql, mail ์ค์ - docker ์ด๋ฏธ์ง ๋น๋
์ธ์ด๋ฅผ ์ปดํ์ผ, ์คํํ ์ ์๋ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๊ฐ ์ธ์ด๋ณ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํฉ๋๋ค.
$ cd docker
$ chmod +x init.sh
$ ./init.sh # rust, java, python, c++ image ๋น๋- ๋ฒก์๋ ์คํ
$ cd ..
$ chmod +x mvnw
$ ./mvnw spring-boot:run # mvnw SpringBoot ์คํ๋ฐฐํฌ ๋์ด์์ด์ http://54.180.10.223/ ์ผ๋ก ์ ์ํ๋ฉด ๋ค์ด๊ฐ์ ์ง์ ํ์ธํ ์ ์์ต๋๋ค. (2022.10.14๊ธฐ์ค)
๋งจ ์ฒ์ ์ ์ํ์ ๋, ๋ณด์ด๋ ํ์ด์ง์
๋๋ค.

Rust์ ๊ดํ ์ฌ๋ฌ๊ฐ์ง ์ ๋ณด๋ฅผ ์์๋ณผ ์ ์๋ ํ์ด์ง์
๋๋ค.

Rust๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์๋ณด๊ณ ์ถ์ ์ฌ๋๋ค์ ์ํ ํ์ด์ง์
๋๋ค.

Rust ๋ฌธ๋ฒ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ๋ง ์ฐพ์๋ณด๊ธฐ ์ํ ํ์ด์ง์
๋๋ค.
๋ํ, ๋ฌธ๋ฒ ์ฐธ๊ณ ์๋ฃ ํ์ด์ง๊ฐ ์์ด Rust ํ์ต์ ๋์์ ์ฃผ๋ ํ์ด์ง์
๋๋ค.

Rust๋ก ๋ฌธ์ ๋ฅผ ํ์ด๋ณผ ์ ์๋ ํ์ด์ง์
๋๋ค. ๊ฐ ๋ฌธ์ ๋ง๋ค ์์ ์ฝ๋๊ฐ ์ฃผ์ด์ ธ์ ํ์ต์ด ํธ๋ฆฌํฉ๋๋ค.

Rust ์ปดํ์ผ๋ฌ๋ฅผ ๋ฐ๋ก ์ค์นํ์ง ์๊ณ ๋ ์ฌ์ฉํ ์ ์๋ ์ปดํ์ผ๋ฌ์
๋๋ค.

