YouTube ์์ ์ ์์ ์ ๊ฐ์ ธ์ ๋ด ํ๋ ์ด๋ฆฌ์คํธ์ ๊ฐํธํ๊ฒ ์ ์ฅํ๋ ์๋น์ค
| ์ฑ & ํ ์ด๋ฆ | Sqoop ์ค์ฟฑ & Medio ๋ฏธ๋์ค |
|---|---|
| ๋ก๊ณ | ![]() |
| ๊ธฐ๊ฐ | 2024. 09. 02 ~ ์งํ์ค |
| ์ํ | ์ฑ์คํ ์ด ๋ฐฐํฌ ์๋ฃ ๋ฐ ์ ๋ฐ์ดํธ ์งํ ์ค(v1.1.5) |
| ์ฐธ์ฌ ์ธ์ | 7๋ช (iOS ๊ฐ๋ฐ 4๋ช + ๋์์ธ 3๋ช ) |
| ๊ธฐ์ ์คํ | SwiftUI, MusicKit, ShazamKit, Swift Regex, Localization, SPM, Supabase |
| ์ฑ์คํ ์ด | Sqoop ์ค์ฟฑ - ์ ํ๋ธ ํ๋ฆฌ ๋ณํ |
| ํ ์ธ์คํ๊ทธ๋จ | medio_o.av |
| ๋งํฌ ๋ถ์ฌ๋ฃ๊ธฐ | ์ถ์ถ ๋ก๋ฉ ์ค | ๊ณก ๋ณ๊ฒฝ ๋ฐ ๋ฏธ๋ฆฌ๋ฃ๊ธฐ | ์ฌ๊ฒ์ | ์ถ์ฒ ํ๋ฆฌ |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |

์์ธํ ๋ด์ฉ์ Wiki ํ์ด์ง์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
SQServieStroge - URL์ Unique Key๊ฐ์ผ๋ก, ์บ์ฑ๋ URL์ธ์ง ํ์ธ. (์บ์ฑ๋์๋ค๋ฉด, MusicKey ๋ฐฐ์ด ๋ฐํ)SQServieStroge - ํ
์ด๋ธ ๋ด ์ต์ 10๊ฐ์ ํ๋ ์ด๋ฆฌ์คํธ ๋ฐํ.YTPlaylistExtractor - YouTube API๋ฅผ ํตํ ์ฑ๋ ์ ๋ณด ๋ฐ ๋๊ธ ๋ฆฌ์คํธ ๋ฐํ.์์ ํ๋ ์ด๋ฆฌ์คํธ
YTPlaylistExtractor - ์บ์ฑ๋์ง ์์๋ค๋ฉด, YouTube API์ Description์ ์ ๊ทํํ์๊ณผ ๋งค์นญํด MusicList ์ถ์ถ(titelOrArtists)YTPlaylistExtractor - Description์ ์กด์ฌํ์ง ์๋๋ค๋ฉด, YouTube API์ CommentList๋ฅผ ์ ๊ทํํ์๊ณผ ๋งค์นญํด MusicList ์ถ์ถ(titleOrArtists)YTPlaylistExtractor - YouTube API์ ์ ์ฒด ์์ ๊ธธ์ด๋ฅผ ์ด์ฉํ ์์
์ถ์ ์๊ฐ(estimateDuration) ๊ณ์ฐ๊ณต์ ํ๋ ์ด๋ฆฌ์คํธ
YTPlaylistExtractor - ์บ์ฑ๋์ง ์์๋ค๋ฉด, YouTube API์ Playlist ์ ๋ณด์ ๊ฐ ์ ๋ชฉ ๋ฐ ์ฑ๋๋ช
์ ์ด์ฉํ MusicList ์ถ์ถSQServiceStorage๋ฅผ ์ด์ฉํ์ฌ Youtube ์์ URL์ ๊ธฐ๋ฐํ Youtube Playlist ID๋ฅผ ์ธ๋ถ ์๋ฒ DB์ ๊ฒ์ํ์ฌ ์ด๋ฏธ Playlist ์ ๋ณด๋ฅผ ํ์ธSQServiceStorage ์ ์ด๋ฏธ ์ ์ฅ๋์ด ์๋ค๋ฉด Playlist๋ฅผ ๋ฐํ - SQServiceStorage API ๊ด๋ จ ๋งํฌ ๋ฃ๊ธฐ๊ณก ๊ณ ์ ์์ด๋ ๊ธฐ๋ฐ
MKMusicCrafter - 2๊ฐ์ง ํ์
์ ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ ํ ๋ฎค์ง ๊ณก์ผ๋ก ๋ณํ
MKMusicCrafter ๋ด๋ถ API๋ฅผ ํตํ์ฌ ์ฌ์ฉ์์๊ฒ ํ๋ ์ด๋ฆฌ์คํธ ์์ , ๊ฒ์, ์ญ์ ๋ฅผ ์ ๊ณตMKMusicCrafter์์ ๊ฒ์ ํ ์ถ์ถํ ๊ณก ์ ๋ณด๊ฐ ๋ฏธํกํ๊ฑฐ๋ ์ถ์ถํ ๊ณก์ด ์์ ๊ฒฝ์ฐ, ์ฌ๊ฒ์ ๋ฒํผ์ ํตํด Shazam ๊ฒ์์ ์งํ.ShazamExtractor๋ฅผ ํตํด
MKMusicCrafter์ Apple Music Song ID ์ ์กShazamExtractor๋ก๋ถํฐ ๋ฐ์ Apple Music Song ID๋ค๋ก MKMusicCrafter์์ ๊ณก ๊ฒ์MKMusicCrafter์์ ํธ์ง ํ Apple Music์ผ๋ก ์ ์ก