giip
SES Proposal
4 min read

Graphify ์ง€์‹ ๊ทธ๋ž˜ํ”„ ๊ฐ€์ด๋“œ

ํ”„๋กœ์ ํŠธ์˜ ๋ฌธ์„œยท์†Œ์Šคยทํƒœ๊ทธ๋ฅผ 3D ์ง€์‹ ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๋…ธ๋“œ ๊ฐ„ ์—ฐ๊ฒฐ์„ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ Graphify ํŽ˜์ด์ง€๋กœ ์ด๋™ โ†’

๐Ÿ“‹ ๊ฐœ์š”

Graphify๋Š” ์„ ํƒ๋œ ํ”„๋กœ์ ํŠธ(csn)์— ์†ํ•œ ๋ฌธ์„œ, ์†Œ์Šค ์ฝ”๋“œ, ํƒœ๊ทธ๋ฅผ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ์„ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ 3D ์ง€์‹ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. ๋…ธ๋“œ๋Š” ์œ ํ˜•๋ณ„๋กœ ์ƒ‰์ด ๋‹ค๋ฅด๋ฉฐ, ์—ฐ๊ฒฐ์˜ ์ค‘์š”๋„(๊ฐ€์ค‘ ์—ฐ๊ฒฐ ์ˆ˜)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜์–ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์ค‘์š”: Graphify๋Š” tKB(์ง€์‹๋ฒ ์ด์Šค) ํ•ญ๋ชฉ๋งŒ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค โ€” giip ์ด์Šˆ, ์„œ๋ฒ„ ์ •๋ณด ๋“ฑ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋Š” ์ž๋™์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์ด์Šˆ๋‚˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด๋„ tKB์— ์•„์ง ์•„๋ฌด๊ฒƒ๋„ ๋“ฑ๋ก๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๊ทธ๋ž˜ํ”„๋Š” ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค. tKB์— ํ•ญ๋ชฉ์„ ๋„ฃ์œผ๋ ค๋ฉด ์•„๋ž˜ API๋กœ ๊ทธ๋ž˜ํ”„ ๊ด€๋ฆฌํ•˜๊ธฐ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๐Ÿ” ์ฃผ์š” ์š”์†Œ ์„ค๋ช…

1. ์ƒ๋‹จ ํ—ค๋”

ํ˜„์žฌ ๋ Œ๋”๋ง๋œ ๋…ธ๋“œ ์ˆ˜์™€ ์ „์ฒด ๋…ธ๋“œ ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ์—ฐ๊ฒฐ์„  ์ˆ˜๋ฅผ ํ‘œ์‹œ / ์ „์ฒด nodes ยท N links ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

2. ๋…ธ๋“œ ๊ฒ€์ƒ‰

ํ—ค๋”์˜ ๊ฒ€์ƒ‰์ฐฝ์— ๋ผ๋ฒจ ๋˜๋Š” ๊ฒฝ๋กœ(path)์˜ ์ผ๋ถ€๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ „์ฒด ๋…ธ๋“œ ์ง‘ํ•ฉ์—์„œ ์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ์ฐพ์•„ ์ขŒ์ธก์— ๊ฒฐ๊ณผ ๋ชฉ๋ก์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ ๊ทธ๋ž˜ํ”„์— ๋‚˜ํƒ€๋‚˜๋ฉฐ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค.

3. 3D ๊ทธ๋ž˜ํ”„ ์บ”๋ฒ„์Šค

๋…ธ๋“œ๋Š” ์œ ํ˜•์— ๋”ฐ๋ผ ์ƒ‰์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์ขŒ์ธก ํ•˜๋‹จ ๋ฒ”๋ก€์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ Doc / Spec(ํ™ฉ์ƒ‰), Code / Source(ํ•˜๋Š˜์ƒ‰), Tag(๋…น์ƒ‰)์ž…๋‹ˆ๋‹ค. ๋…ธ๋“œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ธ์ŠคํŽ™ํ„ฐ๋ฅผ ์—ด๊ณ , ๋ฐฐ๊ฒฝ์„ ํด๋ฆญํ•˜๋ฉด ์„ ํƒ์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.

4. ๋…ธ๋“œ ์ธ์ŠคํŽ™ํ„ฐ (์šฐ์ธก ํŒจ๋„)

