Skip to content

dong149/deathnote-api-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

deathnote-api-server

๐Ÿ’ป deathnote.gg ver2.0 API ์„œ๋ฒ„

๋ฆฌ๊ทธ ์˜ค๋ธŒ ๋ ˆ์ „๋“œ์˜ ์‚ฌ์šฉ์ž Report ๊ธฐ๋Šฅ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


TODO

  • match info api ๊ด€๋ จํ•ด์„œ response ๋ฐ”๋€ ๋ถ€๋ถ„ ๋Œ€์‘ํ•˜๊ธฐ

๐Ÿ’โ€โ™‚๏ธ Links

1. deathnote.gg

https://deathnote.gg/

2. Faker ์„ ์ˆ˜ ์ •๋ณด

https://deathnote.gg/summoner/name=hide%20on%20bush

3. deathnote ML Code ( Kaggle )

https://www.kaggle.com/ryoopatrick/deathnote-gg-get-feature-importance

4. Swagger UI

https://www.kaggle.com/ryoopatrick/deathnote-gg-get-feature-importance



๐Ÿ˜ข Problem

๋ฆฌ๊ทธ ์˜ค๋ธŒ ๋ ˆ์ „๋“œ์—๋Š” ๊ณ ์งˆ์ ์œผ๋กœ ์‚ฌ์šฉ์ž Report ์‹œ์Šคํ…œ์˜ ๋ถˆ์™„์ „์„ฑ์˜ ๋ฌธ์ œ๊ฐ€
์กด์žฌํ•ด์™”์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Report ์‹œ์Šคํ…œ์ด๋ž€, ์‚ฌ์šฉ์ž๋ฅผ ์‹ ๊ณ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๋ฆฌ๊ทธ ์˜ค๋ธŒ ๋ ˆ์ „๋“œ๋Š” ํ•œ ๊ฒŒ์ž„ ํ‰๊ท  ์‹œ๊ฐ„์ด 20~30๋ถ„์ž…๋‹ˆ๋‹ค.

ํŠธ๋กค(๊ฒŒ์ž„์„ ๋ง์น˜๋Š” ์œ ์ €)๋Š” ๊ฐ™์€ ํŒ€์ธ ๋‚˜๋จธ์ง€ 4๋ช… ๋ฟ์•„๋‹ˆ๋ผ, ์ƒ๋Œ€ ํŒ€ 5๋ช…์—๊ฒŒ๊นŒ์ง€ ๊ฒŒ์ž„์˜ ์žฌ๋ฏธ๋ฅผ ๋–จ์–ด์ง€๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ํŠธ๋กค ํ•œ ๋ช…์ด ๊ฐ€์ ธ์˜ค๋Š” ์‹œ๊ฐ„์  ์†์‹ค์€ ๋Œ€๋žต 200~300๋ถ„์— ๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Report ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ๋Š” ๊ฐœ๋ฐœ์‚ฌ์ธ Riot๊ณผ ํ”„๋กœ๊ฒŒ์ด๋จธ๋“ค ๋˜ํ•œ ์ง€์ ํ•ด์˜จ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
Deathnote.gg ์„œ๋น„์Šค์—์„œ๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋…ธ๋ ฅํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.



โญ๏ธ Feature

1. ์†Œํ™˜์‚ฌ ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ


์†Œํ™˜์ž ์ •๋ณด ๋ทฐ ( Faker ์„ ์ˆ˜ )


Solution

์œ ์ €๊ฐ€ ๊ฒŒ์ž„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ 100์  ๋งŒ์ ์œผ๋กœ ํ™˜์‚ฐํ•˜์—ฌ ์ง๊ด€์ ์œผ๋กœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๊ฐ’ ์˜ˆ์‹œ ํ™”๋ฉด


  1. Riot API๋กœ๋ถ€ํ„ฐ Match Data๋“ค์„ ์ˆ˜์ง‘ํ•œ๋‹ค. Summoner API - Get EncryptedSummonerID
    MatchList API - Get MatchListID
    Match API - Get MatchInfo

    Riot API์—๊ฒŒ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ์š”์ฒญ์„ ์—ฐ์‡„์ ์œผ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์š”์ฒญ ๋‹จ๊ณ„์—์„œ ์ด์ „ ๋‹จ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  2. ๋ฐ์ดํ„ฐ๋“ค์„ ์ „์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ง€ํ‘œ๋“ค (ex. Kills, Deaths, TowerKills .. )์„ ์ด 10๋ช…์˜ ํ”Œ๋ ˆ์ด์–ด๋“ค ์ค‘์—์„œ ๋ช‡ ๋“ฑ์„ ๊ธฐ๋กํ–ˆ๋Š”์ง€ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋งค๊ฒŒ์ž„๋งˆ๋‹ค ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํŠธ๋กค์ธ์ง€ ์•„๋‹Œ์ง€๋Š” ์ƒ๋Œ€์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  3. ์—ฌ๋Ÿฌ ์ง€ํ‘œ๋“ค์— ๊ฐ€์ค‘์น˜๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ๋งค๊ฒจ๋ด…๋‹ˆ๋‹ค.

  4. ์‹ค์ œ ์œ ์ €๋“ค์˜ ์ตœ๊ทผ 20๊ฒŒ์ž„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๊ฐ€์ค‘์น˜๊ฐ€ ์ œ๋Œ€๋กœ ๋งค๊ฒจ์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  5. Troller Score ๋กœ์ง์„ ๊ตฌ์ฒดํ™”ํ•ฉ๋‹ˆ๋‹ค.



