Обновить
4
0.1

Пользователь

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

Как обеспечить безопасность ОС Linux по рекомендациям ФСТЭК России

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

Неверные настройки не всегда выглядят как критические уязвимости, но именно они часто становятся причиной сбоев и потери данных, а также точкой входа для злоумышленников. ФСТЭК России в рекомендациях по безопасной настройке Linux подчеркивает важность исправления мисконфигураций, однако наш анализ показал: около 90% компаний нарушают хотя бы одно требование из методики, а почти половина — четыре и больше. В этой статье разберем процесс исправления мисконфигов в разрезе требований ФСТЭК и покажем, как это реализовать на практике.

Читать

Контейнерная стеганография: Прячем гигабайты в DOCX, PDF и еще десятке форматов

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

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

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

Читать далее

Пишем свой MCP-сервер на Go

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

Пока ML- и AI-специалисты усиленно создают агентские системы, разработчики тоже хотят приобщиться к созданию нового мира. Так компания Anthropic — создатели Claude Sonnet, разработали открытый протокол MCP (Model Context Protocol), который позволяет LLM взаимодействовать с любой информационной системой. Это открыло новые возможности не только для построения более сложных и продвинутых агентских AI-систем, но и для активного участия во всём этом процессе и backend-разработчиков.

Я Евгений Клецов — Go-разработчик из Cloud.ru. В статье покажу, как создать свой сервер в тесной связке с вашим продуктом или решением, чтобы затем на его базе построить AI-агента и тем самым облегчить «жизнь» себе и своим клиентам.

Читать далее

RKNN Toolkit2: конвертация моделей и симуляция NPU Rockchip

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

Rockchip — довольно крупная китайская компания, которая разрабатывает микросхемы для ТВ-приставок, смартфонов и планшетов. Мне довелось поработать с одноплатным компьютером Orange Pi 5, оснащенным ARM чипом RK3588 и NPU (neural processing unit) с заявленной производительностью до 6 TOPS.

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

Читать далее

Обнаружение уязвимостей ИИ агентов. Часть I: Введение в уязвимости

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

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

Читать далее

Я построил Vision Transformer с нуля — и научил его обращать внимание

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

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

Читать далее

Вайб-кодинг: практика, о которой почему-то не говорят

Время на прочтение10 мин
Количество просмотров54K
В феврале мир разработки перевернулся с выходом Sonnet 3.7. Потому что вдруг внезапно оказалось, что джуны уже не очень-то и нужны. И нейросетка нормально заменяет мидлов тоже.

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

image

Пример проекта с прикручиванием аналитики к инфраструктуре:

  • Сначала в GPT 4.5 провёл продуктовые исследования и сформулировал требования.
  • Попросил превратить это в архитектурный план.
  • Отревьюил, поправил тупые ошибки.
  • Затем этот план (как метапромпт) скормил Sonnet в VS Code через плагин Cline. Попросил сначала создать общую структуру, шаблонные имплементации, документацию, спецификации API (protobuf для gRPC, REST API).
  • Архитектурно сразу заложил микросервисы. Sonnet для каждого сервиса подобрал и обосновал оптимальную базу данных (где-то Postgres, где-то ClickHouse и т.д.).
  • Сгенерировал SDK для взаимодействия, примеры использования. Сразу заложил observability: централизованные логи, метрики Prometheus, трейсинг Jaeger/Tempo, дашборды для Grafana.
  • Потом итерационно генерировал код: сначала тесты (End-to-end, BDD), потом имплементацию под эти тесты.
  • Написал манифесты для Kubernetes и Docker Compose для локального запуска.
  • Сгенерировал даже скрипты для тестов REST API через curl и gRPC через gRPCurl.

И всё.

А теперь практика — что делать с тем, что современные нейросети учились преимущественно на говнокоде и как быть с джунами.
Читать дальше →

ML-эксперименты проще с ClearML

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

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

Хочу узнать больше

Прятки в пикселях: методы встраивания тайных посланий в видеопоток

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

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

Мы детально рассмотрим технические особенности каждого метода: от классической замены наименее значащего бита до современного алгоритма Куттера-Джордана-Боссена.

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

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

Читать далее

Я больше не вижу багов…

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

Привет! Я — Маша, которая заваривает qaшу (и иногда крепкий кофе, когда глаза уже отказываются фокусироваться на экране).

Сегодня хочу поговорить о проблеме, с которой сталкивался, наверное, каждый тестировщик (и не только). В один "прекрасный" день ты садишься проверять фичу или делать регресс, а баги просто перестают быть видны. Ты кликаешь, прогоняешь сценарии, но будто слепнешь — всё кажется рабочим. А потом оказывается, что пропустил очевидный косяк, и по цепочке начинается: чувство вины → стресс → ещё большая усталость → ещё больше ошибок.

Знакомо? Тогда давайте разберёмся, как выбраться из этой ямы, пока она не превратилась в профессиональное выгорание.

Читать далее

Цифровая карта аварийности: как технологии помогают сделать дороги безопаснее

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

Привет, Хабр! Буквально недавно в ИЦ прошло ежегодное мероприятие «Инновационная столица-2024», где мой коллега, руководитель отдела цифровых сервисов, продемонстрировал обновленный АИС «Мониторинг аварийности».

Цифровая карта ДТП не имеет аналогов в России, поэтому в этой статье я бы хотел рассказать, чем так уникален продукт, и как он помогает снижать количество ДТП в городе.

