HYU/์กธ์ ํ๋ก์ ํธ10 9. ๋ฐ์ดํฐ ์ถ๊ฐ ๋ฐ ์ฐ๋ ์ด๋ฒ ํ๋ ์์ฝ ์ง๋ ๋ฒ์ ๊ตฌ์ถํด๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ , ํ๋ก ํธ์ ์ฐ๋ํ๋ ์์ ์ ์งํํ๋ค ์ด์ ๊น์ง ๋ฐฑ์๋ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ๊ธฐ๋ณธ์ ์ธ CRUD๋ฅผ ๊ตฌํํ์๋ค ์ด๋ฒ์๋ DB์ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ , ํ๋ก ํธ์๋์์ API๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ๊น์ง ์งํ์ ํ๋ค ๋ฐ์ดํฐ ์ถ๊ฐ ๊ธฐ์กด์ ํ๋ก ํธ์์ ์ง์ ์ ์ฅํ์ฌ ์ฐ๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ DB์ ์ถ๊ฐํ๋ ์์ ์ ํ๋ค ์ด๊ธฐ ๋ฐ์ดํฐ ์ ์ฅ์ ์ํด ํ๋ก ํธ์์ String ํํ๋ก ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฑํด์ ์๋ฒ์ ์ ์ฅํ๋ค ์ด๋, ํด๋ฌ์คํฐ๋ง์ ํด์ ๋ฏธ๋ฆฌ ํด๋ฌ์คํฐ๋ณ๋ก ์์์ ์ง์ ํด์ ์์๊ฐ๋ ํจ๊ป ์ ์ฅํ๋ค ์๋๋ ์ด ๋ก์ง์ ํ๋ก ํธ์์ ์ง์ ํ ๋ค์, ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ ค๋ด๊ณ ์์๋๋ฐ DB์์ ๋ฐ์์ค๊ฒ ๋๋ค ์ด๋ฏธ ๋ชจ๋ ์ค๋น๊ฐ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์, ์ด๊ธฐ ํ๋ฉด ๊ตฌ์ฑ์ด ๋นจ๋ผ์ก์.. 2024. 4. 14. 8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ ๊ตฌ์ถ์ ์ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ์๋ค ์๋ฒ ์ปดํจํฐ์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ ์, ๋จผ์ ๋ก์ปฌ์์ ๊ฐ๋ฐ ์์ ์ ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ผ์๋ ํ์ฌ ๋์ด์ ์์ ์ ํ๋ ์ํฉ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณต์ ๋ฅผ ํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ์ฌ, ์๋ฒ ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ๋จผ์ ์ค์น๋ฅผ ํ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๋ก์ปฌ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ์ฐ๊ฒฐ์ ํด์ ๋ฐฑ์๋ ์์ ์ ์งํํ๊ณ ์ ํ๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ์ปดํจํฐ์ ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์นํ๋ค ๋จผ์ ์ด๋ค DB๋ฅผ ์ธ ๊ฒ์ธ์ง๋ฅผ ๊ณ ๋ฏผํ๋ค. ํฌ๊ฒ ๋ดค์ ๋, SQL๊ณผ NoSQL๋ก ๋๋ ์ ์๋ค. SQL์ ๊ฒฝ์ฐ์๋ ์ฃผ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์๊ฐํ ์ ์๊ณ , NoSQL์ ๊ทธ์ ๋ฐ๋๋๋ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ์๊ฐํ ์ ์๋ค. NoSQL์ ์ฅ์ ์ ์กฐํ๊ฐ ๋น ๋ฅด๊ณ , ๋์ฉ๋.. 2024. 3. 31. 7. ์น ์๋ฒ ๊ตฌ์ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ๋ฅผ ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑํ ์ง์ ๋ํด์ ๊ตฌ์์ ํด๋ณด์๋ค ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ผ๋จ ์ ์ ๋ฏธ๋ค๋๊ณ , ์ด๋ฒ์ฃผ์๋ ๋ฐฑ์๋ ์๋ฒ ๊ฐ๋ฐ์ ์งํํ๋ค ์ผ๋ฐ์ ์ธ ์ํฉ์ด์๋ค๋ฉด ๋ก์ปฌ์์ ๊ฐ๋ฐ์ ํ๊ณ , AWS์ ๋ฐฐํฌํ๋ ์์ผ๋ก ์งํ์ ํ์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๊ตฌ์ค์ ์์ ๊ฐ๋ํ ์ ์๋ ์๋ฒ ์ปดํจํฐ๊ฐ ์๋ค๊ณ ํ์ ์, ์ด๊ฒ์ ํ์ฉํ๋ ๋ฐฉํฅ์ผ๋ก ์งํ์ ๊ฒฐ์ ํ์๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝํ๋ ๋ณ๋ก ์์ง๋ง, ์๋ฒ ์ปดํจํฐ๋ก ์๋ฒ๋ฅผ ์ด์ํ๋ ๊ฒ์ ์ฒ์์ด๋ผ ์ด๊ฒ์ ๊ฒ ์์๋ณด์์ผ ํ๋ค. ์๊ฒฉ ์ ์ ๊ณ์ ์ฐ๊ตฌ์ค์ ๋ฐฉ๋ฌธํด์ ์์ ์ ํ ์๋ ์์ด์, ์๊ฒฉ์ผ๋ก ์๋ฒ ์ปดํจํฐ์ ์ ์ํ ์ ์๋๋ก ์ธํ ์ ํ๋ค ๊ธฐ๋ณธ์ ์ธ ์ธํ ์ ์กฐ๊ต๋์ด ํด์ฃผ์๊ณ , ๋๋ ์ฐ๊ตฌ์ค์ ๋ฐฉ๋ฌธํด์ ๋ด ๊ณ์ ์ ๋ฑ๋กํ๊ธฐ๋ง ํ๋ค. ํฌ๋กฌ์์ ์ ๊ณตํ๋ ์๊ฒฉ ๋ฐ์คํฌํฑ์ ์ฌ.. 2024. 3. 20. 6. ๋ ธ๋ ์ญ์ ๋ฐ ๊ฐ์ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ์ ์ด์ ๋ฏธํ ํผ๋๋ฐฑ ์ด์ ๋ฏธํ ์์ ๋ฐ์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ๊ธฐ๋ฅ ๊ฐ์ ๋ ธ๋ ์ญ์ ์ ์ด์ ๋ ธ๋๋ ํจ๊ป ์ญ์ ํ ๊ฒ์ธ์ง ์ฌ๋ถ ์ ํ ๊ฐ๋ฅ ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ๊ฐ ๊ฐ์ ์ถ๊ฐ์ ์์ ๋ณ๊ฒฝ Union-Find ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๊ฐ์ ํผ๋๋ฐฑ ๋ฐ์ 1. ์ด์ ๋ ธ๋ ์ญ์ ์ฌ๋ถ ๊ฒฐ์ ํน์ ๋ ธ๋ ์ญ์ ์ ํด๋น ๋ ธ๋์ ์ด์ํ ๋ ธ๋๋ฅผ ํจ๊ป ์ญ์ ํ ์ง ์ ํ ๊ฐ๋ฅํ๋๋ก ๊ฐ์ const handleSubmit = useCallback(() => { if (filter === "") { return; } setRerender(false); setGraphData((prev) => { let filteredNodes = prev.nodes; let filteredEdges = prev.edges; if (deleteNeighbor) { filtere.. 2024. 3. 17. 5. ์ ์ , ๊ฐ์ ์ถ๊ฐ ๋ฐ ์ญ์ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ Cytoscape.js์์ Measure์ ๋ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋์ง ์์๋ณด๊ณ , ์ ์ ๊ณผ ๊ฐ์ ์ ์ถ๊ฐํ๊ณ ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ผ๋ถ ๊ตฌํํ๋ค. Community Detection์ ์ด๋์ ๋ ๋์์ผ๋, ์ด์ ๋ ธ๋์ Degree, Path์ ๊ธธ์ด ๋ฑ Network์ ๋ํ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด์ Network๋ฅผ ์ธก์ ํ ์ ์๋ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋์ง ์ฐพ์๋ณด์๋ค. ๊ธฐ์กด์๋ ํ์ด์ฌ์์ ํด๋น ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํ์ด์ฌ์ ์ด๋ฏธ ๊ตฌํ์ด ๋์ด ์์ง๋ง, ํ๋ก ํธ๋จ์์ ๊ณ์ฐ์ ํด์ ๋ฐ๋ก ๋ณด์ฌ์ฃผ๊ฒ ๋๋ฉด ์๋ฌด๋๋ ๋ ๋น ๋ฅด๊ฒ ์ ๋ฌํ ์ ์๊ธฐ ๋๋ฌธ์ Cytoscape.js์์ ๊ทธ๋ฐ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋์ง ์ฐพ์๋ณด์๋ค. Network Analyzer Cytoscape์์๋ Network์ ๋ํ ํต๊ณ ์ ๋ณด.. 2024. 3. 4. 4. ํ์ด์ง ๋ ์ด์์ ๋์์ธ ๋ฐ ๋ณ๊ฒฝ ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์๋ ํ์ด์ง๋ฅผ ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑํ ๊ฒ์ธ์ง ๋ ์ด์์ ์ ์ ํ๊ณ , ๋์์ธ์ ๊ณ ๋ฏผํ๋ค. ์ง๋๋ฒ์๋ Union-Find๋ฅผ ํตํด์ Community๋ฅผ Detectionํ๊ณ ๊ฐ ์ปค๋ฎค๋ํฐ๋ง๋ค ๋ค๋ฅธ ์์์ ์น ํ๋ ๊ฒ ๊ฐ๋ฅํ ๊ฒ๊น์ง ํ์ธํ๋ค. ์ด๋ฒ์๋ ๊ธฐ์กด์ ์๋ ํ์ด์ง๋ฅผ Migrationํ ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ๊ตฌํํ๊ณ , ๋์์ธํ ์ง๋ฅผ ๊ณ ๋ฏผํ๋ค. ๊ธฐ์กด์ ์์๋ ํ์ด์ง์ ๋ฌธ์ ์ ์, ์ฌ์ฉ์์์ ์ํธ์์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค. ์ต์ ์ ์ ํํ ํ ๊ทธ๋ํ๋ฅผ ์์ฒญํ๋ฉด ์๋ฒ์์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฐ ๋ค์ pdf ํํ๋ก ๋ด๋ ค์ฃผ๋ ๋ฐฉ์์ด์๋ค. ์ฐ๋ฆฌ๋ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํด์ ์ฌ์ฉ์์ ์ค์๊ฐ์ผ๋ก ์ํธ์์ฉ์ ํ๋ฉฐ, ์ต์ ์ ์ ์ฉํ ์ ์๋ ํํ๋ก ๋ฐ๊พธ๊ณ ์ ํ์ฌ ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ด๋ค. ๋ ํผ๋ฐ์ค ์ต์ ์ ์ ์ฉํ๋ฉด์ ์ค์๊ฐ์ผ๋ก ์๊ฐํ๋ฅผ .. 2024. 2. 26. 3. Community Detection ์ง๋ ํ๋ ์์ฝ ์ง๋ ํ๋์ ๋ฐํ์ผ๋ก ์ด๋ฒ์๋ ์ด๋ค ์์ ์ ํ ์ง ์ ํด๋ณด์๋ค ์ง๋ ๋ฒ์ Cytoscape์๋ ์ด๋ค ๋ ์ด์์๋ค์ด ์กด์ฌํ๋์ง ํ์ ํ๊ณ , ๊ฐ ๋ ์ด์์๋ค์ ์ฑ๋ฅ์ ๊ฐ๋ณ๊ฒ ์ธก์ ํด๋ณด์๋ค. ๊ทธ ๊ฒฐ๊ณผ fcose ๋ ์ด์์์ด ์ฐ๋ฆฌ์ ์ฃผ์ ์ ๊ฐ์ฅ ์ ํฉํ๋ค๊ณ ์๊ฐํ๊ณ , ์ฑ๋ฅ๋ ๋์์ง ์์๋ค. => fcose ๋ ์ด์์์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๊ณ , ๋ค๋ฅธ ๋ ์ด์์๋ค์ ์ ์ ๊ฐ ์ ํ์ ๋ณด์ฌ์ค ์ ์๋๋ก ํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฒฐ์ ์ ๋ด๋ ธ๋ค. ์ด๋ฒ ํ๋ ์์ฝ ์ด๋ฒ์ ํด์ผ ํ ์์ ์ ํฌ๊ฒ 2๊ฐ์ง๋ก ์ ํ๋ค 1. ๊ฐ ์ปค๋ฎค๋ํฐ ๋ณ๋ก ๋ค๋ฅธ ์ ์ผ๋ก ๋ํ๋ด๊ณ , 2. Degree๊ฐ ํฐ ๋ ธ๋์ผ์๋ก ๋ ธ๋์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ํํํ๋ ๊ฒ์ด๋ค. Degree์ ๋ฐ๋ผ ํฌ๊ธฐ ์กฐ์ ํ๊ธฐ Degree๊ฐ ํฐ ๋ ธ๋๋ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ํํํด์ ์ธ์ํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํจ ๋น๊ต์ ์ฌ์๋ณด.. 2024. 2. 9. 2. Layout ํ์ ๋ฐ ์ฑ๋ฅ ์ธก์ ์ง๋ ๋ ผ์์์ ์ฐ๋ฆฌ๋ ์ผ๋จ์ Cytoscape๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ํ์ ์ง์๊ณ , ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๊ฐ ๋ง์์ก์ ๋ ๋๋ ค์ง๋ ํ์์ ๋ํ ๋ฐฉ์์ ๋ ์ฌ๋ ค์ผ ํ๋ค. ๊ฐ๋จํ๊ฒ 2๊ฐ์ง์ ์ ํ์ง๋ฅผ ์๊ฐํ ์ ์๋ค. 1. ์๋ฒ์์ ๊ทธ๋ฆผ์ ๊ทธ๋ ค์, ์ด๋ฏธ์ง ํ์ผ๋ง ํด๋ผ์ด์ธํธ์ธก์ผ๋ก ์ ์กํ๋ค. 2. ํด๋ผ์ด์ธํธ์ธก์์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋, ์ต์ ํํด์ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ชจ์ํ๋ค. 1๋ฒ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ์ธก์ ๋ถ๋ด์ ๋์ด์ค ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง, ๋์ ์ฌ์ฉ์๊ฐ ๋ ธ๋๋ฅผ ๋์ด๋ค๊ฐ ์์ง์ธ๋ค๋๊ฐ์ ์ํธ์์ฉ์ ๋ถ๊ฐ๋ฅํ ๊ฒ์ด๋ค. 2๋ฒ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ์ ๋ถ๋ด์ด ๊ฐ์ง๋ง, ์ํธ์์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด ์ฅ์ ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์กฐ๊ต๋์ ์๊ตฌ์ฌํญ์ผ๋ก๋ ์ํธ์์ฉ์ด ๊ฐ๋ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ 2๋ฒ ์ผ๋ก ๋ฐฉํฅ์ฑ์ ์ก์๋ค. Layout ์ง๋ ๋ฒ ์์ฐ์์๋ Cytos.. 2024. 1. 31. 1. ๋คํธ์ํฌ ์๊ฐํ ํด ํ์ ์ด๋ฒ์ฃผ ํ๋ ์์ฝ ์ด๋ฒ์ฃผ์ ์ด๋ค ๊ฒ๋ค์ ํด์ผํ ์ง ์ ๋ฆฌ ๋จผ์ ํด์ผ ํ ๊ฒ์, ์ด๋ค ํด์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ ๊ฒ์ธ์ง๋ฅผ ์ ์ ํ๋ ๊ฒ์ด๋ค. ์ต์ฐ์ ์ผ๋ก ๊ณ ๋ คํด์ผ ํ ์ ์ ์น ํ์ด์ง์ ๋ํ๋ผ ์ ์๋์ง์ด๋ค. ์น ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ต์ข ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์ ์น ํ์ด์ง์ ๊ทธ๋ํ๋ฅผ ๋ํ๋ผ ์ ์๋์ง ์ฌ๋ถ๊ฐ ํด์ ์ ์ ํ๋ ๋ฐ ์์ด ๊ฐ์ฅ ์ค์ํ๋ค. ์ฐ๋ฆฌ๋ ์ด 3๊ฐ์ง์ ํด์ ์ดํด๋ณด์๋ค. 1. GraphViz (Graph Visualizer) 2. SocNetV (Social Network Visualizer) 3. Cytograph ๊ฐ ํ๋ก๊ทธ๋จ๋ง๋ค ๊ธฐ๋ฅ ๋น๊ต ๊ณต์ ๋ฌธ์๋ฅผ ์ฐพ์๋ณด๋ฉด์ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ตํ ์ ๋ฆฌํด ๋ณด์๋ค. SocNetV (Social Network Visualizer) SocNetV๋ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์์ ๋คํธ์ํฌ.. 2024. 1. 25. ์ด์ 1 2 ๋ค์