์„ ํƒํ•œ ๋…ธ๋“œ์˜ ์œ ํ˜• ๋ฐฐ์ง€, ์—ฐ๊ฒฐ ์ˆ˜, ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ ๋‘ ๊ฐ€์ง€ ๊ด€๊ณ„ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • Backlinks: ์ด ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”(๋“ค์–ด์˜ค๋Š”) ๋…ธ๋“œ ๋ชฉ๋ก
  • Outgoing links: ์ด ๋…ธ๋“œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š”(๋‚˜๊ฐ€๋Š”) ๋…ธ๋“œ ๋ชฉ๋ก

๋ชฉ๋ก์˜ ํ•ญ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ๊ทธ ๋…ธ๋“œ๋กœ ์ด๋™(๋“œ๋ฆด๋‹ค์šด)ํ•˜๋ฉฐ, ์ด์ „ ๋…ธ๋“œ๋กœ ๋Œ์•„๊ฐ€๋ ค๋ฉด ํŒจ๋„ ์ขŒ์ƒ๋‹จ์˜ ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

5. ๋ฌธ์„œ ๋ณธ๋ฌธ ํŒ์—…

์ธ์ŠคํŽ™ํ„ฐ์˜ ๋…ธ๋“œ ์ œ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ๋ ˆ์ด์–ด ํŒ์—…์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ๋…ธ๋“œ๊ฐ€ KB ๋ฌธ์„œ(๊ฒฝ๋กœ๊ฐ€ kb/<๋ฒˆํ˜ธ>)์ธ ๊ฒฝ์šฐ ๋ฌธ์„œ ๋ณธ๋ฌธ ์ „์ฒด๋ฅผ ๋งˆํฌ๋‹ค์šด์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ ์™ธ ๋…ธ๋“œ์—๋Š” ํ‘œ์‹œํ•  ๋ณธ๋ฌธ์ด ์—†๋‹ค๋Š” ์•ˆ๋‚ด๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Esc ํ‚ค๋กœ ํŒ์—…์„ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. Refresh / Rebuild ๋ฒ„ํŠผ

ํ—ค๋”์˜ [Refresh] ๋ฒ„ํŠผ์€ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค(์žฌ๋นŒ๋“œ์™€๋Š” ๋‹ค๋ฆ„). [Rebuild] ๋ฒ„ํŠผ์€ ์ด ํ”„๋กœ์ ํŠธ(csn)์˜ tKB ํ•ญ๋ชฉ๋“ค๋กœ๋ถ€ํ„ฐ ๊ทธ๋ž˜ํ”„(๋…ธ๋“œยท์—ฃ์ง€)๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋งŒ Rebuild๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์™„๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋ฉ๋‹ˆ๋‹ค. Rebuild๋Š” ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์ˆ˜ ์ดˆ~์ˆ˜์‹ญ ์ดˆ๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋กœ๋”ฉ ํ‘œ์‹œ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ). tKB์— ์ƒˆ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œํ•œ ๋’ค์—๋Š” ๋ฐ˜๋“œ์‹œ Rebuild๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ ๊ทธ๋ž˜ํ”„์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ํ™œ์šฉ ํŒ

  • ๋” ๋ณด๊ธฐ: ๊ทธ๋ž˜ํ”„๋Š” ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ค‘์š”๋„ ์ƒ์œ„ 50๊ฐœ ๋…ธ๋“œ๋งŒ ๋จผ์ € ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‹จ ์ค‘์•™์˜ [Load N more] ๋ฒ„ํŠผ์œผ๋กœ ๋‹ค์Œ 50๊ฐœ๋ฅผ ์ถ”๊ฐ€๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ๊ณ ์นจ: ํ—ค๋” ์šฐ์ธก์˜ [Refresh] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค(Rebuild์™€๋Š” ๋‹ค๋ฆ„ โ€” Rebuild๋Š” ์˜†์˜ [Rebuild] ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์„ธ์š”).

