Обновить

Разработка

Сначала показывать
Порог рейтинга

ИБ-ДАЙДЖЕСТ INFOWATCH

Житель Гарнера через чужой взломанный аккаунт Smoothie King заказал себе еды более чем на $583 — оказалось, что владелец скомпрометированной учетки так и не сменил пароль после утечки данных 8300 клиентов компании в 2023 г.

Технологическая компания Beijing E-Town обвинила Applied Materials в незаконном присвоении и продвижении технологий, полученных от двух бывших специалистов американской «дочки» E-Town.

Международная HR-компания Manpower подтвердила утечку данных около 150 тыс. человек — причиной могла быть атака группировки RansomHub.

Хакеры Saber and cyb0rg взломали ресурсы северокорейской группировки Kimsuky и выложили в открытый доступ их инструментарий и множество других данных.

Исследователи из Check Point сообщили о резком росте утечек учетных данных — в 2025 году их скомпрометировано на 160% больше, чем в 2024.

Хакеры взломали лабораторию Clinical Diagnostics NMDL и похитили данные 485 тыс. пациенток — пострадавших начнут уведомлять в ближайшее время.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Влияют ли орфографические ошибки в запросе на ответ нейросети?

Лично я часто отправляю в нейросеть сырой текст с ошибками, но она всегда меня понимает и делает то, о чём я её прошу.

Получается, нейросетям не так важно, есть ли ошибки в тексте?

Не совсем.

Нейросети устроены так, что могут догадаться, какое слово вы имели в виду.
Как?
Ранее я писал про токены — именно на них и разбивается текст. Давайте для примера разобьём слово с ошибкой и без:
"Привет" → ["Пр", "ивет"]
"Пирвет" → ["П", "ир", "вет"]
Можно попробовать самим — ТУТ (нужен VPN).

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

Есть два варианта:
1️⃣ Нейросеть по контексту догадается, что это слово — "привет".
2️⃣ Такая ошибка (опечатка) не редкость, и в системе токенов (векторных представлений) токены "привет", "п", "ир", "вет" могут находиться рядом. А значит, для нейросети они будут иметь схожий смысл, и она поймёт, что вы имели в виду.
* Если непонятно, что значит "находятся рядом" — можно почитать статью ТУТ, там объясняется просто но подробно.

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

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

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

Лучше избегать ошибок, но их наличие — не критично!

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии4

Три математических подхода к аллокации бюджета

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

Задача: есть бюджет B и n клиентов с разной доходностью. Как распределить деньги так, чтобы максимизировать ROI?

Дано:

Скаляр B ∈ R>0​.

Вектор V = [V1, V2, …, Vn] ∈ Rn>0.

Константы: ϵ>0, Bavg>0, Bmax>0.

Найти:  Vb = [Vb₁,Vb₂, …, Vbₙ] ∈ Rⁿ>0

Три подхода к решению:

1️. Линейное ранжирование

qi = (ri - Rmedian - 1) × Δ

где Δ = (ERavg - ERmin) / Rmedian

Простой, но игнорирует абсолютные разницы между клиентами.

2️. Сохранение формы распределения

Vb = V - mean(V) + ERavg

scale = (ERmax - ERmin) / (Vmax - Vmin + 1e-8)

Vb = Vb × scale + shift

Нормирует целевое распределение с учетом границ.

3️. Оптимизация через минимизацию функции потерь

По сути, это вариация подхода 2. В этом подходе мы стремимся максимально сохранить исходное распределение и минимизировать отклонения от ограничений на среднее и максимально/минимально допустимые значения, переходя к задаче оптимизации

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Мы выбрали 10 топ-хабрастатей за 10 лет, а вы выберите лучший HR-бренд

Будем краткими: в этом году блогу МойОфис на Хабре исполнилось 10 лет!
Мы собрали юбилейную подборку — выбрали по одной ключевой статье на каждый год. Это тексты, без которых, как говорится, нас невозможно представить, еще труднее – понять!

