
В этом уроке мы углубимся в изучение функций в Rust, рассмотрим их синтаксис, замыкания, функции высшего порядка, а также лучшие практики для написания эффективного, чистого и повторно используемого кода.
Product, Startup, EdTech
В этом уроке мы углубимся в изучение функций в Rust, рассмотрим их синтаксис, замыкания, функции высшего порядка, а также лучшие практики для написания эффективного, чистого и повторно используемого кода.
Мы живем в век данных и data-driven подхода. Есть продуктовые компании, где даже минимальные изменения в продукте обязаны пройти A/B-тест перед релизом (который из-за этого может и не состояться). С бумом данных и AI произошел и бум ETL (Extract, Transform, Load) инструментов. Сейчас, в 2024 году, выбор действительно впечатляет, даже если ограничиться только open source-решениями:
Мы ушли от традиционного онлайн‑обучения и создали продукт, который решает проблемы специалистов. Интерактивные тренажеры и ИИ делают обучение полезным, увлекательным и эффективным.
Это цикл статей про наши тренажеры. В этой я расскажу про суть самого продукта. А в следующих наши разработчики поделятся технической подноготной каждого модуля.
В конце статьи поделюсь ссылкой на бесплатного умного бота, который мы сделали для AI‑стажировки по Docker и Docker Compose.
Мы запустили Dagster, потому что в мире данных наблюдается кризис инструментов и инженерии. Существует драматическое несоответствие между сложностью и критичностью данных и инструментами и процессами, которые существуют для их поддержки.
Меня зовут Идан Кох, я работаю в сфере высоких технологий на различных должностях более 2 десятилетий. В течение этого периода я имел огромное удовольствие работать с огромными талантами и замечательными людьми. На протяжении многих лет я принимал активное участие в процессе роста членов команды и наблюдал за тем, как талантливые разработчики переходили на разные должности. Наиболее распространенным вариантом использования, с которым я сталкивался, был переход разработчиков с ролей отдельных участников на роли руководителей группы. Обычно вопрос звучит так: «что мне нужно сделать, чтобы показать, что я готов?»
Как специалист по контролю качества с опытом работы на Java и Selenium, я с гордостью расскажу о Robot Framework.
Pandas — это основная библиотека для работы с данными. Вот несколько приёмов, которые я использую, чтобы быстрее и проще выполнять повторяющиеся задачи по работе с данными.
Шаблоны проектирования распределенных систем предоставляют разработчикам проверенные решения и передовые методы проектирования и внедрения распределенных приложений.
После того, как я стал старшим инженером-программистом, взял на себя некоторые управленческие задачи, такие как организация рабочего процесса и участие в совещаниях с менеджерами по продукту.
Настройка ПИД-регулятора для беспилотных автомобилей
Этот проект иллюстрирует концепцию ПИД-регулятора, применяемого в беспилотных автомобилях в рамках программы Udacity «Беспилотный автомобиль»
ПИД-регулятор — это механизм обратной связи в контуре управления, который вычисляет разницу между желаемым заданным значением и фактическим результатом процесса и использует результат для внесения корректировок в процесс. ПИД-регуляторы широко применяются в промышленном и роботизированном управлении процессами.
В контексте беспилотных автомобилей они играют важную роль в управлении такими параметрами движения, как рулевое управление, ускорение и т. д. Сложные алгоритмы, используемые в беспилотных автомобилях, по сути, рассчитывают траекторию и скорость движения беспилотного автомобиля. Автономность может быть реализована только в том случае, если автомобиль следует по траектории с заданной скоростью. Именно здесь PID-регулятор играет свою роль, обеспечивая соблюдение беспилотным автомобилем рассчитанных параметров. Любое отклонение от рассчитанных параметров может привести к непредвиденным или катастрофическим последствиям.
Linux Kernel — это, пожалуй, один из самых распространённых (и, возможно, до сих пор недооценённых) программных продуктов в мире. Он является основой всех дистрибутивов Linux (что очевидно), но на этом его роль не заканчивается. Ядро также работает на множестве встроенных устройств практически повсюду. У вас есть микроволновка? Скорее всего, она работает на ядре Linux. Посудомоечная машина? Тоже. Если у вас достаточно средств на автомобиль Tesla, вы даже сможете найти несколько багов, исправить их и отправить патч в код Model S или Model X на GitHub. А что насчёт схем, которые не позволяют Международной космической станции сойти с орбиты и врезаться в Землю? Конечно, и там тоже Linux. Ядро легковесное — значит, отлично работает даже в условиях невесомости.
В этой статье напишем свой первый модуль ядра под Linux
Поддержание чистого, эффективного и масштабируемого тестового кода становится всё более сложной задачей по мере увеличения сложности веб-приложений. Playwright, мощный фреймворк для end-to-end тестирования, предлагает решение через свою систему фикстур. Это руководство проведет вас через продвинутые техники использования фикстур в Playwright для создания надёжной и поддерживаемой тестовой архитектуры.
Это приключение посвящено созданию продвинутых макросов, которые используют метаданные модели для управления инкрементальностью и тестами качества. Задание параметров модели в виде метаданных позволяет наглядно представлять их в каталоге данных и переиспользовать в разных задачах.
Квест подготовлен для раскрытия темы в рамках dbt Meetup #5 и нацелен на инженеров аналитики, которые готовы глубоко погрузиться в написание макросов dbt для решения сложных практически значимых задач.
Предложенный подход позволяет эффективно выстраивать сложные автоматизации в проекте, является незаменимым для больших дата‑лейков на базе Trino/Presto и позволяет изучить макросы на продвинутом уровне, достаточном для создания собственных сложных автоматизаций.
В сегодняшней статье я расскажу о одном из моих любимых паттернов для тестирования пользовательского интерфейса. Я не буду вдаваться в подробности о том, что это такое и почему его следует использовать. Моя цель сегодня — продемонстрировать реализацию этого паттерна при работе с Playwright и Javascript/Typescript
Когда вы в последний раз впервые смотрели на хранилище данных? Помните то чувство фрустрации, когда вы не знали, что содержат таблицы orders_final_v1
? Или как отличить user_uuid
от user_id
? Любой специалист по данным может понять эти ощущения.
К счастью, dbt (Data Build Tool) значительно упростил задачу документирования хранилищ данных. Все, что нужно сделать, это включить описание наших таблиц и колонок в YAML-файл схемы. Затем вся информация собирается в аккуратный HTML-файл.
Данная статья это перевод с английского с некоторыми адаптациями. Перевод сделан НЕшколой для инженеров Inzhenerka.Tech совместно с автором симулятора по DWH на dbt Павлом Рословцом. Больше материала в нашем сообществе.
Я ненавижу C++. Обычно мне нравится программировать, но каждый проект на C++, за который я брался, казался мне утомительной рутиной. В январе 2023 года я решил изучить Rust, чтобы иметь возможность сказать, что знаю язык системного программирования, который мне действительно хотелось бы использовать.
Первая стабильная версия Rust вышла в 2015 году, и с тех пор, начиная с 2016 года, он ежегодно признается самым любимым языком в ежегодном опросе разработчиков на Stack Overflow (теперь, в 2023 году, это называется "Востребованный"). Почему же разработчики, попробовав Rust, не могут перестать его использовать? В мире разрекламированных преемников C/C++ Rust, похоже, выходит на первое место. Как получилось, что язык, который появился на основной сцене всего в прошлом десятилетии, стал таким популярным?
Kubernetes предоставляет мощный инструмент, позволяющий создавать журналы аудита для каждого действия, запрашиваемого и выполняемого через API Kubernetes.
Понимание того, как настраивать, управлять и интерпретировать эти журналы, критически важно для поддержания безопасности и соответствия требованиям в средах Kubernetes. Конкретно эта статья посвящена исследованию безопасности Kubernetes.
Настройка журналов аудита Kubernetes
Чтобы настроить и активировать журналы аудита Kubernetes, необходимо добавить специальные аргументы в конфигурацию kube-apiserver. Самым важным является аргумент audit-policy-file, который указывает на файл политики аудита. Этот файл определяет, какие события следует регистрировать и уровень детализации этих записей.
Вот необходимые аргументы для включения:
Эта статья дает общее представление о том, что такое ЦОС (цифровая обработка сигналов), как она работает и какие преимущества может предложить. Цифровая обработка сигналов включает разработку алгоритмов, которые могут быть использованы для улучшения сигнала определенным образом или для извлечения из него некоторой полезной информации.
Чтобы понять преимущества ЦОС, давайте сначала рассмотрим традиционный метод обработки сигналов, то есть аналоговую обработку сигналов.
Это статья сделана совместно с автором курса по Цифровой обработке сигналов в INZHENERKA.TECH Волченковым Владимиром, доцентом кафедры телекоммуникаций и основ радиотехники ФГБОУ ВО «РГРУ им. В.Ф. Уткина» и научным сотрудником ООО «Лаборатория Сфера». Больше информации в нашем сообществе инженеров.
Аналоговая обработка сигналов
Возможно, самым простым примером аналоговой обработки сигналов является знакомая RC-цепь, показанная на рисунке 1.
В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики.
Обычно мои статьи были холиварными, а не техническими. Но в этот раз решила выложить что-то действительно техническое и полезное. Тестировщики, налетай! Очень хочу, чтобы опытные ребята, которые с playwright работают давно, поделиться своим мнением о примерах в тексте статьи. Достаточно ли они информативны.
Проверки локаторов
Это могут быть как интерактивные элементы (кнопки, поля ввода, чек-боксы, ...), так и статика (картинки, текст, иконки и т.д.).
Каждый элемент на странице может давать пользователю обратную связь: поле ввода подсвечивается красным, если вы ввели невалидные данные, иконка "Сохранить" неактивна, потому что вы еще не внесли изменения в документ, цвет всплывающего уведомления должен быть красным, потому что случилась ошибка. Чаще всего, нам нужно получить какое-то свойство элемента только для того, чтобы сразу же проверить его значение. Мы хотим проверить, что отображается правильный текст или элементу присвоен нужный CSS-класс.
С другой стороны, иногда нам нужно, все же, уметь получать свойства элементов для промежуточных действий. Например, мы хотим посмотреть, сколько сейчас строк в таблице, удалить одну и проверить, что строк стало меньше на одну. Для того, чтобы организовать такую проверку, нам нужно вычислить, сколько всего строк было до того, как мы удалили последнюю строчку. Если в таблице было X
строк, то, после нажатия, должно быть X-1
. Найдите икс, получается? И вот тут нам нужна "ручка", которую мы дернем и получим число, без всяких assert'ов.
Традиционно считается, что нейросети работают по принципу человеческого мозга и тем самым реализуют искусственный интеллект. Но на самом деле с мозгом у них мало общего и они ему во многом уступают. Оказывается, ученые по всему миру сейчас работают над принципиально новым классом «нейроморфных систем», которые по задумке будут работать так же, как мозг...