ํ”Œ๋ฆฌ๋ถˆ๋Ÿฌ

Concept

  • <ํ”Œ๋ฆฌ๋ถˆ๋Ÿฌ>๋Š” ์œ ํŠœ๋ธŒ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ(์ดํ•˜ ํ”Œ๋ฆฌ)์— ์žˆ๋Š” ๋…ธ๋ž˜๋“ค์„ ๋…ธ๋ž˜๋ฐฉ ๋ฒˆํ˜ธ๋กœ ๋ฝ‘์•„๋‚ธ๋‹ค.
  • ๊ฒ€์ƒ‰ํ•œ ํ”Œ๋ฆฌ๋ฅผ ๋…ธ๋ž˜๋ฐฉ ์ •๋ณด์™€ ํ•จ๊ป˜ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • [TODO]ย  ์œ ์ €๋“ค์˜ ์ธ๊ธฐ ๊ฒ€์ƒ‰ ํ”Œ๋ฆฌ ๋“ฑ์„ ์ˆ˜์ง‘ํ•˜์—ฌ ๋…ธ๋ž˜๋ฐฉ ๊ธฐ๊ธฐ์™€๋Š” ๋ณ„๋„์˜ ์ธ๊ธฐ์ˆœ์œ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

why

  • ์ผํ•˜๋ฉด์„œ ๋“ฃ๋Š” ํ”Œ๋ฆฌ์— ํฅ์ด ์ฐจ์„œ ํ‡ด๊ทผ๊ธธ์— ๋…ธ๋ž˜๋ฐฉ์— ๊ฐ”๋‹ค. ํ”Œ๋ฆฌ์— ๋‚˜์˜ค๋Š” ๊ณก๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œ ๋…ธ๋ž˜ํ•˜๋Š” ๊ฒŒ ์ฐธ ๋ฒˆ๊ฑฐ๋กœ์› ๋‹ค.
  • ํŠนํžˆ J-POP์„ ์ž์ฃผ ๋“ฃ๋Š” ๋‚˜๋Š”, ํ”Œ๋ฆฌ์— ์žˆ๋Š” ์ผ๋ณธ๊ณก๋“ค์„ ์ผ์ผ์ด ๋ณต๋ถ™ํ•ด์„œ ๊ฒ€์ƒ‰ํ•ด๋ด์•ผ ํ–ˆ๋‹ค.
  • ์• ์ดˆ์— ๋…ธ๋ž˜๋ฐฉ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๋น„์Šทํ•œ ๊ณก์„ ์ถ”์ฒœํ•œ๋‹ค๊ฑฐ๋‚˜ ์ผ์–ด์ž…๋ ฅ๊ธฐ๊ฐ€ ์žˆ์—ˆ๋‹ค๋ฉด ์ข‹์•˜๊ฒ ์ง€๋งŒ, 30๋…„์งธ ๋ฐœ์ „ํ•˜์ง€ ์•Š๋Š” ๋…ธ๋ž˜๋ฐฉ ๊ธฐ๊ธฐ.
  • ์˜คํƒ€์ฟ ๋Š” ๋”์ด์ƒ ์ฐธ์„ ์ˆ˜ ์—†์—ˆ๋‹ค.

Simple Scenario

  • ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€์—์„œ ์œ ํŠœ๋ธŒ ํ”Œ๋ฆฌ ๊ฒ€์ƒ‰ > ํ”Œ๋ฆฌ์˜ ์Œ์•… ์ˆ˜์ง‘ > ๋…ธ๋ž˜๋ฐฉ ์ •๋ณด๋กœ ์ถ”์ถœํ•˜์—ฌ ๋ฆฌ์ŠคํŒ…

