Как стать автором
Обновить
987.52
OTUS
Цифровые навыки от ведущих экспертов
Сначала показывать

Создание DSL на Python с библиотекой textx

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.4K
Блог компании OTUS Python *Программирование *
Туториал

Для описания объектов и процессов в терминах бизнес-логики, конфигурирования и определения структуры и логики в сложных системах популярным подходом является использование предметно-специфических языков (Domain Specific Language - DSL), которые реализуются либо через синтаксические особенности языка программирования (например, с использованием средств метапрограммирования, аннотаций/декораторов, переопределения операторов и создания инфиксных операторов, как например в Kotlin DSL) или с помощью применения специализированных инструментов разработки и компиляторов (например, Jetbrains MPS или парсеров общего назначения, таких как ANTLR или Bison). Но существует также подход реализации DSL, основанный на синтаксическом разборе и одновременной кодогенерации для создания исполняемого кода по описанию и в этой статье мы рассмотрим некоторые примеры использования библиотеки textx для создания DSL на Python.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Искусство прогнозирования: погружение в Марковские цепи

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 3.1K
Блог компании OTUS Анализ и проектирование систем *Математика *
Обзор


Автор статьи: Артем Михайлов

Марковские цепи — это математическая модель, которая с успехом применяется в различных областях, таких как машинное обучение, генерация текстов или музыки, криптография и многих других. Модель была разработана Андреем Марковым в начале 20 века и с тех пор нашла широкое применение в различных областях.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 0

Второе дыхание реляционной модели

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 4.3K
Блог компании OTUS Администрирование баз данных *
Мнение

Реляционная модель данных почти полвека с нами. Неудивительно, что за это время она успела немного надоесть. Старый спор сетевой и реляционной модели готов был вот-вот разгореться с новой силой, но тут случилось неожиданное

Читать далее
Всего голосов 21: ↑16 и ↓5 +11
Комментарии 14

Использование диаграмм Исикавы для QA

Время на прочтение 3 мин
Количество просмотров 1.3K
Блог компании OTUS Тестирование веб-сервисов *
Перевод

Диаграммы причинно-следственных связей — полезная техника, которую можно использовать в работе QA-специалиста. Гленфорд Дж. Майерс писал, что уязвимость анализа граничных значений и использования техники классов эквивалентности заключается в том, что они не исследуют комбинации входных обстоятельств». Техника, которую можно использовать для изучения и описания комбинаций входных обстоятельств, — это диаграмма причинно-следственных связей.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 1

Семантический слой для Аналитики ключевых метрик – dbt Metrics vs. Cube

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 542
Блог компании OTUS Big Data *Data Engineering *
Обзор

Привет! Сегодня речь пойдет о семантическом слое метрик. В публикации рассмотрим на практике грани интересной темы:

— Что такое семантический слой, и в чем разница между Метрикой и Витриной данных.

— Пути формирования метрик: SQL (ad-hoc), UI, dbt Metrics, Cube.

— Примеры декларативной конфигурации в YAML и использования метрик.

— На что обращать внимание при выборе решения: Стек технологий, Доступность vs. Выразительнось, Гибкость vs. Скорость.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Spring для GraphQL

Время на прочтение 10 мин
Количество просмотров 869
Блог компании OTUS Программирование *
Перевод

GraphQL — это язык запросов с открытым исходным кодом, созданный Facebook в качестве альтернативы распространенной архитектуре REST. Он позволяет пользователям запрашивать конкретные данные и таким образом избежать классической проблемы избыточности данных в ответах, связанной с REST.

В этой статье мы рассмотрим Spring для GraphQL, преемника проекта GraphQL Java Spring от команды GraphQL Java.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 0

Основы Reactjs: отображение и передача данных

Время на прочтение 5 мин
Количество просмотров 1.2K
Блог компании OTUS ReactJS *
Туториал

Компоненты React проявляют себя лучше всего, когда говорят: «Дайте мне данные, и я их нарисую». В этом сценарии мы будем практиковаться в отображении данных, о которых знает компонент. Данные ”отрисовывания” на веб-странице будут включать интерполяцию. Это просто означает получение значения переменной, преобразование его в строку и размещение его в HTML, чтобы веб-страница отобразила его.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 1

Clean Architecture

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2.3K
Блог компании OTUS Программирование *Совершенный код *
Обзор

Как многие разработчики, я прекрасно понимаю, насколько важно создавать приложения, которые будет легко поддерживать, расширять и развивать в долгосрочной перспективе. Именно поэтому принципы Clean Architecture (Чистая архитектура) стали неотъемлемой частью моей работы. В этой статье я расскажу о том, почему следование принципам Clean Architecture так важно и какие преимущества эти принципы могут дать.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Privileged Access Management — когда не доверяем никому

