Search
Write a publication
Pull to refresh
4
0
Michael Elin @vanelm

Consulting Network Engineer

Send message

Отход от Airflow: почему Dagster — это оркестратор данных следующего поколения

Level of difficultyMedium
Reading time18 min
Views9.6K

Мы запустили Dagster, потому что в мире данных наблюдается кризис инструментов и инженерии. Существует драматическое несоответствие между сложностью и критичностью данных и инструментами и процессами, которые существуют для их поддержки.

Читать далее

Практика использования парсер-комбинаторов peco и оператора match для создания простых DSL на языке Python

Level of difficultyEasy
Reading time13 min
Views5.6K

Задачи разработки компиляторов и интерпретаторов конфигурационных языков или даже полноценных Тьюринг-полных языков программирования время от времени встают перед разработчиками программного обеспечения. На практике, как правило, речь идёт о разработке предметно-ориентированных языков (англ. Domain Specific Language, DSL), проектируемых специально для решения узкого класса прикладных задач.

В статье рассматривается один из способов реализации DSL на примере разработки системы символьного дифференцирования, как в SymPy, с использованием парсер-комбинаторов peco и структурного сопоставления с образцом по PEP 636. Материал рассчитан на прикладных разработчиков, уже знакомых с Python, но, надеюсь, может быть полезен и продолжающим компиляторщикам.

Читать далее

Как заставить API самому себе писать тесты: практика генерации тестов на основе спецификации API. Часть 1

Level of difficultyMedium
Reading time12 min
Views7K

Тестирование API — неизменная задача при разработке продуктов. Проблема, с которой сталкиваются многие компании, — большой ручной регресс. Появляется автоматизация, но покрытие огромного количества API‑методов требует ресурсов, которых часто нет. Кроме того, в большинстве случаев написание API‑тестов — монотонная работа, которой никто не любит заниматься. Как решить эти проблемы?

Привет, Хабр. Меня зовут Елизавета Андреева. Я инженер по автоматизации тестирования в ОК.Tech. Мы с коллегами в ОК разработали и внедрили автогенерацию API‑тестов, благодаря которой мы сокращаем ручную работу и время на написание однотипных автотестов, оставляем QA‑инженерам для покрытия только кейсы на бизнес логику. И в этой статье (которая станет первой в серии из двух частей) я начну рассказ о том, как мы реализовали наш генератор и каких результатов нам удалось достичь.

Читать далее

5 полезных фреймворков и библиотек для начинающего фронтенд-разработчика на конец 2024 года. Часть 2

Reading time5 min
Views5K

Привет, Хабр! На связи Никита Никоноров, фронтенд-разработчик в МТС Диджитал. Недавно мы уже делились подборкой фреймворков для фронтендеров — сегодня продолжу тему.

Эта подборка ориентирована на начинающих разработчиков, но и опытные коллеги, надеюсь, смогут найти что-то полезное для себя. Как обычно, делитесь любимыми инструментами и лайфхаками в комментариях — всегда интересно узнать, чем пользуются другие. Начнем!

Читать далее

Отбираем хлеб у нативных разработчиков: миграция с Kotlin/Swift на RN

Level of difficultyMedium
Reading time6 min
Views5.4K

Меня зовут Александр Чернов, я фронтенд-разработчик в KODE и я использую React Native в разработке мобильных приложений уже более семи лет. Сейчас расскажу вам, как мы у нативных разработчиков хлеб отбирали.

Читать, как «перевозили» приложение

Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus

Level of difficultyEasy
Reading time6 min
Views6.4K

Современные веб-приложения всё чаще строятся по микросервисной архитектуре. Это даёт гибкость, масштабируемость и изоляцию компонент, но одновременно усложняет отладку, мониторинг и понимание работы системы в целом. Что, если один из сервисов начинает работать медленнее? Как понять, где в цепочке запросов «узкое место»? Как быстро определить причину сбоя или деградации производительности?

Здесь на сцену выходит концепция наблюдаемости (observability). Идея заключается в том, чтобы собрать метрики, логи и трассировки из всех компонентов системы, связать их воедино, и получить чёткую картину того, что происходит внутри распределённого приложения. Для этого существуют современные инструменты.

Читать далее

Тестирование и отладка встраиваемых систем STM32 с использованием QEMU эмулятора и Docker

Level of difficultyMedium
Reading time13 min
Views10K