How To

  • ์œ ํŠœ๋ธŒ ํ”Œ๋ฆฌ์—๋Š” ์‚ฌ์šฉ๋œ ์Œ์•… ๋ฉ”ํƒ€๋ฅผ ํ‘œ์ถœํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค.
    pleebula_youtube.png
  • ์—ฌ๊ธฐ์„œ ๋‚ด์šฉ์„ ๊ธ์–ด ์ถ”์ถœํ•œ ์Œ์•…๋“ค์„ ๋„ค์ด๋ฒ„ ๋…ธ๋ž˜๋ฐฉ ๊ฒ€์ƒ‰์œผ๋กœ ๋ฒˆํ˜ธ๋ฅผ ์ฐพ๋Š”๋‹ค.
  • (ํƒœ์ง„์ด๋‚˜ ๊ธˆ์˜์˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์—ˆ์œผ๋‚˜ ๊ณตํ™ˆ์˜ ์ƒํƒœ๊ฐ€ ๋งค์šฐ ๋‚˜์˜๋‹ค. ๊ณต์‹ API ์—†๋‚˜ ํ•˜๊ณ  ์ฐพ์•„๋ดค์œผ๋‚˜ API๋Š”์ปค๋…• ๊ณตํ™ˆ๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ๋™์ž‘ ์•ˆ ํ•˜๋”๋ผ.)
  • ํ•œ๋งˆ๋””๋กœ ๋‹ค ์›น์—์„œ ๊ธ์–ด์˜จ๋‹ค๋Š” ์ด์•ผ๊ธฐ.

Remarkable

  • ์ƒ์ˆ ํ–ˆ๋“ฏ์ด ์˜คํƒ€์ฟ ๋ผ ์ผ๋ณธ๊ณก ๊ฒ€์ƒ‰์— ์‹ ๊ฒฝ์„ ์ผ๋‹ค.
  • ์œ ํŠœ๋ธŒ์˜ ์Œ์•… ์ œ๋ชฉ๊ณผ ๋…ธ๋ž˜๋ฐฉ์˜ ์Œ์•… ์ œ๋ชฉ์€ ๊ฐ„๊ทน์ด ์žˆ๋‹ค. ์˜๋ฌธ์œผ๋กœ๋งŒ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

[์˜ˆ์‹œ]

  • ์œ ํŠœ๋ธŒ : ZUTOMAYO - Byoushinwo Kamu
  • ๋…ธ๋ž˜๋ฐฉ : ๅฎฟ้กŒใ‚’ๅ™›ใ‚€ / ใšใฃใจ็œŸๅคœไธญใงใ„ใ„ใฎใซใ€‚
  • ๋„ค์ด๋ฒ„ ๋…ธ๋ž˜๋ฐฉ ๊ฒ€์ƒ‰์€ ๋Œ€ํžˆํŠธ๊ณก์ธ Kenshi Yonezu - Lemon ์กฐ์ฐจ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œย  ํŒ๊ฐ€์ˆ˜์ธ์ค„ ์•Œ๊ณ  lemon tree(!)๋ฅผ ๋‚ด๋ฟœ๋Š”๋‹ค.
  • ์ด๋Ÿฐ ์‹์˜ ์ผ๋ณธ๊ณก๋“ค์€ ์›น์—์„œ ํ•œ์ž๋ฅผ ๊ธ์–ด์™€์„œ ์žฌ๊ฒ€์ƒ‰ํ•˜๊ณ  ็ฑณๆดฅ ็Ž„ๅธซ - Lemon์ด ๋‚˜์˜ค๊ฒŒ๋” ์ฒ˜๋ฆฌํ–ˆ๋‹ค.
  • ์ฝ”๋“œ ์ƒ์—์„œ ๊ตญ์  ๋“ฑ์ด ๊ตฌ๋ถ„์ด ์–ด๋ ค์šด ์นœ๊ตฌ๋“ค์€ ๊ฒ€์ƒ‰์–ด ์น˜ํ™˜ ํ‚คํŠธ๋ฅผ ์„œ๋ฒ„์— ์ €์žฅํ•ด์„œ ์น˜ํ™˜ํ•ด์ค€๋‹ค.

BOL4 -> ๋ณผ๋นจ๊ฐ„์‚ฌ์ถ˜๊ธฐ

