Forwarded from О разработке и не только
Не могу не поделиться один классным фреймворком - FastStream. Он существенно упрощает реализацию консьюмеров и продюсеров для RabbitMQ, Kafka и т.п. И за счёт этого позволяет сконцентрироваться на бизнес-логике. В комплекте идёт удобный DI (dishka), валидация через pydantic, генерация AsyncAPI, подключение по OpenTelemetry, метрики, мидлвари и куча клиентов. Настоятельно рекомендую!
И нет, FastStream решает более общую задачу, нежели Celery; так что сравнивать их некорректно.
https://habr.com/ru/articles/822505/ #python
И нет, FastStream решает более общую задачу, нежели Celery; так что сравнивать их некорректно.
https://habr.com/ru/articles/822505/ #python
Хабр
FastStream — новый убийца Celery?
FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений. В Python сложилось устойчивое убеждение, что если мы работаем с...
❤🔥3👏3😁1
Оказывается есть стандарт OpenFeature с которым фича-флаги выглядят ещё более удобными и привлекательными при разработке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏5
DE
Feature flags (или флаги функций) важный инструмент в современном программировании. Они позволяют тебе включать и выключать определённые функции в коде без необходимости вносить изменения в основной код базы. Это особенно полезно при разработке и тестировании новых функций.
✔️ Преимущества использования feature flags
1️⃣ Контроль над функциями:
Можно безопасно тестировать новые функции на ограниченной группе пользователей.
2️⃣ Ускорение разработки:
Новые функции могут быть внедрены быстрее, так как их можно включать или выключать без релиза новой версии приложения.
3️⃣ Уменьшение риска:
Если новая функция вызывает проблемы, её можно быстро отключить, минимизируя влияние на пользователей.
4️⃣ Персонализация:
Различные пользователи могут видеть разные наборы функций в зависимости от своих предпочтений, групп или политик безопасности.
✅ Влияние feature flags на кодовые базы
1️⃣ Усложнение кода:
При неправильном использовании количество условий в коде (многообразие if-elif, которые ты так любишь🙃 ) может увеличиться, что сделает его сложнее для чтения и сопровождения.
2️⃣ Тестирование:
Необходимо тестировать каждую комбинацию включённых и выключенных флагов, что может увеличить объём работы тестировщиков.
3️⃣ Технический долг:
Если feature flags не удаляются после стабилизации функции, они могут накопить технический долг, усложняя кодовую базу.
📎 Заключение
Feature flags являются мощным инструментом при правильном использовании, помогая управлять развитием продукта и уменьшать риски. Однако важно следить за их количеством и своевременно удалять неиспользуемые флаги, чтобы поддерживать кодовую базу в чистоте.
#dev #featureflags #if
Можно безопасно тестировать новые функции на ограниченной группе пользователей.
Новые функции могут быть внедрены быстрее, так как их можно включать или выключать без релиза новой версии приложения.
Если новая функция вызывает проблемы, её можно быстро отключить, минимизируя влияние на пользователей.
Различные пользователи могут видеть разные наборы функций в зависимости от своих предпочтений, групп или политик безопасности.
При неправильном использовании количество условий в коде (многообразие if-elif, которые ты так любишь
Необходимо тестировать каждую комбинацию включённых и выключенных флагов, что может увеличить объём работы тестировщиков.
Если feature flags не удаляются после стабилизации функции, они могут накопить технический долг, усложняя кодовую базу.
Feature flags являются мощным инструментом при правильном использовании, помогая управлять развитием продукта и уменьшать риски. Однако важно следить за их количеством и своевременно удалять неиспользуемые флаги, чтобы поддерживать кодовую базу в чистоте.
#dev #featureflags #if
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7
Forwarded from О разработке и не только
Хороший доклад про эволюцию средств установки python пакетов. Вечером за ужином самое то :)
tl;dr Экосистема python сломана, проклята и никто чинить её не собирается.
https://www.youtube.com/watch?v=2_fpwTaSQgE #python
tl;dr Экосистема python сломана, проклята и никто чинить её не собирается.
https://www.youtube.com/watch?v=2_fpwTaSQgE #python
YouTube
Николай Марков. Управление пакетами — хорошее, плохое, злое?
Николай Марков
Data Platform Lead, Altenar
Управление пакетами — хорошее, плохое, злое?
Экосистема пакетов Python существует очень давно, и в этом есть как плюсы, так и минусы. С одной стороны, мы имеем один из самых больших репозиториев пакетов на все…
Data Platform Lead, Altenar
Управление пакетами — хорошее, плохое, злое?
Экосистема пакетов Python существует очень давно, и в этом есть как плюсы, так и минусы. С одной стороны, мы имеем один из самых больших репозиториев пакетов на все…
Forwarded from Николай Хитров | Блог
Gleam. Убийца Rust/Elixir? Опять?
В узких кругах любителей функционального программирования этот язык обсуждали уже давно и далеко не один раз. Но вот несколько месяцев назад случился релиз😎
Вы спросите: ну и че это за очереднойбесполезный язык?
Отвечаю: по сути на😑
Из интересного:
🔣 Компилятор написан на
🔣 Язык поддерживает два рантайма:
🔣 Код на
🔣 Из коробки есть набор джентельмена: компилятор, пакетный менеджер, форматер, LSP
🔣 В документации есть подсказки-сравнения с другими языками, чтобы было проще вкатиться (например для python, elixir, rust)
🔣 Программистов на
🔣 Есть hot reload от
🔣 В языке нет неявных исключений и нет типа
🔣 Авторы говорят, что можно тащить в прод
Что думаете? Очередной убийца🤓
В узких кругах любителей функционального программирования этот язык обсуждали уже давно и далеко не один раз. Но вот несколько месяцев назад случился релиз
1.0.0
версии и покатилась маленькая, но гордая волна хайпа. С момента релиза уже успела выйти версия 1.3.0
и некоторое количество видосов о языке (раз, два) Вы спросите: ну и че это за очередной
Отвечаю: по сути на
erlang
решили натянуть статическую типизацию и сверху посыпать сахаром из Rust
, Elm
, OCaml
. И оно вроде как даже получилось. И похоже даже работаетИз интересного:
Rust
erlang vm
и javascript
(NodeJS
, Deno
, Bun
)gleam
можно встроить в код на elixir
и получить бенефиты от обоих миров. Уже есть обвязки для этого (тык)gleam
называют Gleamlins
(глимлины?)erlang
, но с оговоркамиInfinity
, поэтому деление на ноль вернет нольЧто думаете? Очередной убийца
c++
/rust
/elixir
/whatevername
, про которого все забудут? Или все же он найдет свою смузи нишу?Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Your backend is too complicated
This is why you should be using Gleam to simplify your software projects.
Level up your coding skills with CodeCrafters: https://ihh.dev/codecrafters
Modern software engineering can be a bit of a nightmare. You've got all these different third-party services…
Level up your coding skills with CodeCrafters: https://ihh.dev/codecrafters
Modern software engineering can be a bit of a nightmare. You've got all these different third-party services…
😁5
Forwarded from DataEng
В мае этого года прошла самая большая конференция по Python - PyCon US 2024. К сожалению, уже несколько лет подряд доклады с этой конференции выходят с большой задержкой. Этот год не стал исключением. Буквально только неделю назад стали доступны большинство докладов для просмотра на Ютубе. Плейлист всех видео смотрите тут. Я же выделю наиболее релевантные доклады для нас:
— Cheuk Ting Ho: PyO3 101 - Writing Python modules in Rust
3-х часовой туториал по написанию расширений на Rust для Python.
— Yan Yanchii: Pointers in Python
Солидный туториал для любителей покопаться в "кишках" Питона.
— Renne Rocha: Gathering data from the web using Python
Трёхчасовой туториал про веб-скрейпинг на Scrapy. Начинающим дата инженерам может быть весьма полезен.
— Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio
Воркшоп по SQLAlchemy. Полезно, если у вас небольшой опыт с ORM, в частности с алхимией.
— Reuven M. Lerner: Times and dates in Pandas
Доклад про работу со временем и датами в pandas. Полезно, взял фишечки для себя, хотя в последнее время не так часто работаю с pandas для анализа данных.
— Lynn Root: The Design of Everyday APIs
Полезный доклад для разработчиков публичных библиотек, да и не только публичных. Удобство и красота реализации интерфейсов программ.
— Sebastian Buczyński: Having fun with pydantic and pattern matching
Обзор фишечек при работе с pydantic и сопоставлениями по шаблону.
— Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB
Про DuckDB, Python и SQL на стероидах.
— David Hewitt: How Python Harnesses Rust through PyO3
Про Rust в экосистеме Python от автора PyO3.
Ссылка на полный плейлист докладов.
— Cheuk Ting Ho: PyO3 101 - Writing Python modules in Rust
3-х часовой туториал по написанию расширений на Rust для Python.
— Yan Yanchii: Pointers in Python
Солидный туториал для любителей покопаться в "кишках" Питона.
— Renne Rocha: Gathering data from the web using Python
Трёхчасовой туториал про веб-скрейпинг на Scrapy. Начинающим дата инженерам может быть весьма полезен.
— Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio
Воркшоп по SQLAlchemy. Полезно, если у вас небольшой опыт с ORM, в частности с алхимией.
— Reuven M. Lerner: Times and dates in Pandas
Доклад про работу со временем и датами в pandas. Полезно, взял фишечки для себя, хотя в последнее время не так часто работаю с pandas для анализа данных.
— Lynn Root: The Design of Everyday APIs
Полезный доклад для разработчиков публичных библиотек, да и не только публичных. Удобство и красота реализации интерфейсов программ.
— Sebastian Buczyński: Having fun with pydantic and pattern matching
Обзор фишечек при работе с pydantic и сопоставлениями по шаблону.
— Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB
Про DuckDB, Python и SQL на стероидах.
— David Hewitt: How Python Harnesses Rust through PyO3
Про Rust в экосистеме Python от автора PyO3.
Ссылка на полный плейлист докладов.
YouTube
PyCon US 2024
PyCon US 2024 - Pittsburgh, PA
❤🔥8 1
Обход блокировки 📺
пошаговый гайд:
➖ . Показываешь этот пост своему сисадмину, DevOps-у или любому другому человеку, заведующему в компании облаками. Ну или если и у тебя есть доступы, делаешь сам.
0⃣ . Идешь в Яндекс.Облако и разворачиваешь виртуалку из образа OpenVPN Access Server. Для виртуалки используешь зону (другие скорее всего тоже будут работать). Про группы безопасности, NAT, ssh-ключи говорить не буду, ты умный - справишься. Цена вопроса от 600 до 2k ₽ в месяц. Обычно хватает минимального конфига виртуалки, поэтому берёшь shared CPU 20-50% и не паришься. Вероятно фокус с сервером в другом российском крупном облаке тоже сработает, но это нужно проверять.
1️⃣ . Когда сервер поднимется, идешь в админку по адресу
2️⃣ . В админке OpenVPN сервера в разделе User Management -> User Permissions создаёшь столько учёток сколько хочешь (совет - включи для юзеров автологин и автоимпорт конфигурации, и запрети менять пароль, остальные настройки можешь не трогать). Учёток можно сделать сколько угодно, НО бесплатная версия сервера будет поддерживать только 2 конкурентные сессии, остальных выкидывать, имей в виду.
3️⃣ . Качаешь клиент OpenVPN Connect под ЛЮБУЮ ПЛАТФОРМУ. На этом этапе ты уже должен понять почему этот способ по-настоящему айтишный, а попытки установить goodbyeDPI на смартфон своей бабушки лучше оставить мамкиным хакерам. Ну и плюс многие не относят себя к той категории людей которым норм только в браузере видосики смотреть, если у ютуба есть приложение - хочется им пользоваться, так удобно. Ровно то же касается и Smart TV.
4️⃣ . Запускаешь клиент, жмёшь ➕ , вбиваешь айпи сервера, сертификат, вбиваешь пароль, жмёшь две галочки на автологин и автоконнект.
5️⃣ . PROFIT.
Получаешь секьюрное соединение, российский айпишник и все причитающиеся с этого плюшки. Смотришь из🇷🇺 контент высочайшего качества, на любом устройстве, БЕЗ РЕКЛАМЫ. Для релокантов, которые не хотят отдавать $11 за Youtube Premium способ тоже рабочий.
PS: Ну и попутно не попадаешь в базу китайских хакеров, скачав какую-то ультимативную DPI штуку на👩💻 .
PPS: Если не будешь шарить этот пост прям очень сильно, то📱 не прикроет эту дверку (на самом деле за 5 лет так и не прикрыл), и ты будешь спокойно пользоваться этим способом только своим коммунити. Цени это.
#vpn #dev
пошаговый гайд:
ru-central-d
https://ip_vm:943
и вбиваешь логин openvpn, а сгенерированный пароль подсматриваешь в консоли, последовательном порту прям в веб-морде, или по ssh.Получаешь секьюрное соединение, российский айпишник и все причитающиеся с этого плюшки. Смотришь из
PS: Ну и попутно не попадаешь в базу китайских хакеров, скачав какую-то ультимативную DPI штуку на
PPS: Если не будешь шарить этот пост прям очень сильно, то
#vpn #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9😁3
PostgreSQL 16 изнутри
Разработчик СУБД Postgres Professional выпустил новую книгу «PostgreSQL 16 изнутри». Электронная версия находится в свободном доступе . Автор книги — Егор Рогов, директор по развитию образовательных программ Postgres Professional.
Первое издание этой книги, основанной на 14-й версии PostgreSQL, вышло в марте 2022 года и обновлено до версии 15. В связи с большим читательским интересом компания перевела книгу на английский язык. Позже она стала самым популярным тематическим изданием 2023 года по версии Postgres Weekly и была включена в список профессиональной литературы на официальном сайте сообщества PostgreSQL.
В текущем издании книги «PostgreSQL 16 изнутри» учтены замечания читателей, исправлены опечатки и отражены изменения, произошедшие в версии PostgreSQL 16. Postgres Professional также обновил локализованную документацию для PostgreSQL 16.
#db #sql #postgres #postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DataEng
В июне этого года прошел очередной митап по Data Engineering, организованный Netflix — Netflix Data Engineering Open Forum 2024.
Вот список интересных на мой взгляд докладов:
— Unbundling the Data Warehouse: The Case for Independent Storage
— Automating the Data Architect: Generative AI for Enterprise Data Modeling
— Data Quality Score: How We Evolved the Data Quality Strategy at Airbnb
— Reflections on Building a Data Platform From the Ground Up in a Post-GDPR World
Полный список докладов доступен по ссылке.
Вот список интересных на мой взгляд докладов:
— Unbundling the Data Warehouse: The Case for Independent Storage
— Automating the Data Architect: Generative AI for Enterprise Data Modeling
— Data Quality Score: How We Evolved the Data Quality Strategy at Airbnb
— Reflections on Building a Data Platform From the Ground Up in a Post-GDPR World
Полный список докладов доступен по ссылке.
YouTube
Unbundling the Data Warehouse: The Case for Independent Storage
Speaker: Jason Reid (Co-founder & Head of Product at Tabular)
This tech talk is a part of the Data Engineering Open Forum at Netflix 2024. Unbundling a data warehouse means splitting it into constituent and modular components that interact via open standard…
This tech talk is a part of the Data Engineering Open Forum at Netflix 2024. Unbundling a data warehouse means splitting it into constituent and modular components that interact via open standard…
❤🔥6
Forwarded from DataEng
Ребята из Supabase не перестают радовать! 😲
На днях в сети появился новый сервис от Supabase: https://postgres.new. Это data modeling сервис на базе Postgres со встроенным AI ассистентом. Запуск Postgres прямо в браузере возможен благодаря https://pglite.dev/. Это облегчённая версия Postgres, упакованная в WASM.
Целевая аудитория сервиса:
— аналитики данных
— дата инженеры
— студенты, изучающие реляционные базы данных, в частности PostgreSQL
— разработчики, разрабатывающие схемы таблиц
Пример работы с сервисом смотрите на Ютубе.
На днях в сети появился новый сервис от Supabase: https://postgres.new. Это data modeling сервис на базе Postgres со встроенным AI ассистентом. Запуск Postgres прямо в браузере возможен благодаря https://pglite.dev/. Это облегчённая версия Postgres, упакованная в WASM.
Целевая аудитория сервиса:
— аналитики данных
— дата инженеры
— студенты, изучающие реляционные базы данных, в частности PostgreSQL
— разработчики, разрабатывающие схемы таблиц
Пример работы с сервисом смотрите на Ютубе.