Как стать автором
Обновить
54
0
Волосатов Евгений @FFormula

Программист и Преподаватель

Отправить сообщение

LIME и SHAP

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

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

Методы к LIME (Local Interpretable Model-agnostic Explanations) и SHAP (SHapley Additive exPlanations), позволяют получить понимание решений, принятых сложными моделями.

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

Программно-определяемые сети SD-WAN

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

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

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

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

Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB

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

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

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

Паттерн Circuit Breaker

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

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

Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.

Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "выбивается", предотвращая возможные повреждения. Точно так же работает и Circuit Breaker в микросервисах. Он мониторит вызовы к внешнему сервису и при обнаружении слишком большого количества неудачных попыток временно "отключает" вызов, предотвращая тем самым падение всей системы.

Этот паттерн основывается на трех основных состояниях: закрытое, открытое и полуоткрытое.

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

CatBoost

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

Добрый день, уважаемые читатели Хабра!

CatBoost – алгоритм, разработанный специалистами из Yandex, представляет собой нечто большее, чем просто ещё один инструмент в арсенале данных науки. CatBoost – это гармоничное сочетание инноваций и эффективности, особенно когда дело доходит до работы с категориальными данными.

Первые шаги CatBoost были сделаны в 2017 году, когда мир уже знал о таких гигантах, как XGBoost и LightGBM. В чем же заключается уникальность CatBoost? Его разработка была направлена на решение специфических проблем, связанных с категориальными данными – той самой головной боли многих специалистов в области машинного обучения. С тех пор CatBoost прошёл долгий путь развития и совершенствования, став не просто эффективным инструментом, но и частью больших исследовательских проектов в различных сферах от финансов до биоинформатики.

CatBoost выделяется на фоне других алгоритмов градиентного бустинга благодаря ряду ключевых особенностей:

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

Кто такой IT-Recruiter?

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

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

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

Специализация IT-рекрутер является одной из специализаций профессии рекрутера. Его специфика заключается в том, что он работает в сегменте IT и проводит найм кандидатов по следующим профессиями:

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

Концепция RAII (Resource Acquisition Is Initialization)

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

Здравствуй, Хабр!

RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например, памяти, файлового дескриптора или других ресурсов) с жизненным циклом объекта в C++. Это означает, что ресурсы выделяются и освобождаются автоматически при создании и уничтожении объектов.

В C++ управление ресурсами, такими как динамическая память или открытые файлы, может быть источником множества проблем, таких как утечки памяти, неопределенное поведение и непредсказуемые ошибки. RAII призван решить эти проблемы, предоставляя надежный и безопасный механизм управления ресурсами.

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

Как преодолеть спад после запуска на примере Merge Garden

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

Случай с Merge Garden очень интересен. Эта игра, сочетающая match-3 основу с мержем, изначально была запущена на мировой рынок во второй половине 2020 года. Как раз тогда, когда рынок был перегрет из-за продолжительного карантина, а механика мержа стала новым трендом среди игроков.

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

— Что из себя представляет игра Merge Gardens?
— И какой она была до 2023 года?

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

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

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

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

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

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

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

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

Концепция донглов в Embedded устройствах

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

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

Типичное современное устройство будь то, мобильный телефон или пульт от телевизора – это самодостаточное устройство. То есть, они не требуют каких-либо дополнительных аппаратных компонентов для работы. Но, что, если наше устройство, заточено под выполнение конкретных задач и не является универсальным? В качестве примера можно рассмотреть считыватель RFID-карт

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

Автоматизация тестирования с Cucumber, Selenium и Java

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

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

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

Разработка с помощью Yocto

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

Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.

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

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

10 полезных Github репозиториев для тестировщиков

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

В этой статье содержится список из 10 репозиториев на Github: дорожные карты для карьерного роста, подборки книг, списки курсов, инструменты для упрощения процесса тестирования и многое другое. Независимо от вашего опыта, эта подборка поможет быстро сориентироваться в мире тестирования и оставаться на переднем крае этой динамичной области.

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

DevSecOps: Сканирование образов при отправке в Amazon ECR

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

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

Одним из ключевых моментов при работе с контейнерами является безопасность образов. Amazon Elastic Container Registry (Amazon ECR) предоставляет мощный инструмент для хранения Docker-образов, но безопасность этих образов играет критическую роль. В этой статье мы исследуем процесс сканирования образов на безопасность перед их отправкой в Amazon ECR, раскрывая методы и инструменты, которые помогают обеспечить непрерывную безопасность в DevSecOps-окружении.

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

Концепция имплицитов в Scala

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

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

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

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

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

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

Меня зовут Дмитрий и я занимаюсь Agile трансформациями компаний и помогаю компаниям выстраивать процессы, а также являюсь основателем консалтингового агентства Smart units. Последние несколько лет выстраивал процессы заказной разработки, а также участвовал в крупных проектах реализации продукта вместе с вендором. И здесь набил много ошибок, а также сформировал набор правил того, как действительно нужно вести разработку продукта если вдруг вы являетесь либо Заказчиком, либо компанией которая предоставляет услуги по заказной разработки.

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

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

Гексагональная архитектура со Spring Boot

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

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

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

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

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

Разбор crackme от KilLo (.net)

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


Предупреждение


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


Введение


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

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

Технология единого входа: как работает SSO

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

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

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

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

Первые идеи SSO зародились в конце 1990-х, когда корпоративные сети стали более сложными, и потребность в централизованном управлении доступом стала очевидной. Это был период, когда организации начали искать способы упростить управление учетными записями для своих сотрудников.
В начале 2000-х было активное развитие технологий SSO. Организации начали внедрять SSO для упрощения доступа к корпоративным приложениям и ресурсам. Это также был период появления стандартов, таких как Kerberos, который лег в основу многих ранних реализаций SSO.
С развитием облачных технологий и мобильных устройств SSO начало получать ещё большее распространение. Возникли такие стандарты, как OAuth и OpenID, которые позволили SSO выйти за пределы корпоративных сетей и обеспечить интеграцию с обширным спектром внешних онлайн-сервисов и приложений.

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

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

Основы Identity and Access Management (IAM) в архитектуре приложений

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

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

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

Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает наши данные, но и гарантирует, что правильные люди имеют доступ к нужной информации в нужное время. Каждая вторая транзакция в мире происходит онлайн, безопасность становится не просто приоритетом, а необходимостью.

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

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

Информация

В рейтинге
Не участвует
Откуда
Висагинас, Литва, Литва
Работает в
Дата рождения
Зарегистрирован
Активность