А вас просим оценить нас в ежегодном опросе Хабр/ЭКОПСИ. Это займёт всего 5–7 минут. Мы соберём важную обратную связь, а индустрия получит объективную картину IT-брендов в 2025 году.

Теги:
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Мое решение для Нерешаемой Проблемы

Все дети знают, что много мусора создает большие проблемы для Garbage Collector. Ну а взрослые видели и НЕРЕШАЕМЫЕ! Причем, мусора было немного:

We kept digging and learned the spikes were huge not because of a massive amount of ready-to-free memory, but because the garbage collector needed to scan the entire LRU cache in order to determine if the memory was truly free from references.

Что в этом случае делают взрослые? Правильно! Взрослые в ужасе убегают...

У меня есть решение для тех, кто устал убегать: mdb.BlobMap. Это быстрая хеш-таблица, не создающая проблем сборщику мусора:

ОК, что значит "не создающая проблем"? В данном случае это значит, что весь mdb.BlobMap -- это просто массив uint64...

Так НЕ БЫВАЕТ?!

Бывает, чо https://ders.by/go/blobmap/blobmap.html

Теги:
Всего голосов 5: ↑0 и ↓5-5
Комментарии0

Как сделать так, чтобы дизайнер и фронтендер не ругались

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

1. Больше общаться.

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

Кроме того, если подключать фронтендера на этапе разработки прототипа, он сразу сможет подсказать, что будет сделать легко, а что сложно.

2. Следить за актуальностью UI-кита.

Это база. Чтобы всем было удобно работать, в макете должен быть UI-кит. Разработчик сразу будет видеть, какие шрифты и UI-элементы возникнут в проекте. И конечно, UI-кит важно оперативно обновлять и сообщать об этом отделу фронтенда.

3. Внедрять общий процесс на всех уровнях.

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

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

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Представлен ролик «1981 Sony Trinitron KV-3000R»: самый роскошный Trinitron из когда‑либо созданных. В видео показан рабочий ТВ от Sony и его элементная база, которую можно было чинить достаточно просто прямо в домашних условиях.

Теги:
Рейтинг0
Комментарии0

Новая статья на Habr: Опыт t2 по масштабированию BI на 4500+ пользователей

Опубликовали большой кейс о том, как компания t2 (бывший Tele2) решила одну из главных проблем российского рынка аналитики — нехватку западных BI-решений.

Главные цифры кейса:
4500+ пользователей FineBI
400+ разработчиков отчетности
Кластерная архитектура с 6 нодами
3 года успешной эксплуатации

Ключевые инсайты:
✅ Как организовать автоматизированное обучение пользователей
✅ Почему безлимитные лицензии стали ключевым мотиватором миграции
✅ Как построить внутреннее сообщество поддержки в Telegram
✅ Зачем нужна поэтапная миграция с участием бизнес-пользователей

Для кого будет полезно
Руководителям аналитики — практический опыт масштабирования BI
IT-директорам — архитектурные решения и организация процессов
Аналитикам — понимание современных self-service подходов
Всем, кто планирует миграцию — реальные уроки и рекомендации

Бонус от GlowByte
В статье также рассказываем об образовательном ретрите по FineBI, который стартует 25 августа:
🔸 13-дневный марафон с обновленной программой
🔸 3 эксклюзивных вебинара: FineReport Pro, AI в аналитике, 3D-визуализация
🔸 Реальные кейсы от t2, Уралсиб, Циан и других компаний
🔸 Система призов за лучшие домашние задания

Читать статью полностью → https://habr.com/ru/companies/glowbyte/articles/939470/

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

В Alibaba выпустили пока бесплатный ИИ-агент для написания кода Qoder, который может сам создавать готовые приложения из простого промта. Разработчики решения написали, что это платформа для кодинга «нового поколения». Анализирует весь проект и кодовую базу, сходу понимает как именно вы пишете код и пытается делать также, разбивает сложные задачи на шаги и решает постепенно, пишет спецификацию, планирует и выполняет изменения в коде.

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