Limitation

  • ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์— 50๊ณก์ด ์žˆ๋“  100๊ณก์ด ์žˆ๋“  ๋”ฑ ์ƒ์œ„ 10๊ฐœ๊ณก๋งŒ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์œ ํŠœ๋ธŒ๊ฐ€ ๋ฉ”ํƒ€๋ฅผ ์ƒ์œ„ 10๊ณก๋งŒ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋ฉ”ํƒ€๋„ ์ตœ๊ทผ์— ์ƒ๊ธด ๊ฑฐ๋ผ ์ถ”ํ›„ ์ „๊ณก ๋…ธ์ถœ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ๋ชจ๋“  ๊ณก์ด ๋…ธ์ถœ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋ฐ˜๋Œ€๋กœ ์œ ํŠœ๋ธŒ๊ฐ€ ๋ฉ”ํƒ€๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋ฉด ์•ฑ์ด ๊ธฐ๋Šฅํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ์œ ํŠœ๋ธŒ์˜ ์Œ์•… ๋ฉ”ํƒ€ ๋…ธ์ถœ ์ •์ฑ…์— 100% ๊ธฐ๋Œ€๊ณ  ์žˆ๋‹ค.
  • ๋…ธ๋ž˜๋ฐฉ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด ์•ˆ ์ข‹์•„์„œ ๋ชป ์ฐพ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์น˜ํ™˜ ํ‚คํŠธ๋กœ ๋ฐฉ๋ฒ•์„ ๋ชจ์ƒ‰ํ–ˆ์œผ๋‚˜ ์•ˆ ๋˜๋”๋ผ.

๋ ˆ๋“œ ๋ฒจ๋ฒณ - Feel my rhythm์€ ๋…ธ๋ž˜๋ฐฉ DB ๊ทธ๋Œ€๋กœ ์จ์„œ ๊ฒ€์ƒ‰ํ•ด๋„ ๋ฒˆํ˜ธ๊ฐ€ 36ํŽ˜์ด์ง€์— ๋‚˜์˜ค๋Š”๋ฐ 36ํŽ˜์ด์ง€๊นŒ์ง€ ๋’ค์ง€๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๊ธด ํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๊ทธ๋ƒฅ ํฌ๊ธฐํ–ˆ๋‹ค.

pleebula_redvelvet.png

Dev Story

  • Kotlin, AAC, MVVM, JSoup, Firebase, Retrofit, Youtube data v3
  • ์ตœ์ดˆ ์†Œ์Šค๋งŒ ๊ณต๊ฐœํ•œ๋‹ค. (์œ ์ง€๋ณด์ˆ˜ ํ•˜๋‹ค๊ฐ€ API key ๋“ฑ์ด ์‹ค์ˆ˜๋กœ ๋…ธ์ถœ๋ ๊นŒ๋ด)
  • Github : https://github.com/sleepybee-dev/SingPli
  • ๋ฌด์‹ํ•˜๊ฒŒ ๊ธ์–ด์™€์„œ ๊ตฌ์กฐ๊ฐ€ ํ•œ๋ˆˆ์— ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ ํŠœ๋ธŒ ์Œ์•… ๋ฉ”ํƒ€๋ฅผ ์“ฐ๋ ค๋Š” ์‚ฌ๋žŒ์€ ๋งค์šฐ ์ฐธ๊ณ ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.
  • JSoup์€ ๋žœ๋”๋ง๋˜๊ธฐ ์ „ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธ์–ด์˜ค๋Š”๋ฐ ์ด๋•Œ ์œ ํŠœ๋ธŒ ์Œ์•… ๋ฉ”ํƒ€๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๊ธด json๊ฐ’์— ์žˆ์–ด์„œ ์ •๊ทœ์‹์œผ๋กœ ๋ฝ‘์•„๋ƒˆ๋‹ค. ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์€ DOM์„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ์š”์ฒญ์ด ๋งŽ๋‹ค๋ฉด ์•„์ดํฐ์šฉ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒ ์œผ๋‚˜ ์ผ๋‹จ ๋‚ด๊ฐ€ ์“ธ ๊ฑฐ๋ผ ๋‚ด ๊ฐค๋Ÿญ์‹œ์šฉ์œผ๋กœ๋งŒ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ณ  ๋””๋ฒจ๋กญํ•  ์˜ˆ์ •์ด๋‹ค.

#Kotlin
#MVVM