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

Новый синтаксис для generic-типов в Python 3.12

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

Первоначально python как язык с динамической типизацией не предполагал никакого явного описания типов используемых объектов и список возможных действий с объектом определялся в момент его инициализации (или изменения значения). С одной стороны это удобно для разработчика, поскольку не нужно беспокоиться о корректности определения типов (но в то же время осложняло работу IDE, поскольку механизмы автодополнения требовали анализа типа выражения в ближайшей инициализации). Но это также приводило к появлению странных ошибок (особенно при использовании глобальных переменных, что само по себе уже плохое решение) и стало особенно неприятным при появлении необходимости контроля типа значений в коллекциях и созданию функций с обобщенными типами. В Python 3.12 будет реализована поддержка нового синтаксиса для generic-типов (PEP 695) и в этой статье мы обсудим основные идеи этого подхода.

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

Как менеджеру продукта быстро тестировать гипотезы

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 425
Блог компании OTUS Анализ и проектирование систем *Управление продуктом *
Туториал

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

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

Обнаружение утечек памяти в Go через Pyroscope

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 654
Блог компании OTUS Go *DevOps *
Туториал

Для обнаружения аномально высокой длительности выполнения отдельных функций (а также избыточного выделения или утечек памяти) используются инструменты профилирования над виртуальной машиной (например, JProfiler или Visual VM для JVM) или интегрированные в выполняемый код, например встроенный механизм при компиляции Go-приложений. Альтернативой может стать использование универсальных механизмов профилирования, которые интегрируются со средой выполнения и отправляют результаты профилирования на сервер, который может анализировать аномальное поведение и визуализировать выделение памяти и время выполнения отдельных функций (и построить flame graph по результатам анализа приложения во время выполнения). В этой статье мы рассмотрим использование Pyroscope совместно с Go для обнаружения утечек памяти.

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

ASP.Net Core: реализуем проверку Google reCAPTCHA V2

Время на прочтение 5 мин
Количество просмотров 306
Блог компании OTUS ASP *C# *
Перевод

В этой статье Мудассар Хан (Mudassar Khan) продемонстрирует нам, как реализовать проверку Google reCAPTCHA V2 (версии 2.0) в ASP.Net Core MVC. 

Приведенный в этой статье пример демонстрирует, как Google reCAPTCHA V2 проверяет ответы с капчей от пользователей, получаемые из коллбэк-функций в JavaScript.

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

Использование нейросетей для вашей рекомендательной системы

Время на прочтение 7 мин
Количество просмотров 462
Блог компании OTUS Машинное обучение *
Перевод

Глубокое обучение (Deep learning. DL) - это современное решение многих проблем машинного обучения, таких как компьютерное зрение или недостатки естественного языка, и превосходит альтернативные методы. Последние тенденции включают применение методов DL в рекомендательных системах. Многие крупные компании, такие как AirBnB, Facebook, Google, Home Depot, LinkedIn и Pinterest, делятся своим опытом использования DL для рекомендательных систем.

Недавно NVIDIA и команда RAPIDS.AI выиграли три соревнования с использованием DL: ACM RecSys2021 Challenge, SIGIR eCom Data Challenge и ACM WSDM2021 Booking.com Challenge.

Область рекомендательных систем сложна. В этом посте я сосредоточусь на архитектуре нейронной сети и ее компонентах, таких как эмбеддинг и полностью связанные слои, рекуррентные ячейки нейронной сети (LSTM или GRU) и блоки трансформеров. Я расскажу о популярных сетевых архитектурах, таких как Wide и Deep от Google и Deep Learning Recommender Model (DLRM) от Facebook.

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

Создание элементов управления в Figma Design

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

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

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

Степени свободы в статистике

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

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

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

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

Diceroller — разбор реального проекта на Rust

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

В этой статье мы с вами разберем пример приложения, реализующего (часть) подсистемы генерации урона путем броска дайсов, которое я разработал для системы HERO Champions.

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

Способы взаимодействия в Unreal Engine 5

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

В Unreal Engine 5, Блюпринты являются одним из основных инструментов для создания игровой логики без необходимости писать код на C++. Блюпринты позволяют разработчикам создавать, настраивать и контролировать многие аспекты игровых объектов и окружающей среды. Однако, чтобы полностью раскрыть потенциал блюпринтов, необходимо понять, как они могут взаимодействовать друг с другом.

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

Продуктовая аналитика в Power BI. ABC-XYZ анализ

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 527
Блог компании OTUS Анализ и проектирование систем *Управление продуктом *
Туториал

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

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

Автоматическое масштабирование потребителей Symfony в Kubernetes [Практическое руководство]

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

