- ๊ทธ๋ํ ์ด๋ก
- Brute Force Algorithm
- Python
- ์๋ฃ๊ตฌ์กฐ
- ์ ๋ ฌ
- ์ ์๋ก
- ๋ฌธ์์ด
- Dynamic Programming
- ๊ทธ๋ํ ํ์
- DP
- ๊ตฌํ
- ์๋ฎฌ๋ ์ด์
- ๊ต์ฌ
- greedy
- Java
- sort
- PGM
- ์ํ
- queue
- SpringBoot
- Study
- ๊น์ด ์ฐ์ ํ์
- dfs
- stack
- CodingTest
- BFS
- ๋ฐฑํธ๋ํน
- LV2
- ๋๋น ์ฐ์ ํ์
- BOJ
๊ธฐ๋ก๋ฐฉ
DataGrip์ผ๋ก MongoDB ์ฌ์ฉํ๊ธฐ ๋ณธ๋ฌธ
๐ก JetBrains์ DB๊ด๋ฆฌํด์ธ DataGrip์ ์ด์ฉํด MongoDB๋ฅผ ์ฌ์ฉํด๋ณด์
1. DataGrip ์ค์น & ์คํ
๋ค์์ DataGrip์ ๋ฉ์ธํ์ด์ง์์ ๋ค์ด๋ฐ๊ฑฐ๋, JetBrains Toolbox๋ฅผ ์ด์ฉํด ๋ค์ด๋ฐ์ ์ ์๋ค.
๋๋ IntelliJ๋ฅผ Toolbox์์ ์ฐ๊ณ ์์ผ๋ฏ๋ก ๊ทธ๋๋ก ๋ค์ด๋ฐ์ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ ๋ก ์ด ๊ธ์ ๋ฐ๋ก ๊ธฐ๋ฅ์ ๊ณต๋ถํด์ ์ฌ์ฉํด ๋ณธ๊ฒ์ด ์๋, ํผ์ ๋๋ฑ๊ฑฐ๋ฆฌ๋ฉด์ ํ์ํ ๊ธฐ๋ฅ์ ์ฐพ์ ์ฌ์ฉํด๋ณธ ๊ฒฝํ์ ์ ์ ๊ฒ์ด๋ค. ์๋กญ๊ฒ ์๊ฒ๋๋ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ ๋ฐ์ดํธ ํ ์๊ฐ์ด๋ค.
Toolbox๋ ๊ฐ๋จํ๊ฒ IntelliJ์ ์๋น์ค๋ค์ ์ด์ฉํ๊ณ ๊ด๋ฆฌ ํ ์ ์์ด์ ํธ๋ฆฌํ๋ค.
2. ํ๋ก์ ํธ ์์ฑ
๋ ์ด๋ฏธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์์ ์ฒ์ ์์ํ ํ๋ฉดํ๊ณ ๋ ์ฐจ์ด๊ฐ ์์ ๊ฒ์ด๋ค.
ํ์ง๋ง ๊ธฐ๋ฅ์ ๋น์ทํ ํ ๋ฐ, ๋จผ์ New Project๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.
์์ฃผ ๋๋ฑ ๋ง๋ค์ด ์ฃผ์๋๋ฐ, ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ ์ด์ ๋ญ ํ ์ ์์๊น ์ถ์ ๊ฒ์ด๋ค.
๋ DBeaver๋ฅผ ์ด๋ฏธ ์ฌ์ฉํด๋ดค๊ณ , ๋น์ทํ ํด์ด๋ผ๊ณ ๋ค์๊ธฐ๋๋ฌธ์ ์ด๋ ต์ง ์๊ฒ ๋ค์ ์์ ์ผ๋ก DB๋ฅผ ์ฐ๊ฒฐํ ์ ์์๋ค.
์ผ์ชฝ Database Exploer ์ฐฝ์์ +๋ฒํผ์ ๋๋ฌ DB ์ปค๋ฅ์ ์ ์ถ๊ฐํ์.
์ฐธ๊ณ ๋ก ์๋จ UI๊ฐ ๋ค๋ฅผ ์ ์๋๋ฐ, IntelliJ์์ ์๋ก ๋์จ Enable new UI๋ฅผ ์ฒดํฌํด๋๋๋ DataGrip๋ ๊ทธ UI๊ฐ ๊ทธ๋๋ก ์ ์ฉ๋์๋ค. ๊น๋ํ๊ณ ์ด์๊ธดํ๋ค.
๋ ํ๋, Exploer์ฐฝ์ด ๊บผ์ง๋ค๋ฉด ์๋จ ๋ฉ๋ด์์ View - Tool Windows - Database Exploer๋ก ๋ค์ ์ด ์ ์๋ค.
3. MongoDB ์ฐ๊ฒฐ
Data Source๋ฅผ๋ณด๋ฉด ๋ง์ DB์ข ๋ฅ๋ค์ด ์๋ค. ์ด DB๋ค๊ณผ์ ์ฐ๊ฒฐ์ ๋์์ ๊ด๋ฆฌํ ์ ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋ ์์ ํ ์ ์๋ค. ๋๋ ์จ๋ณด์ง ์์๋๋ฐ, ์๋ Data Source from URL์ SSH๋ก ์ฐ๊ฒฐํ๋ฏ์ด DB์ด๋ฆ๊ณผ ์ฌ์ฉ์ ์์ด๋/๋น๋ฐ๋ฒํธ ๋ฑ์ด ํฌํจ๋ ํ์ค ์ฃผ์๋ก๋ ์ฐ๊ฒฐ์ ์์ฑํ ์ ์์ด๋ณด์ธ๋ค.
์นธ๋ค์ด ๋ค ๋น์ด์๋๋ฐ, ์๋ DB๋ฅผ ์ธ๋ถ์์ ์ฐ๊ฒฐํ๋ ค๋ฉด ํ์ํ ๊ฒ๋ค์ด host, port, user, pw ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ํธํค ๋ฑ์ด ํ์ํ๋ค. Name์ด๋ Comment๋ DataGrip์์์ ๊ตฌ๋ถํ๋ ค๊ณ ์๋ ๊ฒ์ธ ๊ฒ ๊ฐ์ ๋ง์๋๋ก ์ด๋ฆ์ ์ง์๋ค.
MongoDB์ ๊ธฐ๋ณธ ํฌํธ๋ฒํธ๋ 27017์ด๋ฏ๋ก ๋ฑํ ๊ฐ๋ฆฌ์ง ์์๊ณ , ๋ค๋ฅธ๊ฑฐ๋ค์ ์กฐ์ฌํ์.
์ฌ๊ธฐ์ MongoDB๋ ์ฐ๊ฒฐํ ๋ ๊ผญ ์ํธํ๋ฅผ ๋ช ์ํด์ค์ผํ๋๋ฐ, SCRAM-SHA-1์ ์ ํํด์คฌ๋ค.
๋ชจ๋ ์ ๋ ฅ ํ ์ผ์ชฝํ๋จ์ Test Connection์ ๋๋ฌ ํ์ธํด๋ณด์. ์ค๋ฅ๊ฐ ๋ฌ๋ค๋ฉด ๊ตฌ๊ธ๋ง์ด ํ์ํ๋ค.
์ฐ๊ฒฐ์ด ์ฑ๊ณตํ๋ค๊ณ ๋จ๋ฉด OK๋ฅผ ๋๋ฅด๊ณ ๋น ์ ธ๋์จ๋ค.
์ผ์ชฝ์ ๋ฐฉ๊ธ ๋ง๋ ์ปค๋ฅ์ ์ด ์ถ๊ฐ๋์ด์๋ค.
4. MongoDB ๋ง์ ธ๋ณด๊ธฐ
ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ์ MongoDB๋ฅผ ์ฐ๊ฒฐํด๋ดค๋๋ฐ, ๊ฐ๊ฐ ์ค๋ช ํ์๋ฉด sapier๊ฐ ํ๋ก์ ํธ์ MongoDB ์ด๋ฆ, collections์ ํ์ ์ปฌ๋ ์ ๋ค์ธ book, Colelction, Request, User, WorkSpace๊ฐ ๋ชจ์ฌ์๋ค.
Collection์ด๋ Request๊ฐ์ ์ด๋ฆ์ ์ปฌ๋ ์ ์ ํท๊น๋ฆฌ์ง ๋ง๋๋ก ์ฃผ์ํ์. ๊ทธ๋ฅ ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ์ปฌ๋ ์ ์ด๋ฆ์ ์ ๋ ๊ฒ ์ง์ ํ ํ์๊ฐ ์๋ ๊ฒ์ด๋ค.
์ฐธ๊ณ ๋ก Refresh๋ฅผ ์์ฃผํด์ค์ผํ ํ ๋ฐ, ์๋จ์ ์ํ ์์ด์ฝ์ด๊ณ ๋จ์ถํค๋ Ctrl+F5์ด๋ค.
์ปฌ๋ ์ ์ ํผ์น๋ฉด ํ์ ํด๋๋ก fields๊ฐ ์์ง๋ง, ๊ทธ๋ฅ ์์ฑ๋ค์ ๊ฐ๋จํ ๋ณด๊ณ ์ถ์๋ ์ฐ๊ณ , ๋ฐ์ดํฐ๋ ์ปฌ๋ ์ ์ ๋๋ธ ํด๋ฆญํ๋ฉด ๋ณผ ์ ์๋ค.
์ด๊ฑฐ์ ๊ฑฐ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ์์ด์ ์ง์ ๋ถํ ๋ชจ์ต์ด๋ค...
ํ์ ์ต์๋จ์ ์์ฑ๋ค์ ๋ณผ ์ ์๋๋ฐ, NoSQL๋ต์ง ์๊ฒ ํํ์์ผ๋ก ๋ณผ ์ ์์ด์ ์ข๊ธฐ๋ํ๊ณ ๋ถํธํ๊ธฐ๋ ํ๋ค.
Tree๋ Text๋ก ๋ณด๊ธฐ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝ ํ ์๋ ์๋ค. ํ์ง๋ง ๋ฐ์ดํฐ ์์ ์ Table ๋ณด๊ธฐ์์๋ง ๊ฐ๋ฅํ๋ค.
๊ฐ๋จํ ์์ +์ -๋ Row ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ์์ด์ฝ์ด๋ค.
ํ์์ ์ฐํด๋ฆญํด๋ ์ฐพ์ ๋ณผ ์ ์๋๋ฐ ์ธ๋ก ๊ฐ์ธ ์ปฌ๋ผ ์์ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ์ง์ธ ์๋ ์๋ค.
์ปฌ๋ผ์ ์ด๋ฐ์๋ง ์์ ํ ์ผ์ด ์์์ด์ ๋จ์ถํค๋ฅผ ์ ์ ๊ธฐ์ตํ๊ณ ์ฌ์ฉํ๋ค. ์ง๊ธ์ ๋ ๊น๋จน์๋ค.
์ด๊ฒ ์ข ์ค์ํ๋ฐ, ์๋ฌด๋ฆฌ ์์ ์ํ๋๋ผ๋ ์๋จ์ ์ด๋ก์ ํ์ดํ๋ฅผ ๋๋ฌ Submit์ํด์ผ ์ ์ฅ์ด ๋๊ณ DB์ ๋ฐ์๋๋ค.
๋๋ฅด์ง ์๊ณ ์๋ก๊ณ ์นจํ๊ฑฐ๋ View๋ฅผ ๋ค์ ํค๋ ๋ฑ ํ๋ฉด ๊ฒจ์ฐ ๋ง๋ค์ด๋์ ์์ฑ์ด ๋ ์๊ฐ๋ ๋ผ์ํ ์ผ์ด ๋ฐ์ํ๋ค....
๋ฐ์ดํฐ ์ฝ์ ์ ์ค๋ฅ๊ฐ๋ฌ๋๋ฐ ๊ทธ๋ฅ key-value ํ์์ ์์งํค๊ณ key๋ง ์ ์ด์ ๊ทธ๋ ๋ค.
์ฌ์ค ์ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด ํ์ ๊ธ์๋ก ๋ฐํ ๋ฐ, String์ผ๋ก ์ธ์๋์ด์ ๊ทธ๋ ๋ค. Object๋ก ์ธ์์์ผ์ผ ์ด๋ก์์ผ๋ก ๋ํ๋๋ค. key-value๋ก ๋ํ๋ด๊ณ ์ถ์ผ๋ฉด Object๋ก ๋ฐ๊ฟ์ผํ๋๋ฐ, ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ๊ณ ๋ด๊ฐ ์ฐพ์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฐํด๋ฆญํ๋ฉด Open in Value Ediotr๋ผ๊ณ ์๋ค. ์ด์ด๋ณธ๋ค.
์ด๋ ๊ฒ ์ฐ์ธก์ ์ด๋ฆฌ๋๋ฐ, ์ต๋ ๊ฐ๋ก ํญ 50%๊น์ง ํค์ธ ์ ์๋ค.
์ผ์ง ์ฐฝ์์ ์ฐ์ธก ์๋จ์ ๋ณด๋ฉด ์๋ฃํ์ ๋ณ๊ฒฝํ ์ ์๋๋ฐ Object๊ฐ ์๋ค.
Object๋ก ๋ฐ๊พธ๋ฉด ๊ธ์๊ฐ ์ด๋ก์์ผ๋ก ๋ฐ๋๊ฒ ๋๊ณ , ๋๊ดํธ๋ฅผ ์์์ฃผ๋ฉด Array๋ก ์๋์ผ๋ก ๋ฐ๋๋ค.
5. ๋ง์น๋ฉฐ
์ฌ์ค ๊ทธ๋ ๊ฒ ์น์ ํ๊ฒ ์๋ ค์ฃผ๋ ํด์ ์๋ ๊ฒ ๊ฐ์๋ฐ, ์ผ๋จ UI๊ฐ JetBrains ํน์ ์ ๋คํฌ ํ ๋ง๋ก ์ด์๊ธด ํ๋ค.
์์ง ์ฌ์ฉ๋ฒ์ด ์ธํฐ๋ท์ ๋ง์ด ์์ง๋ ์์๋ณด์ด๋๋ฐ, Dbeaver๋ฅผ ์จ๋ณด๊ณ ํ์ผ๋ฉด ๊ฐ๋จํ ๊ธฐ๋ฅ๋ค์ ๊ธ๋ฐฉ๊ธ๋ฐฉ ์ฐพ์์ ์ฌ์ฉ ํ ์ ์์๋ค. ๋ค๋ฅธ Mysql ์ด๋ Redis ๋ฑ์ ์ฌ์ฉ์ด ๋ ํธ๋ฆฌํ ๊ฒ ๊ฐ์๋ฐ MongoDB๋ผ์ ์ข ๋ ๋ถํธํจ์ ๋๋ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค.
๊ทธ๋๋ ์ด๋ฒ ํ๋ก์ ํธ ๋ด๋ด ์ฌ์ฉํด ๋ณผ ์์ ์ธ๋ฐ ํ๋ฃจ๋ง์ ๊ธ๋ฐฉ ์ฌ์ฉ๋ฒ์ ์ตํ ์ ์๋๊ฑฐ ๋ณด๋, ํธ๋ฆฌํ๊ธด ํ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ ...์ผ๋จ ๊ณ์ ์ฌ์ฉํด ๋ณด๋ฉฐ ์์๋ณผ ์๊ฐ์ด๋ค.
'Tips' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฑ Github 3D ์๋ ๊พธ๋ฏธ๊ธฐ (0) | 2024.02.21 |
---|---|
Gitlab -> Github ํ๋ก์ ํธ & ์ปค๋ฐ ๊ธฐ๋ก ์ฎ๊ธฐ๊ธฐ (๋ฏธ๋ฌ๋ง) (0) | 2023.10.10 |
Mattermost์์ Gitlab, Jira ์ฐ๋ ์๋ฆผ๋ฐ๊ธฐ (0) | 2023.07.15 |