Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 7 min 36 sec ago

Почему VirusTotal настолько плох?

4 hours 30 min ago

Часто ли бывает, что вы скачали программу с зеленого магазина, залили на VirusTotal, увидели 0 угроз и пошли открывать? Так вот, вирустотал это не детектор вирусов, а фраза 0 угроз после сканирования буквально НИЧЕГО

Как работает VirusTotal и почему его очень ЛЕГКО обойти?

Читать далее

[Перевод] JavaScript: практическое руководство по Blob, File API и оптимизации памяти

4 hours 32 min ago

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

В этом руководстве мы разберем шесть практических приемов работы с Blob, которые помогают обрабатывать файлы эффективно и безопасно:

правильное создание Blob

разбивка больших файлов на части (chunks)

сжатие и конвертация изображений

реализация надежных превью файлов

экспорт данных в виде загружаемых файлов

управление памятью во избежание утечек Blob URL

Цель руководства — сделать работу с файлами быстрой, стабильной и готовой к продакшну.

Читать далее

Кто строит финтех будущего: разбор карты Fintech 100 от CB Insights

4 hours 32 min ago

Ежегодный список Fintech 100 от CB Insights - это не просто подборка «перспективных стартапов», а срез того, как меняется сама архитектура финансовых сервисов. В выпуске 2025 года особенно заметен сдвиг от пользовательских приложений к инфраструктурным решениям: платежным слоям, embedded finance, AI-first системам управления рисками, автоматизации бэк-офиса и институциональному DeFi.

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

Читать далее

GTA VI (опять), пародия на The Sims, Бэтмэн в LEGO и другие: самые ожидаемые игровые релизы в 2026 году

4 hours 32 min ago

2025 вышел богатым на игровые релизы. Геймеры получили Clair Obscur: Expedition 33, Kingdom Come: Deliverance II, Split Fiction, Battlefield 6, Death Stranding 2, Borderlands 4, Hollow Knight: Silksong, переиздание Doom и другие новинки. А вот GTA VI, увы, не получили, хотя именно эта премьера от Rockstar должна была затмить собой вообще все. Что ж, давайте же посмотрим, что нам обещает игровая индустрия в 2026.

Читать далее

Вайбкодерам и Веб-разработчикам на заметку! Список сайтов с готовыми React UI-Компонентами

4 hours 36 min ago

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

В статье представлена подборка ресурсов с качественными и интересными UI-компонентами. Список будет дополняться по мере появления действительно достойных сайтов и сервисов.

Читать далее

АУСН: налоговый оазис или цифровой концлагерь для бизнеса?

4 hours 37 min ago

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

Я хочу посмотреть на АУСН именно с этой точки зрения: как на систему, к которой государство целенаправленно стремится, и которая, по сути, может стать (а по моим наблюдением уже становится) будущим налогового администрирования для малого бизнеса, а в перспективе и для среднего.

Для тех, кто читает меня впервые: за плечами почти 12 лет работы в ФНС, поэтому обозревать этот налоговый спецрежим я буду с позиции бывшего налоговика.

Читать далее

GPT-4o: технический разбор модели, которая взрывает людям мозги

4 hours 52 min ago

Разбираем архитектуру, не пугаем. LLM — полезный инструмент при адекватном использовании. Но если марафоните сутками — это сигнал.

Кризисная линия: 8-800-2000-122 (анонимно, 24/7).

Читать далее

Field vs Constructor Injection в Java: ошибка объектного дизайна или вопрос синтаксиса?

5 hours 4 min ago

Знаю, знаю... Прочитав заголовок, хочется голосом волка из мультфильма "Жил был пёс" сказать - "Шо, опять?" . Ведь битва этих подходов давно закончилась и разработчики Spring уже поставили точку.

Но недавняя публикация в одном довольно крупном Telegram-канале заставила меня вернуться к этому вопросу. В качестве главных аргументов против field injection там приводились лишь сложность изоляции в тестах и неудобство создания экземпляров для unit-тестов.

И хотя с этими пунктами не поспоришь, у многих разработчиков и не только начинающих, остаются вопросы: каковы реальные последствия для самого объекта? Можно ли считать его полноценным сразу после создания new? И почему все современные рекомендации так настаивают на конструкторах?

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

Читать далее

Field vs Constructor Injection в Java: ошибка объектного дизайна или вопрос синтаксиса?

5 hours 6 min ago

Знаю, знаю... Прочитав заголовок, хочется голосом волка из мультфильма "Жил был пёс" сказать - "Шо, опять?" . Ведь битва этих подходов давно закончилась и разработчики Spring уже поставили точку.