Читать далее

Кто реально угрожает C++ (нет, Rust, не ты)

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

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее

Data Engineering — это не Software Engineering

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

Это мой вольный перевод статьи "Data Engineering is Not Software Engineering", с рядом моих правок, дополнений, а так же сокращений (так как автор склонен повторять одно и то же, но иными словами или излишне "разжевывать" очевидные вещи). Мне кажется, автор действительно поднял очень важную тему, которую я "чувствовал" по своей практике, но не мог сформулировать так точно, как это сделал он.

Мало кто задумывается, что дата-инженерия и разработка ПО имеют значительные различия. Поэтому распространено мнение, что некое отставание дата-инженерии в части внедрения современных методов разработки, таких как Agile, Test Driving Development и т.д. обусловлено лишь отставанием в освоении этих передовых практик.

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

Читать далее

Как разработчику стать AI-разработчиком в 2025?

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

Поздравляю, вы уже AI разработчик.

Шутка. Вы только на 80% AI разработчик.

AI – теперь коммодити. Кто угодно может превратить свой древний саас в AI-driven за один HTTP запрос, а большая часть AI разработки с первого взгляда выглядит как

Далее

Взгляд на звук через спектрограмму

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров16K
Я хочу познакомить вас со взглядом на звук как на спектр и побудить на самостоятельные акустические эксперименты. Вам не потребуется никаких денежных затрат, так как все опыты будем проводить в бесплатной программе Audacity. Представление звука в виде спектрограммы может найти множество применений, например, для диагностики работы механизмов, в анализе тембров инструментов, сэмплов, синтезаторов. Статья рассчитана на новичков.

Спектрограмма звука скрипки. Автор: Omegatron.

Моё увлечение акустикой началось с проекта, когда я хотел сделать анимацию северного сияния, которая бы реагировала на музыку. Я использовал фрагмент классического произведения Баха. Открыл его в программе Audacity в режиме отображения спектрограммы, и внимание сразу привлекли волнообразные штрихи. Так на спектре выглядит исполнительский приём вибрато, смысл которого в переменном изменении тона при игре на музыкальном инструменте.
Смотреть картинку, слушать пластинку

Почему разрабы выгорают не так, как другие и что с этим делать?

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

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

Давайте разберемся с тем, выгорают ли программисты по другим причинам, чем простые смертные (дисклеймер: да), почему так происходит и что с этим со всем делать. Агрегировала свой айтишный опыт, психотерапевтический и заправила научными статьями.

Читать далее

Оптимизация 3D-текстурирования для мобильных игр при помощи градиентов

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

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

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

Читать далее

ИИ на путях: как решить задачу перепланирования расписания движения поездов

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

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

В этой статье опишу подход к оптимизации расписания поездов в реальном времени при помощи обучения с подкреплением (RL), который применим и к российским грузовым ж/д перевозкам, но пока не используется. Тезисы статьи:

1. Перепланирование расписания движения поездов (Train Timetable Rescheduling)
2. Коротко об RL и Q-learning
3. Моделирование железнодорожной среды
4. Заключение

Читать далее

Шейдер береговой линии для Unity

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

В своей работе я больше склоняюсь к стилизованной картинке, однако полученный в статье результат можно будет адаптировать и для реалистичного стиля/PBR. В этом посте мы поговорим о шейдере воды, относящемся к береговой линии, не касаясь материала песка и других деталей воды, например, преломления и каустики (о них можно прочитать в Water Shader Breakdown или по другим ссылкам в разделе Water на странице Resources). Впрочем, шейдер выполняет и смешение прозрачности/альфы, чтобы затенить материал под ним для симуляции мокрого песка.

Мы поговорим о двух способах наложения волн в сцене: при помощи текстуры глубин и ручных UV. Ниже я перечислю замечания, плюсы и минусы каждого способа. В последующих разделах мы поработаем над ними по очереди.

Читать далее

Почему важно оптимизировать формат данных

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

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

Алгоритмы — важнейшая часть программы: замена «горячего» алгоритма O(n) менее сложным, например, O(log n), обеспечивает практически произвольное увеличение производительности. Однако существенно влияет на производительность и структурированность данных: программы выполняются на физических машинах с физическими свойствами, например, разными задержками чтения/записи данных в кэши, на диски или в ОЗУ. После оптимизации алгоритмов стоит изучить эти свойства, чтобы достичь наибольшей производительности. Оптимизированный формат данных учитывает используемые алгоритмы и паттерны доступа при выборе того, как сохранять структуру данных на физическом носителе. Благодаря этому можно увеличить скорость алгоритмов в несколько раз. В этом посте мы покажем пример, в котором нам удалось достичь четырёхкратного повышения скорости чтения простым изменением формата данных в соответствии с паттерном доступа.

Сравнение хранилищ данных AoS и SoA


Современное оборудование, и, в частности CPU, спроектировано так, чтобы обрабатывать данные определённым образом. Расположение данных в памяти влияет на то, насколько эффективно программа сможет использовать кэш CPU, как часто она сталкивается с промахами кэша и насколько оптимально она сможет задействовать векторные команды (SIMD). Даже при использовании оптимальных алгоритмов выбор неподходящего формата данных может приводить к частым перезагрузкам кэша, простаивающим конвейерам и чрезвычайно большому объёму передач содержимого памяти; всё это снижает производительность.
Читать дальше →
1
23 ...

Информация

В рейтинге
3 125-й
Зарегистрирован
Активность