Many-Notes: Простые заметки в Markdown на своем сервере

Наткнулся на Reddit на небольшой, но очень интересный проект для тех, кто любит полный контроль над своими данными и ценит минимализм. Это self-hosted приложение для заметок Many-Notes.

TL;DR: Коротко о главном

  • Что это? Опенсорсное web-приложение для работы с Markdown-записями, спроектированное с акцентом на минимализм и полный контроль над данными. Вы разворачиваете его у себя (self-hosted).

  • Главная фишка: Использует базу данных (SQLite по умолчанию, но поддерживается MariaDB, MySQL и PostgreSQL) для продвинутых функций вроде многопользовательности и быстрого поиска, но при этом все заметки физически лежат в виде .md файлов. База нужна не для хранения текста заметок, а для метаданных, пользователей и индексации поиска.

  • Технологии: Написано на PHP, рассчитано на простую установку через Docker.

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

Что под капотом? Ключевые возможности:

Это не просто минималистичный блокнот - внутри полноценные инструменты для командной работы. Функциональность здесь серьезная:

  • Многопользовательский режим и совместная работа: Можно заводить отдельных пользователей и давать им доступ к «хранилищам» (vaults). Это выводит инструмент из категории «личный блокнот» в категорию «командная база знаний».

  • OAuth-авторизация: Поддерживается вход через GitHub, Google, Keycloak и другие популярные сервисы.

  • Продвинутый редактор: Markdown + визуальный интерфейс (WYSIWYG), со сплит-панелью предпросмотра. Есть шаблоны, теги, поиск по обратным ссылкам, автосохранение.

  • Быстрый поиск: Используется typesense для быстрого и отказоустойчивого поиска по заметкам. Но это отдельный сервис, его тоже нужно поднять.

  • PWA (Progressive Web App): Приложение можно установить на рабочий стол или смартфон для более удобного доступа.

Полезные ссылки:

А вы чем пользуетесь для ведения заметок? Предпочитаете облачные сервисы или self-hosted решения? Делитесь в комментариях.

Подобные находки и разборы я регулярно публикую в ТГ канале Код ИТ-директора. Если интересен прагматичный взгляд на ИТ-инструменты, присоединяйтесь.

PS: Были шероховатости в тексте поста, в частности по базе данных и php. Поправил

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии6

🤖 Внедряю «зрение» в роботов Адам и Ева!

Детекция объектов через YOLO
Детекция объектов через YOLO
from ultralytics import YOLO
import app_adam_yagpt

# Загрузка модели YOLOv8l (официальная версия)
model = YOLO("yolo11l.pt")  # Автоматически скачает, если нет

# Детекция на изображении
results = model("image2.jpg")

# Получаем текстовый вывод в переменную
detection_summary = results[0].verbose()
resp = app_adam_yagpt.main(f"С помощью компьютерного зрения я передаю тебе данные об изображении. "
                           f"Опиши пространство в литературной форме, и классифицируй где ты находишьcя, "
                           f"что за обстановка и характер мероприятия или встречи, улица это или помещение, если перед тобой: {detection_summary}. "
                           f"Не нужно спрашивать ничего в конце твоего описания. ")
print(resp)

# Визуализация
results[0].show()  # Покажет результат
results[0].save("output.jpg")  # Сохранит
В пространстве находятся пять человек, двое из которых одеты в деловые костюмы. 
Присутствует телевизор, компьютерная техника — мышь и клавиатура, а также мобильный телефон. 
Обстановка выглядит как офисное помещение или место для работы и коммуникации.

Собрал связку YOLOv11 + GPT, чтобы робот не просто видел объекты, но и описывал обстановку почти как человек.

Как это работает:
1️⃣ YOLO детектит объекты на изображении
2️⃣ GPT анализирует их и генерирует "очеловеченное" описание
3️⃣ Profit! - получаем не слепого робота, а полноценного собеседника!

Зачем это Адаму и Еве?

