๊ณต์์ ์ผ๋ก ์ง์๋๋ MongoDB ์ฉ Ruby ์ด์ ์ ์ ๋๋ค.
Ruby ์ด์ ์ Ruby 2.7-3.3 ๋ฐ JRuby 9.3-9.4.
์ค์น
์์ ์ฌ์ฉ์ ๊ฒฝ์ฐ ๋ช ๋ น์ค์ ํตํด ๋๋ RubyGems๋ฅผ ํตํด ์ค์นํฉ๋๋ค.
$ gem install Mongo
๋๋ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ์ฉ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด Gemfile์ ํตํด ๋ค์์ ์ํํฉ๋๋ค.
gem โmongoโ
๋ฆด๋ฆฌ์ค ๋ฌด๊ฒฐ์ฑ
๋ฒ์ 2.20.0 ์ดํ์ ๊ฐ MongoDB Ruby ์ด์ ์ ์ถ์ํ๋ค ๋ ํ์ GPG ํค๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ๋น๋๋๊ณ ์๋ช ๋์์ต๋๋ค.
๋๋ผ์ด๋ฒ์ gem ํ์ผ ํ์ธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
-
GPG ํค๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
-
gpg --import ruby-driver.asc
์(๋ฅผ) ์ฌ์ฉํ์ฌ ํค๋ฅผ GPG ํค๋ง์ผ๋ก ๊ฐ์ ธ์ต๋๋ค. -
gem ํ์ผ ๋ค์ด๋ก๋ํฉ๋๋ค(์์ง ์๋ ๊ฒฝ์ฐ). ๋ฅผ ์ฌ์ฉํ์ฌ RubyGems์์ ๋ค์ด๋ก๋
gem fetch mongo
ํ๊ฑฐ๋ Github ์ ๋ฆด๋ฆฌ์ค ํ์ด์ง์์ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค. -
๋์ผํ ์ถ์ํ๋ค ์์ ํด๋นํ๋ ๋ถ๋ฆฌ๋ ์๋ช ํ์ผ ๋ค์ด๋ก๋ํฉ๋๋ค. gem ํ์ผ ์ ํด๋นํ๋ ์ถ์ํ๋ค ํ๋จ์ 'Assets' ๋ชฉ๋ก ์๋์์ ์ค์นํ๋ ค๋ gem๊ณผ ๋์ผํ ๋ฒ์ ๋ฒํธ๋ฅผ ๊ฐ์ง
.sig
ํ์ผ ์ด ์๋์ง ํ์ธํฉ๋๋ค. -
gpg --verify mongo-X.Y.Z.gem.sig mongo-X.Y.Z.gem
(X.Y.Z
์ ์ค์ ๋ฒ์ ๋ฒํธ๋ก ๋์ฒด)์ผ๋ก gem์ ํ์ธํฉ๋๋ค.
์ถ๋ ฅ์์ " ์ข์ ์๋ช from "MongoDB Ruby ๋๋ผ์ด๋ฒ ๋ฆด๋ฆฌ์ค ์๋ช ํค ํจํค์ง@mongodb.com " ๊ณผ ๊ฐ์ ํ ์คํธ๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ๋ณด๋ฉด ์๋ช ์ด ์ง์ ๋ gem ํ์ผ ์ ํด๋นํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
("์ด ํค๋ ์ ๋ขฐํ ์ ์๋ ์๋ช
์ผ๋ก ์ธ์ฆ๋์ง ์์์ต๋๋ค!"์ ๊ฐ์ ๊ธฐํ ์ถ๋ ฅ์ ์น ์ค๋ธ ํธ๋ฌ์คํธ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ, ๋น์ฌ์์ ๋ค์ด๋ก๋ํ ruby-driver.asc
ํค๋ฅผ ๊ฐ์ธ์ ์ผ๋ก ์ผ๋ง๋ ์ ๋ขฐํ๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์์ธํ ํ์ต www.gnupg.org/gph/en/manual/x.html ์334 ์ฐธ์กฐํ์ธ์.
RubyGems์ gem ์๋ช ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
RubyGems์ ์์ฒด gem ์๋ช ์ ๋ฌธ์ ๊ฐ ์๋๋ฐ, ๊ฐ์ฅ ํฐ ์ด์ ๋ gem์ ์๋ช ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค์ ๊ด๋ จํ์ฌ ์ค์ ๋ ์ ๋ขฐ ์ฒด์ธ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. RubyGems์ ์์ฒด ๋ฌธ์์์๋ "์ด gems ์๋ช ๋ฐฉ๋ฒ์ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์" ์ ์ธ์ ํฉ๋๋ค(์ฐธ์กฐ:guides.rubygems.org/security/). ์ด์ ๋ํ RubyGems ์ปค๋ฎค๋ํฐ์ ๋ ผ์๋ 10๋ ์ด์ ๊ณ์ํด์ ์ด๋ฃจ์ด์ง๊ณ ์์ผ๋ฉฐ, ๊ฒฐ๊ตญ ์๋ฃจ์ ์ด ๋์ฐฉํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก GPG๋ฅผ ๋์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
-
MongoDB ์ ๋ค๋ฅธ ๋ง์ ์ด์ ์ ํ์ GPG๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ ๋ฆด๋ฆฌ์ค์ ์๋ช ํ๊ณ ์์ต๋๋ค. ๋ค๋ฅธ ํ๊ณผ์ ์ผ๊ด์ฑ์ ๊ธฐ์กด ๋๊ตฌ๋ฅผ ์์ฒด ์ ํ ๋ฆด๋ฆฌ์ค์ ์ฌ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
-
GPG๋ ๋๋ฆฌ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ ๋ขฐ์ ์น์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ธฐ์กด ๋๊ตฌ์ ์ ์ฐจ๊ฐ ์์ต๋๋ค(์ ๊ฐ์ค๋ฝ๊ฒ๋ ์ด๋ฌํ ๋ฐฉ์์ด ์ด์ฌ์์๊ฒ๋ ์๋นํ ๋น๋ฐ์ค๋ฝ๊ณ ๊ฒ์ด ๋๋ ๊ฒ์ด ์ฌ์ค์ ๋๋ค).
๊ถ๊ทน์ ์ผ๋ก ๋๋ถ๋ถ์ ์ฌ์ฉ์๋ gem์ ํ์ธํ๋ ๋ฐ ๋ฒ๊ฑฐ๋กญ์ง ์์ผ๋ฉฐ, RubyGems์ ๋ค์ดํฐ๋ธ ๋ฐฉ๋ฒ ๋์ GPG๋ฅผ ์ ํํด๋ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
๋ฌธ์
๋์ ์์ค์ ๋ฌธ์์ ์ฌ์ฉ ์์ ๋ ์ฌ๊ธฐ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ต๊ทผ ์ถ์ํ๋ค ์ ๋ํ API ์ค๋ช
์๋ ์ฌ๊ธฐ ์์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ง์คํฐ ๋ธ๋์น์ ๋ํ API ๋ฌธ์๋ฅผ ๋น๋ ํ๋ ค๋ฉด ๋ก์ปฌ์์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฅผ ์ฒดํฌ์์ํ๊ณ rake docs
๋ฅผ ์คํ ํฉ๋๋ค.
Docs ํด๋์ ์๋ ํํ ๋ฆฌ์ผ ๋ฐ ์ฐธ๊ณ ์๋ฃ๋ฅผ ํฌํจํ ์์ ์์ค ์ด์ ์ ๋ฌธ์๋ฅผ ์ด์ ์ฌ๊ธฐ์์ ๋ฌธ์-๋ฃจ๋น ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์ฐพ์ ์์์ต๋๋ค.
Support
์ด์ ์ ์ ๋ํ ์์ ์ ์ง์ ์ MongoDB ์ง์ ํฌํธ ์ ํตํด ์ ๊ณต๋ฉ๋๋ค.
์ง๋ฌธ, ํ ๋ก ๋๋ ์ผ๋ฐ์ ์ธ ๊ธฐ์ ์ง์ ์ด ํ์ํ ๊ฒฝ์ฐ MongoDB Community ํฌ๋ผ ์ ๋ฐฉ๋ฌธํ์ธ์.
๊ธฐํ ์ง์ ๋ฆฌ์์ค๋ ๋ฌธ์์ ๊ธฐ์ ์ง์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฒ๊ทธ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ
๋๋ผ์ด๋ฒ์ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ๊ฑฐ๋ Ruby ๋๋ผ์ด๋ฒ ์ ์ฉ ๊ธฐ๋ฅ์ ์์ฒญํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
-
์ด์ ํธ๋์ปค ๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ๋ก๊ทธ์ธํ์ธ์(๋๋ ์์ง ๊ณ์ ์ด ์๋ ๊ฒฝ์ฐ ๊ณ์ ์ ์์ฑํ์ธ์).
-
Ruby ํ๋ก์ ํธ ๋ก ์ด๋ํฉ๋๋ค.
-
'Create Issue'๋ฅผ ํด๋ฆญํ๊ณ ํด๋น ์์ ํ๋๋ฅผ ๋ชจ๋ ์์ฑํฉ๋๋ค.
์ด์๋ฅผ ์์ฑํ ๋ RUBY ํ๋ก์ ํธ์ ๋ํ JIRA์ ๋ชจ๋ ์ ๋ณด์ ์ฝ์ด ์๋ฒ (SERVER ํ๋ก์ ํธ)๊ฐ ๊ณต๊ฐ์ ์ผ๋ก ํ์๋๋ค๋ ์ ์ ๋ช ์ฌํ์ญ์์ค.
๋ค์์ ์ํํ์ธ์.
-
ํด๋น ๋ฌธ์ ์ ๋ํด ๊ฐ๋ฅํ ํ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ ์ํ ์์ธํ ๋จ๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
ํด๋นํ๋ ์ฝ๋ ์ค๋ํซ, ์คํ ์ถ์ ๋ฐ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์๋ฒ ๋ก๊ทธ๋ฅผ ํฌํจํ์ง ๋ง์ธ์.
-
๋๋ผ์ด๋ฒ ๋ฐ MongoDB Server์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํ๋์ ํ์ง ๋ง์ธ์.
-
๋ฏผ๊ฐํ ๋ฐ์ดํฐ ๋๋ ์๋ฒ ๋ก๊ทธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
์ ์ฌ์ ์ธ ๋ณด์ ๋ฌธ์ ๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ๋ณด๊ณ ํฉ๋๋ค(์๋ '๋ณด์ ๋ฌธ์ ' ์ฐธ์กฐ).
๋ณด์ ๋ฌธ์
Ruby ์ด์ ์ (๋๋ ๊ธฐํ MongoDB ์ ํ)์์ ์ ์ฌ์ ์ธ ๋ณด์ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ์ง์นจ์ ๋ฐ๋ผ ์ ๊ณ ํด ์ฃผ์ธ์.
์ ํ ๊ธฐ๋ฅ ์์ฒญ
Ruby ์ด์ ์ ์๋ง ๊ตญํ๋์ง ์๋ ๊ธฐ๋ฅ ์ด๋ ์ด์ ์ ์๋ง ์ํฅ์ ๋ฏธ์น๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ์ํฅ์ ๋ฏธ์น๋ ๊ธฐ๋ฅ ( ์์ : MongoDB ์๋ฒ ์ง์ ์ด ํ์ํ ๊ธฐ๋ฅ)์ ์์ฒญ ํ๋ ค๋ฉด MongoDB ํผ๋๋ฐฑ ํฌ๋ผ ์ ํตํด ์์ด๋์ด๋ฅผ ์ ์ถ ์ฃผ์ธ์.
์ ์ง ๊ด๋ฆฌ ๋ฐ ๋ฒ๊ทธ ์์ ์ ์ฑ
์๋ก์ด ์ด์ ์ ๊ธฐ๋ฅ์ ์ผ๋ฐ์ ์ผ๋ก ์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฐฉ์์ผ๋ก ์ถ๊ฐ๋๋ฉฐ ์๋ก์ด ๋ง์ด๋ ๋๋ผ์ด๋ฒ ๋ฆด๋ฆฌ์ค (2.x)๊ฐ ๋ฉ๋๋ค. ๋ฒ๊ทธ ์์ ์ ์ผ๋ฐ์ ์ผ๋ก ๋ง์คํฐ์์ ๋จผ์ ์ด๋ฃจ์ด์ง๊ณ ํ์ฌ ๋ง์ด๋ ์ด์ ์ ์ถ์ํ๋ค ๋ก ๋ฐฑํฌํธ๋ฉ๋๋ค. ์์ธ๋ ์ฌ๋ก๋ณ๋ก ์ ์ฉ๋ ์ ์์ผ๋ฉฐ, ์๋ฅผ ์์ ๋ณด์ ์์ ์ฌํญ์ด ์ด์ ์ ์์ ์ ์ธ ๋ธ๋์น๋ก ๋ฐฑํฌํ ๋ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์ต๊ทผ์ ๋ง์ด๋ ์ด์ ์ ์ถ์ํ๋ค ๋ง ๊ณต์์ ์ผ๋ก ์ง์๋ฉ๋๋ค. ๊ณ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ์ด์ ์ ์ถ์ํ๋ค ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํ ์คํธ ์คํ
๋๋ผ์ด๋ฒ์ ํ ์คํธ ์ ํ๊ตฐ์ ์คํ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ spec/README.md ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฆด๋ฆฌ์ค ๋ด์ญ
์ ์ฒด ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ๋ฆด๋ฆฌ์ค ๊ธฐ๋ก์ Github ๋ฆด๋ฆฌ์ค ํ์ด์ง์์ ํ์ธํ ์ ์์ต๋๋ค.
๋ผ์ด์ ์ค
์ ์๊ถ ยฉ 2009-2020 MongoDB, Inc.
Apache ๋ผ์ด์ ์ค, ๋ฒ์ 2.0 ('๋ผ์ด์ ์ค')์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. ๋ผ์ด์ ์ค๋ฅผ ์ค์ํ์ง ์๋ ํ ์ด ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์์์ ๋ผ์ด์ ์ค ์ฌ๋ณธ์ ์ป์ ์ ์์ต๋๋ค.
www.apache.org/licenses/LICENSE-2.0
ํด๋น ๋ฒ๋ฅ ์์ ์๊ตฌํ๊ฑฐ๋ ๋ฌธ์๋ก ๋์ํ์ง ์๋ ํ, ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ ์ํํธ์จ์ด๋ ๋ช ์์ ์ด๋ Express ์ด๋ ์ด๋ค ์ข ๋ฅ์ ๋ณด์ฆ์ด๋ ์กฐ๊ฑด ์์ด "์๋ ๊ทธ๋๋ก" ๋ฐฐํฌ๋ฉ๋๋ค. ๋ผ์ด์ ์ค์ ๋ฐ๋ฅธ ๊ถํ ๋ฐ ์ ํ ์ฌํญ์ ์ ์ฉํ๋ ํน์ ์ธ์ด๋ ๋ผ์ด์ ์ค๋ฅผ ์ฐธ์กฐํ์ธ์.