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

Атаки реентерабельности в смарт-контрактах: Разбираемся, что это и как с этим бороться

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров311

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

Читать далее

Angular Signals, реактивный контекст и динамическое отслеживание зависимостей

Время на прочтение11 мин
Количество просмотров231

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

Читать далее

PL/R в PostgreSQL

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров855

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

PL/R — это процедурный язык для PostgreSQL, который позволяет писать функции на языке R. Когда хочется использовать все богатство статистических пакетов и алгоритмов R, не покидая привычного SQL‑окружения, PL/R приходит на помощь. Плюс ко всему: нет необходимости создавать отдельные сервисы для анализа, что уменьшает задержки и упрощает архитектуру приложения.

Читать далее

Программирование алгоритмов в Scratch

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров736

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

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

Сегодня мы покажем, как использовать Scratch по максимуму. Напишем игровой движок с плавным управлением, гравитацией, врагами и даже оружием.

Если ты устал от скучных примеров, где кот просто «идёт 10 шагов», эта статья для тебя.

Читать далее

Ramda.js — библиотека, которая избавит вас от reduce и map-каши

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K

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

Если вас когда-либо раздражало, что Array.prototype.map нельзя использовать для объектов или reduce постоянно требует передавать начальное значение, Ramda.js решает эти проблемы, делая код чище, декларативнее и удобнее.

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

Читать далее

Болевые точки платформы TOGAF

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров704

Платформа TOGAF (The Open Group Architecture Framework) является широко распространенным решением для построения корпоративной архитектуры, которая предоставляет общий язык, методологию и инструменты для проектирования, планирования и внедрения ИТ‑инфраструктуры организации.

Одним из ключевых компонентов TOGAF является метод разработки архитектуры (ADM), который описывает пошаговый процесс создания архитектуры предприятия и управления ею. Более подробно о том, что такое TOGAF, мы уже писали ранее.

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

Читать далее

Task Parallel Library в C#

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3K

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

Если ты всё ещё пишешь код на Thread или ThreadPool, пора остановиться и подумать. Зачем вручную управлять потоками, ловить дедлоки и страдать от гонок данных, если можно просто... не страдать?

Сегодня разберём Task Parallel Library (TPL) в C# — единственно правильный способ писать многопоточный код в 2025 году.

Читать далее

Deep Learning в иллюстрациях: Рекуррентные нейронные сети

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров4.3K

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

Читать далее

Знакомимся с PySpark

Время на прочтение6 мин
Количество просмотров2.3K

Фреймворк с открытым исходным кодом Apache Spark, входящий в экосистему проектов Apache Hadoop, используется для реализации распределённой обработки данных. Для работы в Spark могут использоваться различные языки программирования: Scala, Java, Python и R.

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

Но для начала рассмотрим архитектуру Apache Spark.

Читать далее

Важные паттерны в создании продуктов на основе генеративного ИИ

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров2K

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

В этой статье мы разберём ключевые паттерны, которые помогают преодолеть эти сложности: от базового взаимодействия с языковыми моделями и работы с эмбеддингами до Retrieval-Augmented Generation (RAG) и тонкой настройки (Fine-tuning).

Читать далее

Учимся Flask: как написать своё веб-приложение

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2K

Привет, будущий разработчик! Сегодня создадим первое полноценное веб-приложение на Flask с нуля.

Ты, наверное, слышал, что сайты и веб-приложения — это сложно. Что нужно знать кучу языков, писать километры кода и сидеть ночами над багами. Но на самом деле, всё гораздо проще, если у тебя есть правильный инструментарий.

Сегодня мы разберём Flask — лёгкий, но мощный фреймворк для Python, который позволит буквально за пару часов написать веб-приложение с формами, обработкой данных и HTML-шаблонами.

Читать далее

И снова о распознавании лиц с помощью Python

Время на прочтение7 мин
Количество просмотров3.8K

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

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

Читать далее

Разработка пользовательских агрегатных функций для аналитики в MySQL

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров681

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

Вы когда-нибудь писали аналитические запросы в MySQL и понимали, что встроенных функций вам не хватает? Хотите посчитать медиану зарплат? 99-й процентиль времени ответа запросов? Собрать JSON-массив прямо в базе данных?

В MySQL нет MEDIAN(), PERCENTILE_CONT() и нормального способа объединить данные в JSON. Всё приходится делать через костыли.

Решение? Написать собственную агрегатную функцию на C++, которая будет работать так же, как SUM() и AVG(), но делать то, что вам реально нужно.

Читать далее

Ассет-менеджер для Unity на стероидах

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров1.7K

Если у вас скопилось слишком много ассетов в Unity, а поиск нужного контента превращается в долгий и хаотичный процесс, значит, пора пересмотреть подход. Автор статьи делится своим опытом создания Asset Inventory — мощного инструмента, который решает проблему организации ассетов, позволяя искать не по пакетам, а по самим объектам. Как работает эта система, какие технологии использованы и какие возможности она открывает — читайте под катом.

Читать далее

Первая ИИ-модель для обучения на тексте

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.2K

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

Будем писать на Python и использовать TensorFlow — мощную библиотеку от Google для машинного обучения.

Читать далее

Agents 101: Как создать своего первого ИИ-агента за 30 минут

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

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

Читать далее

Пентест системы печати. Атакуем

Время на прочтение7 мин
Количество просмотров1.5K

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

Теперь давайте перейдём к практике и попробуем проэксплуатировать то, что удалось найти. Начнём со сброса настроек.

Читать далее

Документация в проекте

Время на прочтение5 мин
Количество просмотров3.2K

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

Читать далее

Карго-культ Scrum: почему команды копируют форму, но теряют суть

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров5.1K

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

Читать далее

Architecture as Code: моделируем архитектуру предприятия в ArchiMate

Время на прочтение5 мин
Количество просмотров2.8K

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

Помимо консалтинга, я преподаю курс по ArchiMate в Otus, и одним из частых вопросов от студентов является возможность описания архитектуры предприятия с помощью кода. Недавно на одном из своих проектов я решил опробовать подход Architecture as Code, и сегодня хочу поделиться полученным опытом.

Читать далее
1
23 ...

Информация

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