Сегодня у нас появилась возможность по-настоящему погрузиться в наш проект, и я, честно говоря, очень взволнован этим! Один из членов моей группы, Луиза, добился огромного прогресса, экспериментируя с twitter API, и мы смогли увидеть, как число твитов увеличилось! Это чертовски круто! Мы протестировали его со словом салат (о котором не так много твитов), и буквально, как только Аманда нажимала клавишу ввода, наш счетчик увеличивался. Так круто!
Мы хотели быстро получить много данных, поэтому тестировали слово «Трамп». Каждую секунду о нем пишут сотни твитов. Одна вещь, которая действительно крута, мы даже можем видеть твиты, когда они приходят.
После очень сильного старта мы в итоге застряли. Метод, который мы используем, никогда не заканчивается. Он буквально бежит вечно. Rails не любит такие методы, и мы не можем использовать данные. Мы придумали несколько идей, но ни одна из них не сработала так, как нам хотелось бы.
Одна вещь, которая, как я думал, может сработать, — это цикл, который прерывается каждые 50 твитов, обновляет счетчик и начинается снова. Самая последняя итерация кода:
def tweet_count(hashtag) @client.filter(track: hashtag) do |tweet| @tweets << tweet.text if @tweets.count >= 50 @counter += 1 @tweets = [] end end end
Мы думали, что если бы мы увидели счетчик в представлении, он бы обновился без необходимости вызывать что-то, что бы его отображало. Однако Rails не любит бесконечные методы.
Я собираюсь изучить sidekiq, который потенциально может помочь, но завтра мы просто заглушим функциональность Twitter и сосредоточимся на javascript и CSS позади растущего дерева в лесу.
Что я узнал
- Тонна об использовании внешних данных в приложении
- Использование моделей Rails
- Начинаем использовать Haml для интерфейса
На чем я хочу сосредоточиться
- CSS-анимации — я их никогда не использовал!
- Ajax для обновления номера без перезагрузки страницы
- Изменение размеров объектов на основе числа
Вещи, с которыми я борюсь
- Это интеграция с твиттером. Мне бы очень хотелось, чтобы он работал сегодня.
Я не думаю, что сегодня был провал, хотя технически я не так уж многого добился. Я думаю, что в реальной жизни у вас не будет огромных побед каждый день, и важно отмечать маленькие успехи.