2. ํŠน์ • ์œ ์ €์—๊ฒŒ ๋ฆฌ๋ทฐ ์ž‘์„ฑ ๊ธฐ๋Šฅ


๊ทธ๋ž˜ํ”„ ๋ฐ ์ž‘์„ฑ ๋ทฐ



Solution

Report๋ฅผ ์ž‘์„ฑ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Report์—๋Š” ์นญ์ฐฌ๊ณผ ๋ฆฌํฟ ๋‘ ๊ฐ€์ง€ ์ค‘์— ์„ ํƒ์„ ํ•˜์—ฌ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์Šค๋…ธํŠธ ์ ์ˆ˜์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž์˜ ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ๊ธฐ๋Šฅ์˜ ์œ ์šฉ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค.
ํŠธ๋กค๋Ÿฌ ์ ์ˆ˜ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ถ”๊ฐ€ํ•˜๋ ค ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

  1. ์„œ๋ฒ„๋‹จ์—์„œ, CRUD ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  2. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์ด Reportํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ U,D ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

  3. ์œ ์˜๋ฏธํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์˜€์„ ๋•Œ๋ถ€ํ„ฐ ์‹ค์ œ ํŠธ๋กค๋Ÿฌ ์ ์ˆ˜ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ํ•ด๋‹น ์ง€ํ‘œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  4. ์„œ๋ฒ„ ๋‹จ์—์„œ, Report ๋‚ด์šฉ์— ๋ถ€์ ์ ˆํ•œ ๋ง์ด ๋“ค์–ด๊ฐ”๋Š”์ง€, ํ˜น์€ ์–ด๋ทฐ์ง•์ด ์žˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.



3. ์ตœ๊ทผ 20๊ฒŒ์ž„ ๋ถ„์„


ํ˜„์žฌ ๋ฆฌ๋‰ด์–ผ ์ž‘์—… ์ค‘ ( ์—ฌ๋Ÿฌ ์ง€ํ‘œ๊ฐ€ ์ถ”๊ฐ€๋  ์˜ˆ์ • )



Solution