๐Ÿ’ก ์œ ์˜ ์‚ฌํ•ญ

  • ํ”„๋กœ์ ํŠธ๊ฐ€ ์„ ํƒ๋˜์ง€ ์•Š์œผ๋ฉด "No Project Selected" ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ƒ๋‹จ ๋‚ด๋น„๊ฒŒ์ด์…˜์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜์„ธ์š”.
  • ๊ทธ๋ž˜ํ”„ ์กฐํšŒ๋Š” ๋กœ๊ทธ์ธ ์—†์ด๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, KB ๋ฌธ์„œ์˜ ๋ณธ๋ฌธ์€ ๋กœ๊ทธ์ธ(์ธ์ฆ ํ† ํฐ)์ด ์žˆ์–ด์•ผ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”Œ API๋กœ ๊ทธ๋ž˜ํ”„ ๊ด€๋ฆฌํ•˜๊ธฐ (์ถ”๊ฐ€ยท์ˆ˜์ •ยท์‚ญ์ œยท์žฌ๋นŒ๋“œ)

๐Ÿ’ก ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ์—๋Š” ํ™”๋ฉด์˜ [์žฌ๋นŒ๋“œ] ๋ฒ„ํŠผ(์œ„ "์ฃผ์š” ์š”์†Œ ์„ค๋ช…" ์ฐธ๊ณ )์„ ์“ฐ๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ API ๋ฐฉ๋ฒ•์€ ๋ฒ„ํŠผ์„ ์“ธ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ(์Šคํฌ๋ฆฝํŠธ/์ž๋™ํ™”, ๋Œ€๋Ÿ‰ ๋“ฑ๋ก ๋“ฑ)๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Graphify ๊ทธ๋ž˜ํ”„๋Š” KB ํ•ญ๋ชฉ(tKB)์—์„œ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์„ API๋กœ ์ถ”๊ฐ€ยท์ˆ˜์ •ยท์‚ญ์ œํ•œ ๋’ค ์žฌ๋นŒ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๊ทธ๋ž˜ํ”„์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ(์—ฃ์ง€)์€ ์‚ฌ๋žŒ์ด ์ง์ ‘ ๊ธ‹๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์žฌ๋นŒ๋“œ๊ฐ€ ํ•ญ๋ชฉ๋“ค๋กœ๋ถ€ํ„ฐ ์ž๋™ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ํ˜ธ์ŠคํŠธ: https://giipfaw.azurewebsites.net
  • ์ธ์ฆ: ๋ชจ๋“  ์“ฐ๊ธฐ API๋Š” ํ—ค๋” x-api-key์— ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž์˜ AK ๋˜๋Š” ํ”„๋กœ์ ํŠธ ์Šค์ฝ”ํ”„ SK๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” ์ž์‹ ์˜ csn ๋ฒ”์œ„ ์•ˆ์—์„œ๋งŒ ์ถ”๊ฐ€ยท์ˆ˜์ •ยท์‚ญ์ œยท์žฌ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž‘์—… ํ๋ฆ„: ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ(giipKb) โ†’ ์žฌ๋นŒ๋“œ(giipGraphifyRebuild) โ†’ ํ™•์ธ(giipGraphify)

1) ๋…ธ๋“œ ์ถ”๊ฐ€ โ€” giipKb POST

curl -X POST "https://giipfaw.azurewebsites.net/api/giipKb" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"csn":47,"title":"OAuth ์ฝœ๋ฐฑ 500 ์˜ค๋ฅ˜","content":"## ์›์ธ\ntoken ๊ตํ™˜ ํƒ€์ž„์•„์›ƒ","tags":"auth,oauth,timeout","refType":"ISSUE","extRefId":"ISSUE-1001"}'
  • title์ด ๊ทธ๋ž˜ํ”„์˜ ๋…ธ๋“œ ๋ผ๋ฒจ, content๋Š” ๋…ธ๋“œ ํด๋ฆญ ์‹œ ์—ด๋ฆฌ๋Š” ๋ณธ๋ฌธ ํŒ์—…(๋งˆํฌ๋‹ค์šด)์ž…๋‹ˆ๋‹ค.
  • extRefId๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋ฉฑ๋“ฑ upsert โ€” ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋‹ค์‹œ ๋ณด๋‚ด๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‘๋‹ต: { "success": true, "kbSn": 844, "message": "..." }

2) ๋…ธ๋“œ ์ˆ˜์ • โ€” giipKb PUT

