Search
Write a publication
Pull to refresh
131
36.7

Редактор

Send message

APM ТОП 20: Лучшие инструменты для мониторинга производительности приложений

Level of difficultyMedium
Reading time21 min
Views1.3K

В 2025 году перед вами открывается широкий выбор инструментов для мониторинга производительности приложений (Application Performance Management — APM). В этой статье мы подробно рассмотрим 20 лучших из них, сравнив их ключевые функции, преимущества и недостатки, чтобы помочь вам сделать осознанный выбор.

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

В этой статье мы подробно рассмотрев 20 лучших APM‑инструментов, их ключевые особенности, а также сильные и слабые стороны.

Читать далее

Мыслите гибко, тестируйте с умом: Как разработать эффективную QA-стратегию — Часть 1

Level of difficultyMedium
Reading time21 min
Views478

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

Читать далее

Flutter: Исчерпывающее руководство по высокопроизводительному рендерингу Canvas’а — Часть 1

Reading time25 min
Views1.4K

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

Если вы стремитесь улучшить производительность вашего Flutter-приложения, эта статья поможет вам освоить ключевые техники и подходы.

Читать далее

Kotlin для бэкенд разработки: преимущества и примеры

Reading time7 min
Views5.2K

Kotlin, современный язык программирования от JetBrains, уже давно зарекомендовал себя не только в Android‑разработке, но и как мощная альтернатива Java для бэкенд‑разработки. Kotlin полностью совместим с Java, работает на JVM и предлагает более лаконичный, безопасный и выразительный синтаксис.

Читать далее

60 открытых уроков августа: от C++ и Swift до аналитики и DevSecOps

Level of difficultyEasy
Reading time3 min
Views756

Если вы давно хотели разобраться с CI/CD, научиться запускать высоконагруженные API или наконец-то понять, как работают трансформеры в ML — вам сюда. В августе мы проведем 60 открытых уроков по ключевым темам разработки, архитектуры, безопасности, тестирования, анализа и управления.

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

Читать далее

13 лучших приложений для планирования и управления проектами

Level of difficultyEasy
Reading time15 min
Views11K

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

Читать далее

Apache Kafka в гарантиях или как надежно доставить сообщение

Reading time8 min
Views5K

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

В этой статье мы разберем три вида гарантий доставки сообщений на примерах.

Читать далее

15 лучших библиотек для визуализации данных, о которых должен знать каждый разработчик

Reading time24 min
Views12K

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

Читать далее

Архитектура корпоративных данных: AWS + Snowflake

Reading time21 min
Views1.6K

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

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

Читать далее

Тонкие настройки отправки сообщения в RabbitMQ

Reading time9 min
Views1.1K

Сообщения в RabbitMQ — это основные единицы данных, которые передаются между продюсерами и потребителями. Понимание их структуры и возможностей позволяет эффективно управлять потоком данных в распределенных системах. В этой статье мы разберем анатомию сообщений, обязательные и опциональные компоненты, а также реализуем пример отправки объекта с настройкой свойств

Читать далее

Обменники в RabbitMQ, которые не продают валюту

Reading time8 min
Views1.8K

Очень часто в проектах необходимо использовать передачу сообщений между компонентами распределенной системы по определенным правилам. И перед разработчиком встает вопрос — какой инструмент наиболее эффективно можно использовать для этого? И сегодня мы рассмотрим брокер сообщений, который позволяет это делать «прямо из коробки» и это будет RabbitMQ.

RabbitMQ — это популярный брокер сообщений, который реализует стандарт AMQP и который позволяет эффективно управлять коммуникацией между сервисами через очереди. И в этой статье мы разберем основные типы обменников (exchange): Direct, Topic, Headers и Fanout, которые напрямую участвуют в процессе маршрутизации, а также приведем примеры их настройки в Spring Boot.

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 2

Level of difficultyEasy
Reading time15 min
Views1.5K

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

Читать далее

Как перестать бояться кодировок в Java — лайфхак для новичков

Reading time5 min
Views4.2K

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

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 1

Level of difficultyEasy
Reading time19 min
Views2.7K

Чистая архитектура — не просто модный термин, а способ держать код в узде по мере роста Android-приложения. В этой статье — подробный разбор того, как выстроить работу с UseCase’ами: от базовой интеграции в ViewModel до сложных кейсов с несколькими провайдерами и платежными системами. Разберёмся, как применять принципы SOLID на практике, не скатываясь в оверинжиниринг — и при этом не жертвовать гибкостью архитектуры.

Читать далее

Задержки и системная архитектура

Level of difficultyEasy
Reading time17 min
Views2.6K

Много JavaScript‑фреймворков назад, в 2009 году, Джеффри Дин, будучи инженером в Google, представил знаменитые «числа, которые должен знать каждый программист».

Читать далее

45 открытых уроков июля: возможности роста для каждого

Reading time3 min
Views3.2K

Привет, хабровчане. В этом дайджесте делимся подборкой открытых уроков, которые проведут преподаватели OTUS в рамках набора на онлайн-курсы в июле. В программе — от глубоких погружений в архитектуру DWH и сетевые протоколы до навыков работы с ML-моделями и DevOps. Каждый урок — возможность разобраться в ключевых аспектах IT-сферы, задать вопросы экспертам и закрыть пробелы в знаниях.

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

Читать далее

Создаем плагин с генеративным ИИ для Unreal Engine на C++ (офлайн и онлайн версии)

Level of difficultyEasy
Reading time19 min
Views2.4K

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

Читать далее

Как строить ИТ-инфраструктуру: лучшие практики и обучающие ресурсы

Reading time4 min
Views4.8K

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

Читать далее

Последовательность Фибоначчи в составах команд главных героев

Level of difficultyEasy
Reading time15 min
Views1.4K

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

Если взглянуть на мир художественных произведений с точки зрения повествования, то можно заметить несколько четко выраженных схем, касающихся количества главных героев, которые появляются в художественных произведениях, будь то книги, телешоу, фильмы или даже видеоигры. Во многих историях можно встретить одно из следующих чисел: 1, 2, 3 или 5. Интересно, что этот паттерн повторяет первые четыре числа последовательности Фибоначчи. Если мы внимательнее посмотрим на внутреннюю динамику каждой из этих типичных командных компоновок, то увидим, что математика становится очевидной.

Читать далее

WaveManager: Реализуем систему управления волнами врагов в Unity

Level of difficultyEasy
Reading time13 min
Views1.2K

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

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

Information

Rating
218-th
Location
Россия
Works in
Registered
Activity