Роботы смогут:

  • Опознавать людей и их действия («Вы пьёте кофе?).

  • Находить предметы по запросу («Где мои ключи?»).

  • Да просто прикольно описывать этот мир! («Обстановка выглядит как офисное помещение или место для работы и коммуникации.»)

Следующие шаги:
🔜 Внедрение в «железо» - тесты на реальных роботах.
🔜 Голосовой вывод - чтобы Адам комментировал увиденное вслух.
🔜 Обратная связь - если робот ошибся, он запомнит исправление.

Сценарии использования:

Дома: «Ева, кто оставил грязную кружку?» → «Это сделал Сергей, 5 минут назад» (по детекции лица + времени).

В офисе: Адам предупредит: «Переговоры начнутся через 10 минут - в зале пока только двое».

📢 Если было интересно — подписывайтесь на мой Telegram-канал robotltdco.

Спойлер: На самом деле второй пункт («Голосовой вывод») сделан! ✔️
Но об этом позже!

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Решение айти проблем эмпирическим путем и методом свободного гугла с попыткой выработать какой-то ПЛАН, чтобы его придерживаться

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

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

А еще я вру себе (и вам), что может быть мои много буков ради буков кому-то помогут или хотя бы развлекут.

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

И так, мое ДАНО:

Виртуальная машина VirtualBox 7.1.6 c Windows 10 (Корпоративная LTSC) 21H2 на такой же мелкомягкой, но уже Windows 11 (Корпоративная) 23H2 с настроенным типом сети NAT (то бишь самой простой из возможных в мире виртуалбокса).

И все в целом работало стабильно до сакрального "я ничего не трогала, оно само" исчезновения интернета с виртуальной машины. Точнее пинг до 8.8.8.8 шел, а уже на ya.ru дорогу найти не мог! И казалось бы - дело в DNS! но не тут-то было!

При установке типа NAT в виртуалбоксе, адрес у системе устанавливается по DHCP и DNS приходит оттуда же. Если в свойствах интерфейса принудительно поставить имя DNS сервера на четыре восьмерки - чуда не происходило, а в тырнетик машинка напрочь отказывалась идти.

Что было проверено?

  • Я перезагружала виртуальную машину

  • Я перезагружала хост, на котором виртуальная машинка запускалась

  • Я выключала\включала сетевой кабель в настройках ВМки (не, ну а что? ну а вдруг?)

  • Я выключила к чертям интерфейс в настройках ВМки и активировала соседний с таким же типом подключения (то бишь NAT).

  • Я выключила брендмауер на виртуальной машинке.

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

Упал - очнулся гипс!(с)

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

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии3

В прошлую субботу я подал заявку на участие в митапе GoSharp Weekend, который проводит компания Ozon Tech. Все заявки на этот митап проходят модерацию, т.к. к участию допускаются только C#- и Go-разработчики уровня middle+.

Вчера я получил письмо с отказом:

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

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

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

Вышел NATS.go 1.45 - Go-клиент для системы обмена сообщениями NATS.

Ключевые изменения:

  • В Core NATS добавлена обработка превышения максимального количества активных подключений к учетной записи

  • В JetStream добавлена опция WithExpectLastSequenceForSubject для логики публикации

  • Добавили тесты на проверку обновлений KV TTL watcher

  • Исправлено несколько ошибок

GitHub: https://github.com/nats-io/nats.go

ChangeLog: https://github.com/nats-io/nats.go/releases/tag/v1.45.0

Теги:
Рейтинг0
Комментарии0

Приглашаем на Alfa CTF 2025, соревнование по спортивному хакингу

Альфа-Банк приглашает специалистов и студентов в области информационной безопасности принять участие в соревновании по спортивному хакингу Alfa CTF, которое пройдет 13–14 сентября 2025 года в 2-х форматах: онлайн или офлайн по дополнительной регистрации в IT-хабах Москвы, Санкт-Петербурга и Екатеринбурга

Участники будут соревноваться в формате Capture The Flag (CTF), решая практические задачи на поиск уязвимостей и эксплуатацию различных сценариев атак. Призовой фонд — 3 100 000 рублей. Максимальный приз для одной команды — до 450 000 рублей.