Статья будет полезна разработчикам встраиваемых систем, которые хотят автоматизировать процесс тестирования своих проектов. Отдельный блок посвещен отладке gdb в эмуляторе QEMU. В качестве примера используется библиотека логирования (GitHub, Habr)

Читать далее

Лямбда-выражения в Java

Level of difficultyEasy
Reading time5 min
Views5.3K

Статья кратко описывает основные концепции и преимущества использования лямбда-выражений в Java, а также их применение в сочетании с функциональными интерфейсами и новыми возможностями, такими как stream() и ссылки на методы. Она будет особенно полезна начинающим тестировщикам-автоматизаторам, знакомящимся с современными подходами к работе с кодом.

Читать далее

Что такое конвейер CI/CD?

Reading time10 min
Views6.5K

Быстрая доставка качественного программного обеспечения стала важнее, чем когда-либо, в современной индустрии разработки ПО. Конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) стали стандартными инструментами для команд разработчиков, позволяющими перемещать код от разработки к производству. Обеспечивая частые интеграции кода и автоматизированную развертку, конвейеры CI/CD помогают командам избежать так называемого «ада интеграции» и обеспечивают надежный цикл выпуска программного обеспечения.

В этой статье мы узнаем основы работы конвейеров CI/CD – что они собой представляют, как работают и почему они необходимы в современной разработке программного обеспечения. Мы рассмотрим различные этапы конвейера CI/CD, приведем реальные примеры использования инструментов, таких как GitHub Actions, и обсудим стратегии оптимизации производительности вашего конвейера.

Кроме того, мы поговорим о выборе правильной платформы CI/CD для вашей организации, учитывая такие факторы, как облачные решения против самохостинга, возможности интеграции и удобство использования.

Итак, давайте начнем.

Читать далее

Django + Zoho CRM: как управлять данными без головной боли

Level of difficultyEasy
Reading time10 min
Views2.4K

Привет! Меня зовут Денис, я Python-разработчик в Kokoc Group. Уже около года занимаюсь интеграцией одной из наших платформ на Django с Zoho CRM. Мы соединяем пользователей с широким спектром услуг, требования к обработке заявок и управлению партнерскими и пользовательскими профилями высокие, поэтому Zoho CRM стала ключевым элементом.

В статье хочу показать, как провести ее и сделать процессы проще и эффективнее. Мы рассмотрим все этапы: от подготовки среды до настройки вебхуков и асинхронной обработки данных с помощью Celery.

Читать далее

Искусственный интеллект в документации: как внедрить бота-документоведа

Level of difficultyEasy
Reading time8 min
Views9.2K

На продуктовых сайтах AI-боты обитают часто: оказывают техподдержку, помогают выбрать продукт, собирают лиды и многое другое, но на сайтах с документацией они встречаются реже. Правда, сейчас картина меняется: роботы помогают людям найти нужные материалы. В некоторых компаниях они уже пришли на смену поисковым плагинам. 

Меня зовут Александр Панов, я занимаюсь разработкой документации в Test IT и хочу поделиться опытом имплементации такого бота. Расскажу, зачем он нам нужен, что он должен уметь, как мы его подключили и как он помогает улучшить документацию (а то и продукт). Еще обсудим цены и попробуем разобраться, обязательно ли редактировать промт.

Читать далее

Гайд по установке Apache Airflow, на случай, если у тебя его ещё нет в преддверии 2025 года

Level of difficultyMedium
Reading time5 min
Views14K

Немного лирики, что такое Apache Airflow — это оркестратор (ваших данных), инструмент для создания, планирования и мониторинга рабочих процессов (так называемых DAGs — Directed Acyclic Graphs).

Читать далее

Катастрофа в российской зоне проекта NTPPool.org

Level of difficultyEasy
Reading time4 min
Views93K

Привет, Хабр! Своим первым постом на площадке я хочу привлечь внимание к катастрофе, сложившейся на данный момент в RU-зоне проекта NTPPool.org. Я думаю, что проект в представлении не нуждается, тем не менее, для тех, кто никогда о нём не слышал - во многом благодаря ему все ваши компьютеры, смартфоны, серверы и прочие гаджеты имеют точное время.

Читать далее

Как FLUX.1 разрушает миллиардную индустрию ИИ-генераторов изображений

Level of difficultyMedium
Reading time4 min
Views30K