์ด ๊ธฐ๋Šฅ ๋˜ํ•œ, ๊ฒฐ๊ตญ์€ Report ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ ์ „์  ๊ฒ€์ƒ‰ ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ์ „์  ๊ทธ๋ฆฌ๊ณ , ํ•จ๊ป˜ ํ”Œ๋ ˆ์ดํ•œ ๋‹ค๋ฅธ ์œ ์ €์˜ ์ •๋ณด๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ค์ง€๋งŒ, ๋ฐ์Šค๋…ธํŠธ ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ๋Š” ๊ฐ ๊ฒŒ์ž„ ๋‹น์˜ ์—ฌ๋Ÿฌ ์ง€ํ‘œ์˜ ์ˆœ์œ„ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ( ์ด๋Š”, ์‹ค์ œ๋กœ ํŠธ๋กค๋Ÿฌ ์ ์ˆ˜ ์—ฐ์‚ฐ์‹œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋””์ž์ธ ๋ฆฌ๋‰ด์–ผ ์ž‘์—… ์ค‘์— ์žˆ์–ด, ๋ณด์—ฌ์ง€์ง€๋Š” ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


  1. DB๋ฅผ ์กฐํšŒํ–ˆ์„ ๋•Œ, ์ด์ „ ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด Riot API์— ์žฌ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜จ ์ดํ›„์—, ๊ฐ ์ง€ํ‘œ๋ณ„ Rank๋ฅผ Return ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. Client์— Response ํ•ฉ๋‹ˆ๋‹ค.



4. ๋ฐ์Šค๋…ธํŠธ ๋žญํ‚น ํ™•์ธ ๊ธฐ๋Šฅ


๋žญํ‚น ๋ทฐ UI



Solution

์ด ๊ธฐ๋Šฅ์€ ์„œ๋น„์Šค์— ์žฌ๋ฏธ ์š”์†Œ๋ฅผ ์œ„ํ•ด์„œ ์ถ”๊ฐ€ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ, ์ ์ˆ˜๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ํŠธ๋กค๋Ÿฌ๋ผ๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ˆœ์œ„๋ฅผ ์ •๋ ฌํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.



5. ๋ฐ์Šค๋…ธํŠธ ์‹ ๊ณ  ๊ธฐ๋Šฅ


์‹ ๊ณ  ์ž‘์„ฑ ๊ธฐ๋Šฅ



Solution

ํ•ด๋‹น ๊ธฐ๋Šฅ์€, ์†Œํ™˜์‚ฌ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ๋„˜์–ด ์‹ ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์‹ ๊ณ ๊ฐ€ ๋ˆ„์ ๋œ ์†Œํ™˜์‚ฌ์— ๋Œ€ํ•ด์„œ๋Š” ์†Œํ™˜์‚ฌ ์ •๋ณด ์กฐํšŒ ํŽ˜์ด์ง€์— ๋”ฐ๋กœ ํ‘œ์‹œ๋ฅผ ํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.



๐Ÿง Difficulty

1. Riot API ์š”์ฒญ์— ์ œํ•œ์ด ์žˆ๋‹ค.

Riot์ธก์—์„œ ์–ด๋Š ์ •๋„์˜ Publicํ•จ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” API์˜ ์š”์ฒญ์„ ์ œํ•œํ•˜๊ณ , ๋‹จ๊ณ„์ ์œผ๋กœ ์ œํ•œ์„ ํ’€์–ด์ค๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ, ์š”์ฒญ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ์— ๊ด€ํ•ด์„œ ์ž์ฒด DB์— ์ €์žฅํ•ด๋†“๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ „์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋‹ค์‹œ Riot API์— ์ •๋ณด๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
์ด ๋•Œ, ์žฌ์š”์ฒญํ•  ๋•Œ๋Š” ๋ช‡๋ช‡ ์ค‘์š” ์ •๋ณด๋ฅผ DB์— ์ €์žฅํ•ด๋†“๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ API๋ฅผ ์—ฐ์‡„์ ์œผ๋กœ ์š”์ฒญํ•˜์ง€ ์•Š์•„ API ์š”์ฒญ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Ehcache๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ณตํ†ต๋œ ์š”์ฒญ์ด ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” API ์š”์ฒญ์„ ํ•˜์ง€ ์•Š๋„๋ก ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.



2. API ์‘๋‹ต ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•ด๋‚ด๋Š”๋ฐ ๊นŒ์ง€, Riot API๋ฅผ ๋”๋ถˆ์–ด ์ž์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋กœ์ง๋“ค๊นŒ์ง€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ์— ์‘๋‹ต ์‹œ๊ฐ„์ด 10์ดˆ ์ด์ƒ์ด ์†Œ์š”๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์‘๋‹ต ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋ถ€๋ถ„์€ Riot API์—์„œ ์š”์ฒญํ•˜๋Š” Match API ์˜€๋Š”๋ฐ, ์ด๋Š” ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ, 10๋ฒˆ~20๋ฒˆ ์ •๋„์”ฉ ์š”์ฒญ์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” 10์ดˆ๋Œ€์—์„œ 2์ดˆ๋Œ€๋กœ ์—ฐ์‚ฐ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.



3. ํŠธ๋กค๋Ÿฌ ์ ์ˆ˜ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด ๊ตฌํ˜„

ํŠธ๋กค๋Ÿฌ ์ ์ˆ˜๊ฐ€ ์œ ์˜๋ฏธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์„ ๊ฐ€์ง€๊ณ  ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๊ณ , ์ด๋Ÿฐ ๊ณผ์ •์„ ์„œ๋น„์Šค ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์—ด๋žŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๊ณ  ํŒ๋‹จ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ž„์˜๋กœ ๊ธฐ์ค€์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐ€์ค‘์น˜๋ฅผ ๊ตฌํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ž‘์—…์€ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฐ์ดํ„ฐ๋ฅผ RIOT API์— ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ์š”์ฒญํ•˜์—ฌ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ 10๋ช… ์ค‘์— ๋ช‡ ๋“ฑ์˜ ์ง€ํ‘œ์ธ์ง€๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด์„œ Rank๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. ( 16000 ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. )
  3. ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ CSV ํŒŒ์ผ๋กœ Export ํ•ฉ๋‹ˆ๋‹ค. ( OpenCSV ์‚ฌ์šฉ )
  4. Lightgbm ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ Feature ๋“ค์˜ Importance๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  5. ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ํ•ด๋‹น ์ง€ํ‘œ๋“ค์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ( ๋ฐ˜์˜ ์™„๋ฃŒ )

์‹ค์ œ ๊ฒฐ๊ณผ ํ™”๋ฉด ๋ทฐ


์†Œ์Šค ์ฝ”๋“œ ํ™•์ธํ•˜๊ธฐ

https://www.kaggle.com/ryoopatrick/deathnote-gg-get-feature-importance



๐Ÿ”จ Dev stack

  • Spring Boot
  • Spring MVC
  • Spring JPA
  • AWS EC2
  • AWS RDS



Swagger



Swagger ๋งํฌ

https://donghoon.site/swagger-ui.html


Code Style

google java style https://google.github.io/styleguide/javaguide.html

Reference

About

๐Ÿ’ป deathnote.gg ver2.0 API ์„œ๋ฒ„

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published