- сильно оптимизировали работу фреймворка и обогнали основных конкурентов в бенчмарках высокопроизводительных фреймворков;
- значительно упростили конфигурирование;
- обзавелись
install
, докер-образами, Yandex Cloud-образом и DEB-пакетами; - обросли новой функциональностью, включая серверные мидлвари для HTTP, и YDB-драйвером;
- перешли на новую ежемесячную схему релизов и упростили версионирование.
Рубрика «python» - 20
userver 2.0 — большой релиз фреймворка для IO-bound программ
2024-05-16 в 8:02, admin, рубрики: c++, c++17, coroutine, coroutines, dynamic changes, github, json, logs, mongo, mongodb, mysql, postgres, postgresql, prometheus, prometheus grafana, python, python3, redis, sql, synchronization, userver, yaml, Yandex, ydb, опенсорс яндекса, осьминоги, открытый кодYouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2
2024-05-14 в 9:26, admin, рубрики: bash, ffmpeg, python, selectel, маркетинг игр, продвижение игр![YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2 - 1 YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2 - 1](https://www.pvsm.ru/images/2024/05/19/YouTube-Shorts-iz-terminala-kak-avtomatizirovat-sozdanie-video-s-pomoshyu-FFMPEG-i-Bash-chast-2.png)
Привет! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, как генерировать аудио с помощью библиотеки Bark и настроить анимацию ASCII-маскота. Подробнее — под катом.
Читать полностью »
Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение
2024-04-25 в 12:22, admin, рубрики: delivery, github, Go, open source, python, Rust, Программирование, разработка, управление разработкойНа скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно организовать самостоятельно.
В этой статье поговорим о различных формах распространения Python-приложений. Какие есть подходы и инструменты, почему они могут не сработать и как чинить возникающие проблемы.
Эффект Монреаля: почему языкам программирования нужен Царь стилей
2024-04-05 в 13:00, admin, рубрики: c++, python, ruvds_перевод, scala, оформление кода, Программирование, стиль кода![Эффект Монреаля: почему языкам программирования нужен Царь стилей - 1 Эффект Монреаля: почему языкам программирования нужен Царь стилей - 1](https://www.pvsm.ru/images/2024/04/12/effekt-monrealya-pochemu-yazykam-programmirovaniya-nujen-car-stilei.jpg)
Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее реалистичным, предположим, что вы игнорируете типичные ограничения, например, не учитываете, сможете ли использовать сборщик мусора, и впишется ли поставленная задача в конкретный стек технологий.
Пусть это будет мысленный эксперимент. Подыграйте мне. Если вы читали мою прошлую статью (англ.), то должны правильно предположить, что я бы предпочёл экспрессивный язык, ориентированный на профессионалов. Так и есть. Но в гибком языке программирования есть серьёзная проблема с масштабированием – слишком много стилей оформления кода и способов его написания. В итоге просто не обойтись без руководств по стилю, которые помогут сориентироваться в правильной реализации.
Какое подмножество C++ или Kotlin вы используете? Что вы предпочтёте: project.toml
или requirements.txt
? Теперь у вашего языка есть возможность поэтапной типизации с помощью аннотаций типов. Хотите ей воспользоваться? Как вы реализуете конкурентность: с помощью многопоточности, Tokio или std::async
?
Чем более экспрессивный язык, тем сложнее всё становится. И здесь на сцену выходит Go. И речь не только о gofmt
, но и о его стандартной библиотеке и согласованности. В Kotlin вам приходится гадать, что лучше использовать для ошибок: исключения или объекты Result
? В случае же Go вам всё ясно – ищем err
. Да, это многословно, но зато предсказуемо.
Экспрессивные языки прекрасны, но часто создают путаницу. Вы можете использовать богатый и комплексный язык, поддерживающий миллион способов реализации одного и того же. Именно это я хочу вам показать. Как же сохранить всю эту мощь, но уменьшить беспорядок? Как избежать возникновения 500 поддиалектов? Но прежде, чем переходить к решениям, обсудим Scala.Читать полностью »
История одной очереди
2024-03-25 в 15:41, admin, рубрики: python, выборы, данные, системы массового обслуживанияВ одно воскресенье довелось мне стоять в очереди на избирательный участок №8134 в Алматы. Простоял я там 4 часа, а некоторые и того больше. И как-то совершенно случайно вспомнил, что в институте я учился на специальности “системы и сети массового обслуживания”, а тут у нас как раз такая сеть, которую можно попробовать рассчитать. А заодно ответить расчётами на следующие вопросы:
-
Могло ли действительно через УИК пройти указанные в итоговом протоколе 1830 человек?
Охота на недостающий тип данных
2024-03-15 в 13:00, admin, рубрики: nosey parker, python, ruvds_перевод, sparql, sql, Алгоритмы, графы, типы данных![Охота на недостающий тип данных - 1 Охота на недостающий тип данных - 1](https://www.pvsm.ru/images/2024/03/16/ohota-na-nedostayushii-tip-dannyh.png)
Все графы созданы с помощью graphviz (источник)
В сфере разработки ПО графы используются повсеместно:
- Зависимости пакетов, как и импорт модулей, формируют направленные графы.
- Интернет — это граф, состоящий из ссылок между веб-страницами.
- При проверке моделей анализ выполняется путём изучения «пространства состояний» всех возможных конфигураций. Узлы — это состояния, а рёбра — это допустимые переходы между ними.
- Реляционные базы данных — это графы, в которых узлы являются записями, а рёбра — внешними ключами.
- Графы — это обобщение связанных списков, двоичных деревьев и хэш-таблиц.1
Кроме того, графы также широко используются в бизнес-логике. Научные работы со ссылками формируют графы цитат. Транспортные сети представляют графы маршрутов. Социальные сети — это графы связей. Если вы работаете в сфере разработки, то рано или поздно встретитесь с графами.
Я вижу графы повсюду и использую их для анализа всевозможных систем. В то же время я побаиваюсь использовать их в коде. Какой из популярных языков программирования ни возьми, поддержка графов в них практически отсутствует. Ни в одном её нет в виде встроенного типа, очень мало где они прописаны в стандартной библиотеке, и у многих языков нет для этой функциональности надёжного стороннего пакета. Чаще всего мне приходится создавать графы с нуля. Существует большой разрыв между тем, как часто инженерам ПО могут понадобиться графы и тем, в какой степени экосистема их поддерживает. Где все графовые типы?Читать полностью »
Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python
2024-03-08 в 19:01, admin, рубрики: affinity propagation, data science, dbscan, k-means, python, агломеративная кластеризация, алгоритмы машинного обучения, глубокое обучение, кластеризация, машинное обучениеУскоряем анализ данных в 170 000 раз с помощью Python
2024-02-01 в 11:01, admin, рубрики: numba, python, оптимизация, перевод, ускорение кодаРазмышления о выборе языка программирования для школы (и ситуации с информатикой в целом)…
2023-12-28 в 17:29, admin, рубрики: Pascal, python, информатика, школаЭта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.
Как бывший программист-практик, ныне преподающий информатику в обычной сельской школе, выскажу своё мнение касательно Pascal в школе, да и вообще того, как сейчас обстоят дела с изучением информатики.
Реальный Python: грустные факты, которые вас разочаруют
2023-12-27 в 21:48, admin, рубрики: python, юморНачинаем гуглить информацию о Python. Все статьи как под копирку: тут хорошо платят, легко учиться, гостеприимное коммьюнити, просто рай на земле. Это ловушка. Я писала на Python полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле.
![Реальный Python: грустные факты, которые вас разочаруют - 1 Реальный Python: грустные факты, которые вас разочаруют - 1](https://www.pvsm.ru/images/2023/12/28/realnyi-Python-grustnye-fakty-kotorye-vas-razocharuyut.png)
Вводные данные
-
начала в марте 2022 года