За последние несколько лет индустрия генераторов изображений на базе ИИ выросла в геометрической прогрессии.

До июля 2024 года лидерами рынка моделей генерации ИИ были Midjourney V6.1, Dalle-E 3 от OpenAI и Stability AI Stable Diffusion (с открытым исходным кодом).

Читать далее

Самодельные радиолампы: второй заход

Level of difficultyEasy
Reading time15 min
Views14K

В предыдущей статье я рассказал про вакуумную установку, в этот раз будем делать сами лампы. Ведь для этого уже всё есть? Как бы не так.

Там много картинок

Катастрофическое падение производительности из-за hyperthreading

Reading time4 min
Views29K

Недавно я писал статью - что такое 50% cpu? На системах с hyperthreading 50% cpu по метрикам означает, что большая часть ресурсов сервера уже использована. То есть cpu>50% - это уже "желтая зона", и мы ожидаем замедление всего, чего можно. Но я никогда не думал до экспериментов, что падение может быть столь катастрофическим.

Для экспериментов я использую MSSQL. Если вы не связаны с базами, прочитайте первую часть по диагонали до выводов.

Читать далее

Одноплатный компьютер Next SBC с Ryzen 7840HS: мал да удал. Игры, офис и все остальное. Что за девайс?

Reading time4 min
Views16K

Крошечный компьютер с большими амбициями — так можно описать NexT-SBC, новый одноплатный ПК, разработанный известным пользователем YouTube под псевдонимом ETA Prime. Этот мини-ПК умещается на ладони, но по характеристикам не уступает полноценным настольным системам.

Созданный на базе 4-нм процессора AMD, NexT-SBC позиционируется как универсальное решение для дома и офиса. Цена устройства составляет $329, что делает его в три раза дешевле флагманского смартфона iPhone 16 Pro.
Читать дальше →

Топология Dragonfly для дата-центровых сетей

Level of difficultyHard
Reading time40 min
Views13K

Итак, вы гиперскейлер, давайте отталкиваться от этого. Потому что если нет — собирайте хоть 3-tier на OSPF. А гиперскейлер вы в том случае, если у вас большая сеть на тысячи хостов, а лучше стоек. Вы уже попробовали топологию Клоза. Сначала вам очень нравилось. Она вся такая плотная, регулярная и масштабируемая — просто прелесть.

Как только кластер начал грозить вырасти за 2000 хостов, вы стали надстраивать ещё один уровень коммутации и докидывать в него всё новые и новые группы стоек. И продолжаете расти на десятки тысяч узлов. У вас отработанный дизайн, автоматизация ввода нового оборудования. Всё на потоке.

Но отчего‑то вы несчастливы. Вам плохо спится. Гложут сомнения и дурные мысли.
А всё дело в эпохе 400G! Вы долгие годы строили свою сеточку на 25+100, и всего всегда хватало. Раньше. А теперь надо на хосты соточку спустить. А значит и аплинки надо расширять, да вы и сами уже понимаете, что пора: ещё несколько лет — и эта сеть станет устаревшей. 200G, 400G, SerDes по 100 Гб/с на PSM4. Тут думать надо.

И новая сетка выглядит действительно привлекательной, даже почти изумительной.Но как только вы подумаете, что её, такую красивую, нужно как‑то интегрировать с существующей, уже немного опостылевшей сетью, настроение сразу портится — фактически это означает, что нужно менять уровень S2 или строить ещё одну сетку рядом с нужной ёмкостью и каким‑то ужасным образом скрещивать их друг с другом иначе.

Читать далее

Простая настройка CI/CD для Фронтенда и Бэкенда в Github без сторонних инструментов бесплатно в 2024 году

Level of difficultyEasy
Reading time17 min
Views13K

Всем привет! Недавно решил попробовать, что из себя представляет Flutter Web, подумал, может попробовать сделать бота для Telegram, и заодно настроить простейший CI/CD для отдельного фронтенд- и бэкенд-проектов. Однако в интернете я не нашёл простой и исчерпывающей инструкции или процесса.

Поэтому задача этой статьи — решить эту проблему! Сделать автоматическую сборку, тестирование и деплой на сервер, и всё это — без необходимости городить SSH-ключи, Github-токены и подключать сторонние решения. Всё на минималках, без лишней бюрократии.

Читать далее

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Registered
Activity