Время на прочтение 7 мин
Количество просмотров 783
Блог компании OTUS Информационная безопасность *

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

Итак, если вспомнить суровую теорию ИБ, то внутренние нарушители это прежде всего пользователи информационной системы, то есть те, кто имеет доступ к ресурсам ИТ систем на основании своих должностных обязанностей. У пользователей есть физический доступ на территорию организации или доступ по VPN, есть учетные записи в домене Active Directory и все необходимые права доступа. Внутренний пользователь может обладать необходимыми компетенциями для осуществления вредоносных действий.

Кроме внутренних пользователей нарушителями могут быть лица, привлекаемые для установки, наладки, монтажа, пусконаладочных и иных видов работ. эти лица также могут обладать необходимыми компетенциями. Примерами таких специалистов являются различные подрядчики, сторонние специалисты, привлекаемые по договору ГПХ или работники других офисов данной организации.  При этом доступы к ресурсам им могут предоставляться на время выполнения ими соответствующих работ.

И еще одна группа нарушителей это лица, обеспечивающие функционирование информационных систем или обслуживающие инфраструктуру организации. Эти специалисты могут и не обладать нужными компетенциями (уборщики, охранники и т. д.) и при этом у них как правило нет каких-либо прав в целевых ИТ системах организации.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Базовые вычислительные сервисы в облаках

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 706
Блог компании OTUS Облачные сервисы *
Обзор

Привет, Хабр!

Сегодня поговорим о «базовых» вычислительных сервисах доступных у публичных облачных провайдеров (далее CSP). Статья ориентирована на начинающую свой путь в облака аудиторию. И так наши основные цели:

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Docker Compose

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 5.9K
Блог компании OTUS DevOps *
Обзор

Сегодняшняя статья будет посвящена Docker Compose. При работе с контейнерами Docker рано или поздно наступает момент, когда наше приложение превращается в несколько распределенных сервисов, которым необходимо взаимодействие друг с другом. В таком случае для автоматизации управления компонентами такого распределенного приложения нам потребуется Docker Compose. В качестве примера такого приложения можно привести веб ресурс, взаимодействующий с базой данных или служба, использующая дополнительные компоненты, такие как кэш Redis.

Docker Compose это средство, предоставляющее способ организации управления несколькими контейнерами для совместной работы. Если вы используете модель микросервисов для разработки своего приложения, вы можете использовать Docker Compose для разделения кода приложения на несколько независимо работающих служб, которые взаимодействуют с помощью веб-запросов.

По сути, Docker Compose это тот же Docker, но позволяющий автоматизировать работу с более сложными приложениями. Кроме того, для сценариев с одним контейнером использование Docker Compose обеспечивает независимую от инструмента конфигурацию таким образом, чего не делает отдельный файл Dockerfile. Параметры конфигурации, такие как подключение тома для контейнера, сопоставления портов и переменные среды, могут быть объявлены в файлах docker-compose YML.

Читать далее
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 5

Анализ временных рядов

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2.5K
Блог компании OTUS Анализ и проектирование систем *Визуализация данных *
Обзор

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

Одним из наиболее важных инструментов в аналитике данных является анализ временных рядов. Временной ряд - это последовательность наблюдений за определенным параметром в разные моменты времени. Таким образом, временной ряд содержит информацию о том, как изменяется параметр со временем.

Читать далее
Всего голосов 15: ↑11 и ↓4 +7
Комментарии 7

Полезные методы работы с данными в Pandas. Часть 3

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.9K
Блог компании OTUS Python *
Обзор

В наше время объемы информации растут неимоверными темпами. С каждым днем, все больше и больше данных генерируется и хранится в компьютерах, смартфонах, облачных сервисах и т.д.

Рост объемов хранения данных в последние годы привел к развитию и использованию более сложных и гибких структур для их хранения. Одной из таких структур является JSON (JavaScript Object Notation), который быстро стал популярным и широко используется благодаря своей легкости в чтении и гибкости. JSON позволяет организовывать данные в виде вложенных ключ- значение пар, что позволяет эффективно хранить и передавать структурированные данные.

Вложенные структуры данных в формате JSON встречаются в самых разных областях. Например, они используются в API для обмена информацией между клиентами и серверами, в NoSQL базах данных для хранения и обработки больших объемов полуструктурированных данных, а также в различных приложениях и сервисах, где требуется гибкость и эффективность в работе с данными. Все это делает важным умение обрабатывать и анализировать сложные структуры данных, такие как JSON, и интегрировать их в процессы обработки и анализа данных с использованием инструментов, таких как Pandas.

