Как стать автором
Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Сравнение нейросетей для создания ПО. Для сканирования хостов и поиска никнеймов

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

Введение

Приветствуем дорогих читателей! Начинаем рубрику посвящённую нейросетям и их применению в сфере ИБ. В этой статье мы сравним 3 самых популярных и одну малоизвестную ИИ в разработке скриптов для эффективного поиска никнеймов и сканирования хостов на уязвимости.

Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и предоставлены только для ознакомления и изучения механизмов используемых технологий.

Читать далее

Новости

Статья

1С — архаика или рабочий инструмент? Разбор горячего анти-хайпа

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

Ваша статья — яркий пример «технологического снобизма», где эмоции подменяют рациональные аргументы. Да, 1С — не идеал. Да, у неё куча недостатков. Но называть её «рудиментом» и «цифровым аппендиксом» — значит демонстрировать непонимание реального бизнеса и экономики.

Давайте разберёмся, почему 1С до сих пор жива, и почему её «архаичность» — это не недостаток, а следствие адаптации под конкретные условия.

Читать далее
Пост

Расширения и дочерние контейнеры в Joomla 5

Перевод с английского: Joomla! Programmers Documentation for Joomla 5.2

Всякий раз, когда Joomla загружает расширение, она создает дочерний Dependency Injection Container (далее контейнер), исключительно для использования этого расширения. Это показано на схеме ниже.

Child DIC
Child DIC

Дочерний контейнер содержит указатель на родительский контейнер и функционирует аналогично основному контейнеру, но с некоторыми отличиями:

  • При каждом вызове метода set() для этого дочернего контенера пара ключ-значение добавляется в дочерний контейнер;

  • При каждом вызове метода get() для этого дочернего контейнера ресурс извлекается из дочернего контейнера, но если он там не найден, то поиск выполняется также в родительском контейнере.

Начиная с версии Joomla 4, разработчики Joomla рекомендуют создателям расширений использовать внедрение зависимостей (dependency injection) для своих расширений, определяя файл services/provider.php. Загрузка расширения теперь выполняется в два этапа, которые обрабатываются внутри файла services/provider.php:

  1. Класс расширения регистрируется в дочернем контейнере;

  2. Класс расширения извлекается из дочернего контейнера, создавая экземпляр этого класса.

Давайте рассмотрим минимальный пример этого для компонента com_example с пространством имён Mycompany\Component\Example.

use Joomla\CMS\Extension\ComponentInterface;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Mycompany\Component\Example\Administrator\Extension\ExampleComponent;
return new class implements ServiceProviderInterface
{
  public function register(Container $container): void
  {
    $container->set(
      ComponentInterface::class,
      function (Container $container)
      {
        $component = new ExampleComponent();
        return $component;
      }
    );
  }
};

Мы видим, что когда Joomla выполняет require этого PHP-файла, возвращается экземпляр класса.

$provider = require $path;  // $path points to the relevant services/provider.php file

Переменная $provider указывает на объект, который является экземпляром этого анонимного класса. Кроме того, класс реализует интерфейс Joomla\DI\ServiceProviderInterface, что, по сути, означает, что он содержит метод register с указанной выше сигнатурой.

Когда Joomla выполняет