curl -X PUT "https://giipfaw.azurewebsites.net/api/giipKb" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"kbSn":844,"title":"OAuth ์ฝœ๋ฐฑ 500 (ํ•ด๊ฒฐ)","content":"## ์กฐ์น˜\nํƒ€์ž„์•„์›ƒ 30sโ†’90s","tags":"auth,oauth,resolved"}'
  • kbSn์œผ๋กœ ์ˆ˜์ •ํ•  ํ•ญ๋ชฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

3) ๋…ธ๋“œ ์‚ญ์ œ โ€” giipKb DELETE

curl -X DELETE "https://giipfaw.azurewebsites.net/api/giipKb?kbSn=844" \
  -H "x-api-key: <AK_OR_SK>"

4) ์žฌ๋นŒ๋“œ (์—ฐ๊ฒฐ ์ƒ์„ฑ) โ€” giipGraphifyRebuild POST

ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œํ•œ ๋’ค ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœํ•ด์•ผ ๊ทธ๋ž˜ํ”„์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น csn์˜ ๋…ธ๋“œยท์—ฃ์ง€๋ฅผ KB ํ•ญ๋ชฉ๋“ค๋กœ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

curl -X POST "https://giipfaw.azurewebsites.net/api/giipGraphifyRebuild" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"csn":47}'
  • ์‘๋‹ต: { "success": true, "csn": 47, "nodes": 838, "edges": 11, "message": "Graph rebuilt" }
  • ์„ ํƒ ํŒŒ๋ผ๋ฏธํ„ฐ(๋Œ€์šฉ๋Ÿ‰ ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ ํŠœ๋‹):
    • maxNodes: ๊ทธ๋ž˜ํ”„ํ™”ํ•  ์ตœ์‹  ํ•ญ๋ชฉ ์ƒํ•œ (๊ธฐ๋ณธ 400)
    • scanLen: ์—ฐ๊ฒฐ ํƒ์ƒ‰ ์‹œ ๋ณธ๋ฌธ ์•ž๋ถ€๋ถ„ ์Šค์บ” ๊ธธ์ด (๊ธฐ๋ณธ 1500)
    -d '{"csn":47,"maxNodes":800,"scanLen":2000}'

5) ๊ทธ๋ž˜ํ”„ ์กฐํšŒ โ€” giipGraphify GET

ํŽ˜์ด์ง€๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ฝ๊ธฐ API์ž…๋‹ˆ๋‹ค(์ธ์ฆ ์—†์ด ์กฐํšŒ ๊ฐ€๋Šฅ). ์ง์ ‘ ํ™•์ธํ•  ๋•Œ:

curl "https://giipfaw.azurewebsites.net/api/giipGraphify?csn=47"
  • ์‘๋‹ต: { "nodes": [...], "links": [...] }

ํ•„๋“œ ์ „์ฒด ์‚ฌ์–‘์€ ๐Ÿ“˜ API ๋ ˆํผ๋Ÿฐ์Šค ๊ฐœ์š” ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋””์— ์ €์žฅ๋˜๋‚˜์š”? (์š”์•ฝ)

API๋กœ ์ถ”๊ฐ€ํ•œ ํ•ญ๋ชฉ์€ tKB ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜๋ฉฐ, ๊ทธ๋ž˜ํ”„ ํ…Œ์ด๋ธ”(tBlogGraphNodes/tBlogGraphEdges)์€ ์žฌ๋นŒ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค tKB๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ํŒŒ์ƒ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. tKB์— ์—†๋Š” ๋ฐ์ดํ„ฐ๋Š” ์•„๋ฌด๋ฆฌ ์žฌ๋นŒ๋“œํ•ด๋„ ๊ทธ๋ž˜ํ”„์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” "์ด์Šˆ๋Š” ์žˆ๋Š”๋ฐ ๊ทธ๋ž˜ํ”„์— ์•ˆ ๋ณด์ธ๋‹ค"์˜ ๋Œ€๋ถ€๋ถ„ ์›์ธ์ด ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค.