Мы в Debricked уже достаточно давно используем Symfony на нашем веб-сервере. За все это время он очень хорошо послужил нам, и когда разработчики Symfony анонсировали компонент Messenger в Symfony 4.1, мы уже с нетерпением ждали, когда сможем опробовать его. С тех пор мы использовали этот компонент для отправки электронных писем в асинхронную очередь.

Однако недавно у нас возникла необходимость вынести обработку событий GitHub, которые мы получаем из нашей интеграции с GitHub, из нашего веб-сервера в отдельный микросервис (чтобы повысить производительность). Мы решили прибегнуть к паттерну производитель/потребитель (producer/consumer), который предоставляет компонент Messenger, поскольку он позволит нам асинхронно отправлять различные события в очередь, а затем немедленно подтверждать их прием в GitHub.

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

Бандиты для оптимизации рекомендательных систем

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

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

Качество рекомендательной системы часто измеряется с помощью экспериментов A/B-тестирования. Однако A/B-тестирование традиционно используется для измерения коэффициентов конверсии в статичных вариантах пользовательского интерфейса (например, синяя ссылка в сравнении с зеленой). Именно это натолкнуло меня на мысль об исследовании многоруких бандитов в качестве альтернативы A/B-тестированию в области рекомендательных систем.

Для начала мы рассмотрим классический мысленный эксперимент "многорукий бандит". Затем последует дискуссия о контекстном многоруком бандите с помощью формального определения и примера. Наконец, мы проведем сравнение традиционных экспериментов A/B-тестирования с многоруким бандитом.

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

Антрепренерство для инженеров: Как самостоятельно создать свою DevRel

Время на прочтение 4 мин
Количество просмотров 231
Блог компании OTUS Управление разработкой *
Перевод

В технических стартапах маркетинговые усилия на ранних этапах в основном направлены на взаимодействие с разработчиками — и это зависит от создателей. Для технических стартапов маркетинговые усилия на ранних этапах часто неотличимы от взаимодействия с разработчиками (DevRel). И именно создатели отвечают за это. Так что же такое DevRel и с чего начать?

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

Выполнение реалистичных нагрузочных тестов

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

Нагрузочное тестирование — это своего рода искусство. Написание тестовых сценариев — это только половина дела. Тестовый стенд необходим для того, чтобы как можно точнее имитировать реальных пользователей. Фактически, необходимо следующее:

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

Кроме того, при нагрузочном тестировании приложения хочется понимать, что происходит под капотом. Вот где пригодится мониторинг.

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

Трассировка запросов в Node.js

Время на прочтение 9 мин
Количество просмотров 1.3K
Блог компании OTUS Node.JS *
Перевод

Существует расхожее мнение, что мы, как разработчики программного обеспечения, тратим 90% нашего времени на отладку и только 10% непосредственно на написание кода. Конечно, это соотношение слишком преувеличено! Но это правда, что отладка занимает значительную часть нашего рабочего времени, особенно в эпоху расцвета микросервисных архитектур. На сегодняшний день уже никого не удивишь тем, что на наших производственных серверах одновременно работают сотни или даже тысячи микросервисов.

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

Анализ выживаемости

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

Анализ выживаемости (Survival Analysis) - это статистический метод исследования времени, которое проходит до наступления события, такого как конец, разрушение или отказ. Он также называется анализом времени до события или анализом времени жизни. 

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

Основная идея анализа выживаемости заключается в том, что мы можем изучать время, которое проходит до наступления события, даже если не наблюдаем каждый случай. Например, мы можем изучать время, которое проходит до смерти человека, даже если не наблюдаем каждый случай смерти. 

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

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

Qt в качестве карьеры — становимся звездным разработчиком Qt

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

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

Сегодня я беру интервью у Майка Трахирна (Mike Trahearn), старшего инженера-программиста и чемпиона Qt 2022, живущего на светлом и солнечном Золотом побережье Квинсленда, Австралия.

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

Паттерны проектирования для систем машинного обучения. Часть 1

Время на прочтение 9 мин
Количество просмотров 1.8K
Блог компании OTUS Машинное обучение *
Перевод

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

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

Как тестировать гипотезы продукта с помощью спринтов?

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

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

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

Поговорим об NGFW

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

В предыдущей статье, посвященной WAF мы рассмотрели отличия межсетевого экрана уровня приложений от средств обнаружения вторжений. Однако, на этом список новомодных сетевых средств защиты не исчерпывается.  В этой статье мы поговорим о межсетевых экранах нового поколения Next Generation Firewall, NGFW. Обычно NGFW называют межсетевой экран для глубокой фильтрации трафика, интегрированный с IDS/IPS и обладающий возможностью контролировать и блокировать трафик на уровне приложений. Под такое, достаточно емкое определение подпадает целый ряд решений, обладающих различным функционалом.

Поэтому предлагаю для начала разобрать по порядку, от каких угроз и каким образом NGFW и песочницы защищают сеть.

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

Информация

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