Но недавняя публикация в одном довольно крупном Telegram-канале заставила меня вернуться к этому вопросу. В качестве главных аргументов против field injection там приводились лишь сложность изоляции в тестах и неудобство создания экземпляров для unit-тестов.

И хотя с этими пунктами не поспоришь, у многих разработчиков и не только начинающих, остаются вопросы: каковы реальные последствия для самого объекта? Можно ли считать его полноценным сразу после создания new? И почему все современные рекомендации так настаивают на конструкторах?

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

Читать далее

Осторожно, Drop: как невинный деструктор рушит код

5 hours 33 min ago

Сегодня мы поговорим про такую, казалось бы, простую и привычную штуку, как функция drop в языке Rust. Что может быть банальнее?

Создали переменную, и в конце области видимости она сама очистится. RAII за нас делает всю работу, а мы просто выдыхаем и не боимся утечек памяти. Но не все так радужно!

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

Читать далее

Топовые фишки в LaTeX часть 1/4

5 hours 36 min ago

Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 411 классов, а так же автор поста (рекомендую почитать) о ней. Пишу я ее в LaTeX и считаю, что современный учебник не должен быть черно-белым, а так же должен быть удобен для использования и учеником и учителем. Здесь я собрал базовые фишки, которые я использую (что-то чаще, что-то реже). Надеюсь, вы найдете что-нибудь полезное для себя:)

Постараюсь все подробно описать, но не гарантирую идеального кода. Компиляция в основном с помощью pdflatex, но есть места, где требуется lualatex. Для себя я сделал около 35 стилевых файлов для использования в преамбуле, но тут я написал полный код чтобы в каждом случае можно было запустить "из коробки".

Кстати, в следующем посте будут еще <<круче>> функции.

Читать далее

[Перевод] Насколько быстро браузеры могут обрабатывать данные в Base64?

5 hours 53 min ago

Base64 — это схема кодирования двоичных значений в текст, преобразующая произвольные двоичные данные (например, изображения, файлы или любые байтовые последовательности) в безопасную печатную ASCII-строку, состоящую из 64-символьного алфавита (A–Z, a–z, 0–9, +, /). Браузеры применяют эту схему в JavaScript для встраивания двоичных данных непосредственно в код/HTML или для передачи двоичных данных в виде текста.

Недавно в браузерах появились удобные и безопасные функции для обработки Base64: Uint8Array.toBase64() и Uint8Array.fromBase64(). Хоть у них и есть множество параметров, смысл их сводится к кодированию и декодированию.

При кодировании они берут 24 бита из входных данных и разделяют их на четыре сегмента по 6 бит, и каждое 6-битное значение (в интервале от 0 до 63) соотносится с конкретным символом из алфавита Base64: первые 26 символов — это буквы A-Z в верхнем регистре, следующие 26 — a-z в нижнем, затем идут цифры 0-9 и, наконец, символы «+» и «/» в качестве 62-го и 63-го символов. Если длина входных данных не кратна трём байтам, то в качестве заполнителя используется знак «=».

Насколько же быстро могут работать эти функции?

Читать далее

Как работает чистый код

6 hours 6 min ago

Как работает чистый код?

Ниже моё облыжное мнение о том, почему «Чистый код» — чистой воды инфоцыганщина, и почему если вы слышите в аргументации собеседника эти слова — нужно бежать, ведь разговаривать с зомби бессмысленно.

Click to reveal the Clean Rant

[Перевод] Подсмотрел PIN от двери, а затем воткнул Wi-Fi-жучка за принтер — и ты внутри сети банка

6 hours 42 min ago

Проник в банк не через вайфай и не через фишинг — а просто пристроился к аудиторам с улицы. Никто не спросил имени. Никто не проверил. А через час уже сидел у них в сети с рабочим пропуском. Как это случилось — и почему «следовать инструкции» не спасло — в новой статье.

Читать далее

Парсинг тарифов интернета и ТВ: Архитектура БД и бэкенд на SQL

7 hours 14 min ago

За 5 лет работы в B2B и B2C сегментах у телеком-провайдеров я столкнулся с одной из проблем: абоненты годами сидят на архивных дорогих тарифах или пользуются услугами операторов, которые не идут на уступки, не снижают цены на тарифы, пользователи просто не знают, что в их же доме есть альтернативные провайдеры с тарифами более выгодными для них.

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

