SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Guitar Hero,
Wikipedia,VK, Perl, Like it!
        Анатолий Шарифулин
         YAPC::Russia 2012
Очередная история
  обо мне и Perl
Guitar Hero: гитара,
барабаны и микрофон
  Наконец-таки, сделал себе подарок :-)
I’m Playing...
Солист в придачу :-)
Детский Guitar Hero
      Hand made :-)
— Кто-нибудь
играл-любит GH?
— А прийти ко мне
в гости хочет? :-)
Всё классно, но...
1. Мало знакомых
     треков
2. Много дисков,
  какой купить,
какие там треки?
Эврика!
Я знаю, что делать...
и Perl!
1. Wikipedia
В википедии я нашёл всю информацию по всем
               дискам и трекам
1. Wikipedia
Написал Perl-скрипт, который распарсили все
       треклисты и записал всё в БД
1. Wikipedia
map + grep + re + insert db
2.VK.com
Во ВКонтакте есть все (почти все) треки и API!
2.VK.com
Создал ВК-приложение, через OAuth-авторизацию
получаем доступ к аудио и можно скачивать треки
2.VK.com
Написал скрипт на ojo, который через API нашёл все
                 ссылки на mp3
2.VK.com
    Ограничения API: нельзя делать параллельные
запросы и 100 запросов в час от одного пользователя
2.VK.com
Поиск треков: некоторые треки вручную подправил,
     омляуты и NFD (спасибо @nordicdyno)
my $t = NFD( $_->{title} );
$t =~ s/pM//og;

my $q = b( $t )->url_escape->to_string;
my $r = g(
 "https://api.vkontakte.ru/method/audio.search?q=
$q&lyrics=1&count=1&access_token=$conf->{token}"
)->json;
2.VK.com
На том же ojo написал скачивание всех mp3-файлов
      (не хотелось проверять ограничение,
              поэтому в один поток)
2.VK.com
  Единственный косяк — все файлы одной длины,
                   решение:
$ENV{MOJO_MAX_MESSAGE_SIZE} = 100*1024*1024
2.VK.com
       Скачал 650+ треков,
просто слушать в плеере не кайф :-)
3. Frodio.com
  Создал радио-станцию по рандомному плейлисту,
косячок: не у всех треков есть «корректные» ID3-теги
3. Frodio.com
     Написал скрипт по редактированию тегов,
используя MP3::Tag (ID3v1 стираю, ID3v2 устанавливаю)
3. Frodio.com
Артист — Название трека [Название диска]
3. Frodio.com
За два дня получилось хорошее радио
         — Radio Guitar Hero
      http://guitarhero.frodio.com
Теперь я в курсе всех
    треков GH
Facebook-эффект
Почувствовал себя одиноким, написал в группе GH
        на Facebook об открытии радио
Facebook-эффект
2250+ лайков, 43 перепоста, 76 комментариев,
        в пике 78 он-лайн слушателя
Perl, Guitar Hero and
      Rock’n’Roll
use Perl or die;
Спасибо за внимание!
     Анатолий Шарифулин
      YAPC::Russia 2012

Contenu connexe

Plus de Anatoly Sharifulin

Ещё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхЕщё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхAnatoly Sharifulin
 
ASO Аудит для приложений и игр
ASO Аудит для приложений и игрASO Аудит для приложений и игр
ASO Аудит для приложений и игрAnatoly Sharifulin
 
ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)Anatoly Sharifulin
 
AppFollow митап в Москве
AppFollow митап в МосквеAppFollow митап в Москве
AppFollow митап в МосквеAnatoly Sharifulin
 
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...Anatoly Sharifulin
 
Аналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayАналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayAnatoly Sharifulin
 
Конкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийКонкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийAnatoly Sharifulin
 
Аналитика приложений конкурентов
Аналитика приложений конкурентовАналитика приложений конкурентов
Аналитика приложений конкурентовAnatoly Sharifulin
 
Аналитика магазинов приложений
Аналитика магазинов приложенийАналитика магазинов приложений
Аналитика магазинов приложенийAnatoly Sharifulin
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложенийAnatoly Sharifulin
 
Анализ приложений конкурентов
Анализ приложений конкурентовАнализ приложений конкурентов
Анализ приложений конкурентовAnatoly Sharifulin
 
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»Anatoly Sharifulin
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Anatoly Sharifulin
 
Основной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruОсновной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruAnatoly Sharifulin
 
ASO оптимизация и продвижение мобильных приложений
ASO  оптимизация и продвижение мобильных приложенийASO  оптимизация и продвижение мобильных приложений
ASO оптимизация и продвижение мобильных приложенийAnatoly Sharifulin
 

Plus de Anatoly Sharifulin (20)

Ещё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхЕщё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играх
 
ASO Аудит для приложений и игр
ASO Аудит для приложений и игрASO Аудит для приложений и игр
ASO Аудит для приложений и игр
 
ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)
 
ASO для iOS 11
ASO для iOS 11ASO для iOS 11
ASO для iOS 11
 
AppFollow митап в Москве
AppFollow митап в МосквеAppFollow митап в Москве
AppFollow митап в Москве
 
ASO Best Practices 2016
ASO Best Practices 2016ASO Best Practices 2016
ASO Best Practices 2016
 
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
 
Аналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayАналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google Play
 
ASO FAQ
ASO FAQASO FAQ
ASO FAQ
 
ASO: Best Practices 2015
ASO: Best Practices 2015ASO: Best Practices 2015
ASO: Best Practices 2015
 
AppFollow Demo Day ФРИИ
AppFollow Demo Day ФРИИAppFollow Demo Day ФРИИ
AppFollow Demo Day ФРИИ
 
Конкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийКонкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложений
 
Аналитика приложений конкурентов
Аналитика приложений конкурентовАналитика приложений конкурентов
Аналитика приложений конкурентов
 
Аналитика магазинов приложений
Аналитика магазинов приложенийАналитика магазинов приложений
Аналитика магазинов приложений
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложений
 
Анализ приложений конкурентов
Анализ приложений конкурентовАнализ приложений конкурентов
Анализ приложений конкурентов
 
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?
 
Основной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruОсновной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ru
 
ASO оптимизация и продвижение мобильных приложений
ASO  оптимизация и продвижение мобильных приложенийASO  оптимизация и продвижение мобильных приложений
ASO оптимизация и продвижение мобильных приложений
 

Guitar Hero, Wikipedia, VK, Perl, Like it! (русская версия)