(์ด๋ฏธ ์šด์˜ ์ค‘) giip ์„ธ์…˜์ด ์ถ•์ ํ•œ ์—”์ง€๋‹ˆ์–ด๋ง ๋…ธํ•˜์šฐ(K-Layer)๋Š” ๋งค์ผ ์ž๋™์œผ๋กœ refType='k-layer-daily'(ํƒœ๊ทธ k-layer-wiki,daily)๋กœ tKB์— ์ ์žฌ๋ฉ๋‹ˆ๋‹ค โ€” ์ด ๋ฌธ์„œ๋“ค๋„ ๋‹ค์Œ Rebuild ๋•Œ DOC ๋…ธ๋“œ๋กœ ํก์ˆ˜๋˜์–ด ๋‚ ์งœ๋ณ„ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. (์‹ ๊ทœ) ์žฌ๋นŒ๋“œ ์‹œ ๊ทธ csn์˜ ํ”„๋กœ์ ํŠธ ์–ธ์–ด ์„ค์ •(cLang)์— ๋งž์ถฐ ๊ทธ๋ž˜ํ”„ ํ…์ŠคํŠธ๋ฅผ ์ž๋™ ๋ฒˆ์—ญํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. csn์˜ ์–ธ์–ด ์„ค์ •์„ ๋ฐ”๊พธ๋ฉด ๋‹ค์Œ Rebuild๋ถ€ํ„ฐ ๊ทธ๋ž˜ํ”„ ํ‘œ์‹œ ์–ธ์–ด๊ฐ€ ๋ฐ”๋€๋‹ˆ๋‹ค. ์ƒ์„ธ ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ํ•„๋“œ ์„ค๋ช…์€ ๐Ÿ“˜ API ๋ ˆํผ๋Ÿฐ์Šค ๊ฐœ์š” ์˜ "๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ํ๋ฆ„" ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
"No Project Selected"๋งŒ ํ‘œ์‹œ๋จํ”„๋กœ์ ํŠธ(csn)๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์Œ์ƒ๋‹จ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์„œ ๋ณธ๋ฌธ ํŒ์—…์— "๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค" ํ‘œ์‹œKB ๋ณธ๋ฌธ ์กฐํšŒ์— ์ธ์ฆ ํ† ํฐ์ด ์—†์Œ๋กœ๊ทธ์ธ ํ›„ ๋‹ค์‹œ ๋…ธ๋“œ ์ œ๋ชฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
๋…ธ๋“œ์— ๋ณธ๋ฌธ์ด ์—†๋‹ค๊ณ  ํ‘œ์‹œ๋จํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ KB ๋ฌธ์„œ(kb/โ€ฆ)๊ฐ€ ์•„๋‹˜๋ณธ๋ฌธ์€ KB ๋ฌธ์„œ ๋…ธ๋“œ์—๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ •์ƒ ๋™์ž‘์ž…๋‹ˆ๋‹ค.
์ผ๋ถ€ ๋…ธ๋“œ๊ฐ€ ๊ทธ๋ž˜ํ”„์— ๋ณด์ด์ง€ ์•Š์Œ์ค‘์š”๋„ ์ƒ์œ„ 50๊ฐœ๋งŒ ์šฐ์„  ํ‘œ์‹œ๋จํ•˜๋‹จ [Load N more]๋กœ ์ถ”๊ฐ€ ๋…ธ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰์œผ๋กœ ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
API Error ๋˜๋Š” ๋กœ๋”ฉ ์‹คํŒจ์„ธ์…˜ ๋งŒ๋ฃŒ ๋˜๋Š” ์„œ๋ฒ„ ์‘๋‹ต ์˜ค๋ฅ˜์˜ค๋ฅ˜ ๋ฐฐ๋„ˆ์˜ [Retry]๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
์ด์Šˆ/๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋น„์–ด์žˆ์ŒtKB์— ์•„์ง ๋ฐ˜์˜ ์•ˆ ๋จ์žฌ๋นŒ๋“œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ธฐ ์ „์— ๋จผ์ € giipKb API๋กœ ๋‚ด์šฉ์„ tKB์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์œ„ API ์„น์…˜ ์ฐธ์กฐ).

๋ฒ„์ „: 1.1 ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-09-06 ์†Œ์Šค ํŒŒ์ผ: giipv3/public/help/graphify.ko.md