Сейчас я работаю аналитиком БД, параллельно изучаю архитектуру, построение данных. Решил начать проект с проектирования структуру на PostgreSQL по схеме "Звезда". Таблицей фактов у меня будет таблица со связью города с провайдером, таблицы измерений – таблица с информацией о тарифах, городами и провайдерами.

Читать далее

Автоматизация рутины на hh.ru: Как мы учили Headless Chrome притворяться живым человеком (RPA против Anti-Fraud)

8 hours 2 min ago

С инженерной точки зрения поиск работы — это процесс с низкой энтропией. Есть входящий поток данных (JSON с вакансиями) и есть необходимость отправить ответный сигнал (POST-запрос с откликом). Задача кажется тривиальной для автоматизации: написал парсер, настроил cron, пошел пить кофе.

Однако, если вы попробуете автоматизировать отклики на крупных job-board платформах (особенно на hh.ru) в 2026 году, вы столкнетесь с серьезным противодействием. WAF (Web Application Firewall), анализ TLS-отпечатков, поведенческая биометрия и теневые баны — это реальность, которая убивает скрипты на requests за пару часов.

В этой статье разберем архитектуру решения, которое позволяет автоматизировать процесс отклика, используя подходы RPA (Robotic Process Automation), мимикрию под поведение пользователя (Human Mimicry) и LLM для обхода смысловых фильтров.

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

Читать далее

Upgrade: OpenSpec и Beads в Cursor

9 hours 24 min ago

Разработка с ИИ-ассистентами часто напоминает поездку с талантливым, но забывчивым штурманом. Он отлично знает карту (код), но постоянно забывает пункт назначения (бизнес-задачу) и пройденный маршрут (контекст).

Мы привыкли работать в режиме "Prompt & Pray": написали длинный промпт, получили код, внесли правки. Но на дистанции сложной фичи контекст размывается. Агент начинает галлюцинировать, терять детали или переписывать одно и то же. Проблема не в модели, а в отсутствии долгосрочной памяти и четкого контракта.

В этой статье я расскажу, как превратить хаотичный диалог с Cursor в структурированный инженерный процесс. Мы объединим два инструмента:

OpenSpec - чтобы зафиксировать "что и зачем мы делаем" (Spec-Driven Development).

Beads - чтобы управлять тем, "как и в каком порядке" это выполнять (граф задач).

Cursor - как среду, которая связывает их воедино.

Если вы устали от того, что ИИ теряет нить повествования на середине рефакторинга, этот подход для вас.

Читать далее

Инструмент перехвата медленных запросов StarRocks

9 hours 46 min ago

Практическое руководство по построению сервиса перехвата медленных запросов в StarRocks: правила kill и пороги (full table scan, scan rows/bytes), анализ execution plan, интеграции с Grafana и Feishu, SQL-схемы и YAML-конфигурация для продакшена.

Читать далее

Сбер проник в n8n и фильтрует нам лидов: как мы подключили Отечественную нейросеть к автоматизациям

13 hours 13 min ago

Всё началось с вопроса коллеги: "А GigaChat вообще можно к n8n прикрутить?"

Мы посмотрели в список встроенных интеграций n8n. OpenAI — есть. Anthropic — есть. Mistral, Groq, Ollama — пожалуйста. GigaChat — а вот и нет.

"Ну значит нельзя", — сказал бы нормальный человек и пошёл дальше...

Читать далее

Нюансы Armbian или хроники капризного кристалла

15 hours 32 min ago

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

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

Мой путь лежал через дистрибутив armbian, версию 26.02.0-trunk. Но это был не простой установочный образ, а целый лабиринт, полный не очевидных ловушек и правил, будто составленных загадочным архитектором.

Первый закон: Запрет на чужие земли.

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

Второй закон: Чистота перед творением.

Перед каждым новым актом сборки требовалось ритуальное очищение. Следовало безжалостно стереть временные каталоги: ./cache, ./.tmp, ./output, ./userpatches. Будто стирая следы прошлых попыток, ты даешь пространству для новой магии.

Третий закон: Власть не для корня.

Собирать следовало не под всесильным root, а под основным, смертным пользователем. И файловая система для этого действа предписывалась только ext4 — проверенный временем фундамент.

Четвертый закон: Свобода от докера.

Мне не потребовался Docker. Вместо этого, в определенный момент, когда на экране начинал тикать обратный отсчет, от меня ждали лишь одного: вовремя нажать 'Enter', подтверждая свое присутствие и готовность.

Продолжаем, разговор.

Who's online

There are currently 0 users and 0 guests online.