Участники могут выбрать один из трех треков:

⚡️IT-трек — для ИТ-специалистов, кроме тех, кто работает в кибербезопасности, разработке ИБ-продуктов или уже 5 раз участвовал в соревнованиях формата CTF. Команда: 1–4 человека.

⚡️Студенческий трек — для учащихся вузов и колледжей 18–25 лет, кроме обучающихся на группе направлений «10.00.00 Информационная безопасность» и тех, кто уже 5 раз участвовал в соревнованиях формата CTF. Команда: 1–4 человека.

⚡️CTF-трек — для специалистов по ИБ и опытных CTF-игроков. Размер команды не ограничен. Этот трек открыт для всех, кто готов к сложным заданиям.

Для участия необходимо зарегистрироваться на соревнование по ссылке, определиться с форматом участия — индивидуально или командой (если вы не можете найти напарников, мы вам поможем и объединим с другими игроками), выбрать соответствующий трек и участвовать в решении задач в течение двух дней соревнования.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Представлен промпт, который заставит ИИ общаться как человек. Пользователь Reddit сочинил запрос, чтобы приручить любую нейросеть. Даже GPT-5 начинает болтать, как живая, и выдавать стройные, логичные рассуждения в непринуждённой беседе.

Теги:
Всего голосов 3: ↑1 и ↓2+1
Комментарии0

Grafana «по-русски»: обзор и настройка «Графини»

В эту пятницу в 20:00 по мск присоединяйтесь к первому демо «Графини» — российского решения для визуализации, мониторинга и анализа данных.

Спикеры:

🔵 Дмитрий Унтила, CPO продукта «Пульт».
🔵 Георг Гаал, независимый эксперт.

📺 Прямая трансляция пройдет на YouTube-канале FIDELINA.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Рег.облако запускает ИБ-услуги

Снова делимся важным апдейтом! Рег.облако выходит на рынок информационной безопасности.

Новая ИБ-линейка на первом этапе запуска будет включать три комплексных продукта:

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

Основная цель — сделать такие услуги максимально доступными для малого и среднего бизнеса. Например, провести полноценный аудит информационной безопасности для инфраструктуры в 5-7 серверов можно начиная от 50 тыс. рублей.

Подключить ИБ-услуги уже можно на сайте

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Узнайте, как с помощью RAG дать AI-агенту релевантную информацию из ваших документов и избавить его от галлюцинаций 🤖

📆 Когда: 28 августа в 11:00 мск

📍 Где: онлайн

На вебинаре расскажем, как правильно подготовить документы с информацией для агента, где все это хранить, а еще — как настроить обработку данных так, чтобы LLM не пришлось дообучать, а ответы при этом стали лучше. Работу с RAG рассмотрим на примере сервиса Evolution Managed RAG.

О чем поговорим:

  • как используем RAG в Cloud.ru — опишем реальный кейс;

  • как управлять данными и версионировать базы знаний;

  • как работает Evolution Managed RAG и какие у него возможности;

  • проведем демо и покажем бота в Telegram, который отвечает на вопросы на основе ваших данных.

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

Зарегистрироваться 👈

Теги:
Рейтинг0
Комментарии0

вот код, позволяющий создавать экземпляры экземпляров:

const Cstr = function () {
    const Self = function () {};
    Object.setPrototypeOf(Self, this);
    return Self;
};

const item = new Cstr;

console.log('item instanceof Cstr : ', item instanceof Cstr);

const itemInstance = new item;

console.log('itemInstance instanceof item : ', itemInstance instanceof item);

вот Gist где кода больше и лучше, там экземпляры вглубину тоже наследуются, но там намного соложней и очень долго, зато 200 строк console.log'ов :
https://gist.github.com/wentout/8a2631fd5cc5827df5946b9b6598bf99

вот статья про этот код, но там душно, и форточки закрыты:
https://habr.com/ru/articles/939050/

; ^ )

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии2