Rupring v0.3.0
https://docs.rs/rupring/latest/rupring/
https://github.com/myyrakle/rupring
์ํํ ์ข ์์ฑ ๊ด๋ฆฌ๋ฅผ ์ํ DI ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๋ค.
๊ทธ๋ฅ ๋จ์ํ ํ๋ก๋ฐ์ด๋๋ฅผ ํ๋ ๋ง๋ค๋ ค๋ฉด, ์ด๋ ๊ฒ ํ๋ฉด ๋๋ค.
IProvider ํธ๋ ์์ ์ ์ํ๋๊ฑธ ์ ์ ํ ๋ง๋ค๊ณ , provide์์๋ ๋ฐ์ฑํด์ ๋ฐํํ๋ค. ์ ๊ฒ ์ฃผ์
๋๋ ๊ฒ์ด๋ค.
๋ชจ๋์ ์ข ์์ฑ์ผ๋ก ๋ฑ๋กํด์ฃผ๊ณ

๋ฆฌํ์คํธ์์ ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋๋ค.

๊ทผ๋ฐ ๋ ํ๋ก๋ฐ์ด๋์์ ๋ค๋ฅธ ํ๋ก๋ฐ์ด๋๋ฅผ ํธ์ถํ ์๋ ์์ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๋ ํฌ์งํ ๋ฆฌ๊ฐ ์๊ณ


์๋น์ค์์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ ๊ฐ์ ธ๋ค์จ์ผ ํ๋ค๋ฉด,
์ด๋ ๊ฒ ๋ํ๋์๋ฅผ ๋ช
์ํด์ฃผ๊ณ ํจ๊ป ๋ฑ๋กํด์ฃผ๋ฉด DI ๋งค๋์ ๊ฐ ์ธ์ดํด ๊ณ ๋ คํด์ ์ ์ ํ ์์๋๋ก ์ฃผ์
ํด์ค๋ค.
๊ทผ๋ฐ ๊ฐ๋ณ์ฑ์ด ํ์ํ ํ๋ก๋ฐ์ด๋๊ฐ ์๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
์๋๋ ์๋ฒ ๋ผ์ดํํ์๋์ ๊ณ์ํด์ ๋ณ๊ฒฝ๋ ์ ์๋ ๊ธ๋ก๋ฒ ์นด์ดํฐ ํ๋ก๋ฐ์ด๋๋ฅผ ์ ์ํ ์์๋ค.
Mutex๋ Atomic์ ํตํด ๊ฐ๋ณ์ฑ์ ์ ์ดํ๋ฉด thread safeํ๊ฒ ๋ชฉ์ ์ ๋ฌ์ฑํ ์ ์๋ค.

์ธ๋๋ ๊ทธ๋ฅ ์ ์ ํ ๊ฐ์ ธ์์ ์ฐ๋ฉด ๋๋ค.

๊ทธ๋ผ ์ ๋์ด๋๋ค.


ํธ๋ ์์ ๊ธฐ๋ฐํ ์ถ์ํ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค.
์ถ์ํ์ ๊ธฐ๋ฐํด์ ์ ๋ํ
์คํธ๋ฅผ ๋๋ฆฌ๋ ค๋ฉด ๋น์ฐํ ์ถ์ํ๋ ํํ๋ก DI๋ฅผ ๋ฃ์๋ค ๋นผ์ ์ธ ์ ์์ด์ผ ํ๋ค.
๋จผ์ ํธ๋ ์์ ์ ์ํ๊ณ

๊ตฌํํ๊ณ

๋ฃ์๋๋ 2์ค ๋ฐ์ฑ์ ํตํด ์ถ์ํ๋ ํ์ ์ ๋ํ ํ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํด์ผ ํ๋ค.

๊บผ๋ด์ธ๋๋ ์ถ์ํ๋ ํํ๋ก ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋๋ค.

๊ทธ๋ฆฌ๊ณ cargo doc์ ์ด๋ฒ์ ์ถ๊ฐ๋ ๋ด์ฉ์ ๋ํด์ ๋ฌธ์ํ๋ฅผ ์ข ํด๋๊ณ , ์ ๋ฐ์ ์ผ๋ก summary๋ฅผ ์ข ์ ๋ฆฌํด๋จ๋ค.