
Как создавать красивые карты с помощью Python

User
Привет, Хабр!
Обработка данных в реальном времени стала важной составной частью современного мира. Бизнес, исследователи, разработчики и многие другие специалисты сталкиваются с необходимостью обрабатывать потоки данных в реальном времени, чтобы принимать решения быстрее и более точно.
В этой статье мы рассмотрим как построить пайплайн обработки данных в реальном времени с использованием Python.
Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.
Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно пользоваться бесплатно даже с приватным репозиторием (на момент написания статьи).
Акцентирую на тех моментах, которые для меня оказались не самыми очевидными, читая краткое руководство от Github.
Предполагается, что вы уже знаете, как пользоваться Github. По большому счету, не важно, какой у вас язык программирования или стек: главное - понять, как работают Github Actions и уметь применить его для любого проекта.
Siemens, без сомнения, производит качественные системы автоматизации, но компания ушла с нашего рынка, не оставив клиентам выбора.
Из‑за закрытой экосистемы доработка стала невозможной, было принято решение переходить на автоматизацию российского производителя.
В статье мы расскажем о том, насколько успешным оказался переход на примере промышленной вентиляции бассейна, спортивного комплекса и дворца единоборств.
Также мы рассмотрим и масштабирование: отличаются ли принципы работы промышленной вентиляции от домашних систем?
Доброго времени суток.
Сегодня предлагаю разобраться что такое JAM stack. Каковы его принципы, какие части он имеет и вообще чем отличается от традиционных подходов. Так же в данной статье я поделюсь полезными ссылка где вы сможете найти почти что все что может потребоваться вам при работе с JAM stack.
Начиная с первой версии Python, развитием языка занимался его создатель — голландский программист Гвидо ван Россум, нареченный в рамках языка неофициальным, но очень солидным для open-source сообщества титулом Benevolent Dictator for Life (BDFL), что можно перевести как Бессрочный Великодушный Диктатор. По мере усложнения Python всё большую роль в его развитии стало играть комьюнити, и в июле 2018 года Гвидо отказался от титула. Начиная с версии 3.8, за будущее Python отвечает руководящий совет в составе нескольких известных разработчиков. В этом посте мы подробней расскажем о том, кто и как направляет развитие одного из главных языков программирования в современном мире.
Если в приложении есть длительные процессы, то вместо того, чтобы блокировать основной поток, вы должны обрабатывать их в фоновом режиме.
Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.
Недавно, я столкнулся с задачей, когда с проекта на Python нужно было стряхнуть пыли и заставить работать чуточку производительнее. В следствии чего монолит был распилен на микросервисы, а брокером между сервисами стали всем знакомый RabbitMQ и такой же старый как сам Python - Celery. Проект был перенесен с Django на FastAPI, который по-моему субъективному мнению является идеальным решением для любых бэкендов на Python. Проблема с которой я столкнулся во время подключения Celery описана в данном посте.
Да, действительно, в этом посте не будет гайда, как поднять Celery в Django. Это статья для тех, кто уже пощупал Celery и хочет погрузиться в детали.
Мотивацией перевести эту статью были следующие вопросы, на которые я не знал ответа: при запуске создается процесс или поток? В какую очередь попадают отложенные задачи с ETA? А какие бывают очереди (спойлер: она не одна)? А в какой момент задача удаляется из очереди? Если я создам задачу с ETA=завтра_в_12:00
, она ровно в этот момент и выполнится (спойлер: нет)?
Ответы на все эти вопросы в статье, велком!
В студенческие годы я написал на заказ много парсеров магазинов и социальных сетей. Со временем парсеры усложнялись и из скриптов превращались в полноценные веб-приложения c базой данных и Rest API. В статье описан шаблон веб-приложения, который использую для создания парсеров.
Зачастую, приложение, у которого происходит существенный рост пользователей оказывается не готово к этому. Требования к быстродействию и доступности растут, а инфраструктура и архитектура приложения не позволяют их обеспечить.
Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.
Приложение работало в контейнерах, а оркестрация осуществлялась с помощью Docker Compose. Компоненты приложения не задумывались готовыми к запуску в кластерном режиме, что, разумеется, нормальная ситуация для раннего этапа многих проектов: бизнес требует быстрой доставки новых функций, и на преждевременную оптимизацию не всегда можно и нужно тратить время. Но в какой-то момент именно стабильность и быстродействие становятся самыми важными функциями.
Каково мигрировать приложение с уже сформированным техническим стеком и базой пользователей? Какие есть варианты решения, подводные камни? Как оценить есть ли смысл в таких трудозатратах? В этой статье я поделюсь своим опытом переноса приложения из Docker Compose в Kubernetes.