if ($provider instanceof ServiceProviderInterface)
{
  $provider->register($container);

будет вызван метод register, который добавит запись в дочерний контейнер с

  • key - ComponentInterface::class – это сокращённый способ в PHP указать строку 'Joomla\CMS\Extension\ComponentInterface';

  • value - функция, которая возвращает новый экземпляр класса ExampleComponent (основного класса расширения компонента com_example).

$extension = $container->get($type);

Функция выше будет запущена и вернет новый экземпляр ExampleComponent.

Вы можете самостоятельно изучить код Joomla в файле libraries/src/Extension/ExtensionManagerTrait.php и убедиться, что описанный выше шаблон также применяется к модулям и плагинам.

Обратите также внимание на следующую строку в этом файле:

if ($extension instanceof BootableExtensionInterface)
{
  $extension->boot($container);
}

Таким образом, если класс расширения реализует интерфейс BootableExtensionInterface, Joomla немедленно вызовет метод boot() экземпляра расширения, как описано в документации по расширениям.

Теги:
0
Комментарии0
Статья

Быстрое приближённое умножение и деление чисел с плавающей точкой

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

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

Читать далее
Пост

Личный кабинет налогоплательщика, или как потерять доступ, если бы не длинный буфер обмена Windows 11

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

  1. Входим в ЛК.

  2. Нажимаем "Изменить пароль" в настройках профиля.

  3. Генерируем пароль сторонним сервисом, назовем его "Пароль 1".

  4. Вводим пароль, сохраняем.

  5. Вдруг система говорит, что в пароле нет цифр!..

  6. Хорошо, генерируем новый пароль, с цифрами.

  7. Вводим новый пароль... О-па, а в поле "Старый пароль" уже неверный пароль.

  8. Нервно ищем Пароль 1. Оказывается, что он применился, несмотря на ругань системы. Если не нашли, то всё... Мне помог длинный буфер обмена Windows 11.

Шёл 21-й век.

Теги:
0
Комментарии2
Статья

Mem-векторы: как сохранить 1500 токенов в одном векторе и зачем это нужно

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

Каждый, кто работал с большими языковыми моделями (LLM), знает про ограничение длины контекста: модель не может напрямую обработать текст, превышающий определённое число токенов. Это накладывает ограничения на работу с длинными документами и обширным контекстом. Но что если бы мы могли упаковать длинный текст в один-единственный вектор и скормить его модели как обычный токен? Звучит фантастично, однако свежие исследования показывают, что это возможно – такие “mem-векторы” позволяют сохранить сотни и даже полторы тысячи токенов информации в одном эмбеддинге. Это принципиально иной подход, нежели классическое сжатие данных, и он сулит интересные применения.

Mem-вектор (от “memory vector”) – это специально обученный вектор, который хранит содержание целого текста. Идея в том, что если модель умеет предсказывать текст, то можно подобрать такой вектор на входе, при котором замороженная (неизменяемая) LLM сама декодирует исходный текст. Иначе говоря, mem-вектор играет роль «семени», из которого предобученная модель порождает заложенное в нём сообщение. В этой статье разберём, как это работает, почему вообще возможно “запихнуть” роман в один вектор и какие ограничения при этом появляются. Также сравним mem-подход с классическими алгоритмами сжатия (Huffman, арифметическое кодирование, zlib и др.), обсудим последние научные работы на эту тему и возможные применения: от Retrieval-Augmented Generation (RAG) до передачи новых знаний замороженным моделям. Центральная мысль: mem-векторы – это не просто компрессия текста, а способ напрямую скормить модели смысл и знания, минуя последовательное чтение токенов.

Разбираемся далее
Статья

Новый шаг к обнаружению Девятой планеты Солнечной Системы

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

Перевод внезапной статьи с сайта NASA, которая уже успела наделать много шума

Лучший кандидат на роль неуловимой Девятой планеты был обнаружен в двух глубоких инфракрасных обзорах, проведенных с разницей в 23 года. Если этот загадочный объект действительно Девятая планета, он должен иметь массу больше Нептуна и в настоящее время находиться примерно в 700 раз дальше от Солнца, чем Земля.

Читать далее
Статья

Bad Pods: поговорим о подах-плохишах

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

Обычно, когда мы говорим о безопасности Kubernetes, мы прежде всего говорим о защите подов от внешних угроз, но в некоторых случаях они сами могут представлять определенную опасность. Для того, чтобы эти угрозы мог реализовать атакующий, у него должны быть доступ к кластеру, разрешение RBAC на создание одного некоторых типов ресурсов (CronJob, DeamonSet, Deployment, Job, Pod, ReplicaSet, ReplicationController, StatefulSet) хотя бы в одном пространстве имен, и также должны отсутствовать политики безопасности.

Если у вас все это есть — тогда мы идем к вам в этой статье мы рассмотрим, какие атаки из подов вам могут грозить. А даже если есть не все, то особенно расслабляться все равно не стоит.

Читать далее
Статья

Сравнение n8n vs Flowise vs Open WebUI

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

C появлением LLM, инструменты для автоматизации бизнес-процессов получили мощный импульс развития, так как стало возможным решать такие задачи, которые раньше было невозможно или сложно реализовать известными методами.

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

Читать далее
Статья

Валидация сложных форм с помощью Constraint Validation API

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

DOM предоставляет API для валидации пользовательского ввода. Вообще говоря, мы им пользуемся часто, например:

Читать далее
Новость

Lyft запустил опцию Lyft Silver для пожилых пассажиров с новым дизайном приложения

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

Агрегатор такси Lyft развернул опцию Lyft Silver с более удобными автомобилями для пожилых людей и службой поддержки, в которой работают реальные люди. Также сервис переработал дизайн приложения. Компания указывает, что пожилые люди составляют лишь 5,4% от её клиентской базы, но Lyft Silver должна помочь агрегатору увеличить число таких пассажиров.

Читать далее
Статья

Майская барахолка в Испании: интересные находки, попавшиеся на глаза буквально вчера

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

Привет, Хабр! Ну что, снова я со своей барахолкой в Испании. Сейчас уже жарко, и все больше продавцов появляется на рыночке, постоянным посетителем которого я стал уже давно. На этот раз тоже удалось увидеть много интересного, чем сейчас делюсь и с вами. Если эта тема интересна, вас тоже волнуют случайные находки, прошу под кат.
Читать дальше →
Статья

Королева солнечных панелей: история изобретательницы Марии Телькеш

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

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

Читать далее

Ближайшие события

Новость

Хакер NullBulge в США признал себя виновным в краже данных Disney в Slack

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

Хакер под ником NullBuldge признал себя виновным в несанкционированном доступе к каналам Disney в Slack и краже 1,1 ТБ внутренних данных компании. Министерство юстиции США указало, что в начале 2024 года 25-летний житель Калифорнии Райан Крамер создал вредоносное программное обеспечение, которое позиционировалось как инструмент на базе искусственного интеллекта для генерации изображений. Злоумышленник разместил свой софт на GitHub и других платформах.

Читать далее
Статья

Весна, шашлыки, рассада и труд: немного о майских праздниках и связанных с ними мемах

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

Майские праздники — особый период в жизни нашей страны, сравнимый разве что с новогодними. По сложившейся традиции, в начале января и начале мая россияне больше отдыхают, чем работают (но это не точно). Естественно, по мере всё более повальной интернетизации и развития культуры Рунета стали появляться многочисленные мемы, обыгрывающие стереотипы и противоречия ежегодного периода между Днём труда и Днём Победы. И если последний — совсем особая история, то период с 1 по 8 мая имеет куда более приземлённые ассоциации. Противоречий с майскими хватает: с одной стороны, в День труда на работе почти никто не работает, с другой стороны, для многих майские выходные нередко приходится грустно брать в скобки, ибо дача, рассада и картошка. Давайте выясним, как два праздника «выросли» в целые каникулы, и какие мемные ассоциации с ним связаны.
Читать дальше →
Статья

Четвертый шаг в мир RxJs: незавершенные потоки — тихие убийцы приложений

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

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

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

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

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

Читать далее
Новость

Пользователи Pinterest жалуются на блокировки аккаунтов и удаление пинов

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

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

Читать далее
Новость

Релиз Wine 10.7

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

2 мая 2025 года вышла новая экспериментальная версия открытой реализации программного интерфейса Windows Win32 API для ОС Linux Wine 10.7. Выпуск Wine 10.0 состоялся в январе этого года.

Читать далее
Статья

Потребление фастфуда действительно коррелирует с низким интеллектом

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

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

Читать далее
Статья

Не только Kingdom Come 2. Какие ещё хиты выпускали в Европе и почему это практически отдельная индустрия

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

Европейская игровая индустрия давно перестала быть «младшим братом» американских и азиатских гигантов. Студии Старого Света создают проекты, которые не просто конкурируют с блокбастерами вроде Call of Duty или Final Fantasy, но и задают новые стандарты в нарративе, дизайне и игровой механике.

Уникальное сочетание культурного наследия, авторского подхода и готовности экспериментировать делает европейские игры узнаваемыми. Рассказываем о пяти хитах, которые подтверждают: Европа — это отдельная вселенная в мире видеоигр.

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