Фоновые задачи на Faust, Часть II: Агенты и Команды
Часть II. Узнаем, как писать агентов, обрабатывающих стрим событий из kafka, а так же как написать команды (обёртка на click).
Часть II. Узнаем, как писать агентов, обрабатывающих стрим событий из kafka, а так же как написать команды (обёртка на click).
Если раньше узнавать, кто на тебя подписался или отписался можно было через десяток мобильных приложений, то в этом году Instagram анонсировал новость, что с октября такую возможность для сторонних приложений они закрывают. Вместе с этим и закрывается возможность массовых подписок/отписок.
Как же теперь следить за подписчиками?
Первое правило тестовых заданий - никогда не делайте тестовые задания!
Об этом уже было множество споров на Хабре, и тут мне выпал случай выучить этот урок на собственной шкуре...
Все же я сознательно пошел на этот шаг, чтобы проверить себя, извлечь какой-то опыт, даже в случае неудачи с работодателем. Статья будет не об этом.
В сети множество туториалов создания тудушек, так в чем же будет отличаться мое? Во-первых, они обычно делаются не по техническому заданию, а значит, авторы "срезают углы" и в целом ничем себя не ограничивают. Во-вторых, редко можно увидеть объяснение, почему был выбран тот или иной путь для решения поставленной задачи. В-третьих, мое приложение на порядок сложнее стандартного списка дел, об этом позже.
Как известно, кто убьет дракона, тот сам становится драконом. Spring, как фреймворк общего назначения, был очень хорош на фоне java EE 10 лет назад. Но сейчас стал очень монструозным и тяжелым на подьем. Сегодня рассмотрим Vertx как фреймворк-основу для создания микросервисов.
В Тинькофф есть образовательный проект «Лаборатория „Финансовые технологии“». Мы отбираем студентов и магистров московских технических вузов, которые хотят работать с ИТ-проектами банка. Оформляем их на работу в штат на 20, 30 или 40 часов в неделю, даем задачи, ментора и помогаем расти профессионально. Мы работаем в партнерстве с МФТИ: преподаватели и старшекурсники вуза выступают менторами для студентов.
Недавно Google прекратил сотрудничество с Huawei. Это привело к тому, что Huawei на своих новых девайсах уже не может использовать сервисы Google (магазин приложений, геолокация, карты, пуши, аналитика etc), что для пользователя превращает девайс в кирпич. Если бы это не была китайская компания, то, скорее всего, на этом её бизнес, связанный с Android, просто бы прекратился. Но компания китайская, большая и они пошли по пути импортозамещения, в кратчайшие сроки реализовав функционал, аналогичный Google сервисам.
В этой серии статей мы хотим поделиться своим опытом использования Huawei Mobile Services в уже готовом приложении, использующем Google Mobile Services для аналитики (Firebase Analytics), карт и геолокации. Текста получилось довольно много и о сильно разных сервисах, засим статей будет несколько. Начнём мы с основ — регистрации аккаунта разработчика и базовых вещей в коде.
Если вам интересно узнать технических подробностей, посмотреть код и узнать про подводные камни — добро пожаловать под кат!
# импортируем pandas и прописываем, что далее мы будем ее указывать как pd
import pandas as pd
В начале этого года я прочитал на habr любопытную статью "Почему Discord переходит с Go на Rust", переход был связан с неэффективным механизмом сборки мусора в Go. Тогда подумалось, что, наверное, было бы проще доработать приложение и не переходить. Но еще проще было бы избежать таких проблем на стадии разработки.
git push -f
». Поскольку это одна из сотен максим, которые нужно усвоить начинающему инженеру-разработчику ПО, никто не тратит время на уточнение, почему именно так нельзя делать. Это как младенцы и огонь: «спички детям не игрушки» и баста. Но мы растём и развиваемся как люди и как профессионалы, и однажды вопрос «а почему, собственно?» встаёт в полный рост. Эта статья написана по мотивам нашего внутреннего митапа, на тему: «Когда можно и нужно переписывать историю коммитов».