В этой статье мы рассмотрим различные подходы к работе со вложенными структурами данных в Pandas, а также обсудим процесс нормализации JSON- структур. На примерах мы продемонстрируем, как можно эффективно извлекать и обрабатывать вложенные данные, преобразовывая их в удобный для анализа формат.

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 0

Компрессия WAL в PostgreSQL: что нового в 15-й версии?

Время на прочтение 7 мин
Количество просмотров 2.3K
Блог компании OTUS PostgreSQL *
Перевод

Работа по реализации компрессии WAL на разных уровнях предпринимались с самых ранних дней PostgreSQL. Некоторые из встроенных функций доступны нам еще с 2016 года, и почти все инструменты резервного копирования, прежде чем помещать WAL в резервный репозиторий, выполняют его сжатие. И вот наконец настало время еще раз взглянуть на встроенный wal_compression, потому что PostgreSQL 15 есть что предложить нам. В комбинации с остальными значимыми улучшениями в архивировании WAL в PostgreSQL 15 мы можем добиться впечатляющих результатов.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 0

Сравнение Unreal Engine 5 и других игровых движков: выбор лучшего для вашего проекта

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.1K
Блог компании OTUS Разработка игр *Unreal Engine *
Обзор

Несмотря на то, что на рынке есть множество игровых движков, Unreal Engine 5 является одним из наиболее популярных, благодаря своим функциям и возможностям. Однако, для каждого проекта может быть подходящий определенный движок, поэтому важно проанализировать особенности каждого из них.

Читать далее
Всего голосов 17: ↑9 и ↓8 +1
Комментарии 8

Почему реляционные базы победили

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 12K
Блог компании OTUS Администрирование баз данных *История IT
Мнение

Когда-то давно идея хранить данные в виде таблиц была скорее экзотикой, чем мейнстримом. Вспомним, как ей удалось за короткое время отодвинуть все прочие концепции на второй план

Читать далее
Всего голосов 28: ↑18 и ↓10 +8
Комментарии 13

Нагрузочное тестирование конечной точки Rest с помощью Gatling

Время на прочтение 10 мин
Количество просмотров 1.1K
Блог компании OTUS Тестирование веб-сервисов *
Перевод

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 0

Безопасная разработка на Python

Время на прочтение 6 мин
Количество просмотров 4.6K
Блог компании OTUS Python *Программирование *

Python приобрел большую популярность среди разработчиков благодаря различным решениям, заложенным в его архитектуру. Такими решениями являются сильная динамическая типизация, то есть язык не допускает неявных приведений типов в неоднозначных ситуациях, при этом тип переменной определяется во время присваивания ей значения и может изменяться по ходу программы. Также полезной функцией языка Python автоматическое управление памятью и поддержка множества парадигм программирования, таких как структурное и функциональное программирование. И наконец, Python является полностью объектно-ориентированным языком с поддержкой интроспекции, то есть способности определять тип объекта во время выполнения.

Но, как всякий другой язык программирования, Python имеет ряд уязвимостей, о которых мы подробно поговорим в этой статье. Так как статья ориентирована прежде всего на разработчиков Python, то мы будем говорить об ошибках в коде, которые по тем или иным причинам могут допустить программисты в процессе разработки. И начнем мы с рассмотрения инъекций команд.

Читать далее
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 2

Docker и сети

Время на прочтение 5 мин
Количество просмотров 7.1K
Блог компании OTUS Сетевые технологии *DevOps *

Сейчас без преувеличения можно сказать, что контейнеризация прочно вошла в нашу жизнь. Контейнеры используются в различных программных продуктах, начиная от микросервисов и заканчивая решениями ИБ, такими как песочницы. Однако, контейнеры не были бы столь удобным инструментом построения распределенной архитектуры, если бы они не могли взаимодействовать между собой, а также обмениваться данными с внешними сетевыми ресурсами. В этой статье мы подробно рассмотрим механизмы, позволяющие контейнерам работать с сетями.  

Читать далее
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 0

Основные концепции SOA

Время на прочтение 6 мин
Количество просмотров 1.5K
Блог компании OTUS

SOA — это не просто модель разработки программного обеспечения, а целостный подход к организации бизнес-процессов. Ее преимущество заключается в том, что она позволяет создать гибкие и адаптивные IT-системы, способные быстро реагировать на изменения рынка и потребностей бизнеса.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 1

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
OTUS