Обновить

Защита сайта от ботов в 2026 году: где бизнес теряет деньги и что с этим делать

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

Читать далее

Настройка GRE-туннеля и OSPF на маршрутизаторах Eltex: детальное руководство с примерами

Уровень сложностиПростой

Настройка GRE-туннеля и OSPF на маршрутизаторах Eltex: детальное руководство с примерами

Когда перед инженером встаёт задача связать два географически разнесённых офиса через общедоступную сеть (или частную MPLS/VPN), первое, что приходит на ум — использовать туннелирование. Существует несколько технологий: IP-in-IP, GRE, VXLAN и другие. В этой статье я поделюсь опытом настройки GRE-туннеля между двумя площадками (назовём их Router 1 и Router 2) на оборудовании Eltex, а также покажу, как поднять динамическую маршрутизацию OSPF поверх этого туннеля. Материал рассчитан на тех, кто уже немного знаком с CLI Eltex, но хочет разобраться с нюансами.

Читать далее

Настройка динамической трансляции адресов (NAT) в корпоративных сетях: от Linux до Cisco

Уровень сложностиПростой

Привет, Хабр! Сегодня поговорим об одном из ключевых элементов сетевой инфраструктуры — трансляции сетевых адресов (NAT). В частности, рассмотрим, как настроить динамическую NAT (Source NAT) для обеспечения доступа внутренних хостов в интернет. Тема актуальна как для администраторов небольших офисов, так и для инженеров, обслуживающих распределённые сети с несколькими площадками. Мы разберём два типовых сценария: настройку SNAT на сервере Linux и на маршрутизаторах класса Enterprise (на примере конфигурации, близкой к Cisco). Материал будет полезен для подготовки к экзаменам и реальной работе — здесь вы найдёте не только команды, но и пояснения, почему и зачем они выполняются.

Читать далее

Docs as Code: документация, которая живёт вместе с кодом

Уровень сложностиПростой

Это перевод статьи с opensource.com, которая мне показалась особенно полезной и практичной, поэтому решил поделиться адаптированной версией для русскоязычной аудитории. Оригинал доступен по ссылке: https://opensource.com/article/22/10/docs-as-code

В статье разбирается подход Docs as Code — способ встроить документацию в процесс разработки так, чтобы она проходила через Git, ревью и автоматическую сборку вместе с кодом. Материал будет полезен разработчикам, тимлидам и тем, кто выстраивает инженерные процессы в команде.

Читать далее

Как настроить корпусные вентиляторы по температуре GPU Hotspot и CPU в FanControl

Уровень сложностиПростой

В большинстве ПК корпусные вентиляторы управляются только по температуре процессора.

А главный источник тепла в современных системах — видеокарта.

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

В этой статье подробно рассмотрим настройку FanControl, при которой корпусные вентиляторы учитывают температуру CPU и GPU Hotspot и автоматически выбирают обороты, ориентируясь на самый горячий компонент.

Читать далее

Как я задолбался переносить код из DeepSeek в Claude и написал свой «мост» для ИИ-чатов

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

Сейчас мой основной воркфлоу — это связка разных нейросетей. Например, я делаю тяжелую разработку и кручу архитектуру в DeepSeek, а потом мне нужно перенести этот контекст в Claude 3.5 Sonnet или ChatGPT для рефакторинга или написания документации. И тут начинается ад.

Проблема: Чат разрастается. Копипастить руками сотни строк кода вместе с промптами — мучение. Стандартные расширения просто сваливают всё в кривой PDF-файл или грязный текст, в котором новая целевая нейросеть моментально путается, теряя нить рассуждений.

Решение: В итоге я психанул и собрал PolyCode Chat Saver — кроссплатформенный мост для переноса контекста между ИИ.

Это браузерное расширение, которое не просто «копирует текст». Оно работает с DOM-деревом 11+ разных платформ (DeepSeek, Claude, ChatGPT, Gemini и др.) и делает главное:

Читать далее

Установка Windows 11 на Raspberry Pi 5 (26100.2033, фикс UEFI)

Уровень сложностиПростой

Этот туториал для тех, кто не мог запустить Windows 11 на Pi 5, получая ошибку 0xc0000225, просто чёрный экран после запуска или вообще нерабочий UEFI. На протяжении 2-3 месяцев, ещё с ноября, я пытаюсь установить Windows, но UEFI никогда не мог загрузиться, а в troubleshooting люди говорят: "Зачем кому-то Windows без драйверов вообще, сиди лучше на линуксе". Честно, это меня огорчило, потому что иметь Windows всё-таки хотелось, даже просто так.

С этим туториалом вы получите 100% шанс запуска UEFI и Windows, ибо других актуальных вариантов попросту нет. Этот туториал годится и на старые версии Windows, но новейшая в приоритете.

Читать далее

Как я не нашёл нормальную альтернативу WinSSHTerm на macOS, психанул и написал свою

Уровень сложностиПростой

После перехода на macOS я не нашёл SSH-клиент, который закрывает мой ежедневный сценарий так же удобно, как WinSSHTerm.

Устал от постоянных компромиссов, сформулировал требования, собрал свой клиент и выложил код в open source.

Репозиторий

Читать далее

Около гипотезы Гольдбаха

Уровень сложностиСредний

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

Читать далее

«Я хотел код, которым можно гордиться»: как я забросил Python, выучил Стивенса и написал демон-сервер на C с нуля

Уровень сложностиПростой

Это история не про очередной пет-проект для галочки. Это история про поиск «своего» уровня сложности.

Читать далее

Настройка iGPU (Arc graphics) Core Ultra 7 155H в Proxmox

Уровень сложностиСредний

Всем привет!

Заранее прощу прощения, это мой первый пост на Хабре. Который возможно кому то будет полезен.

Однажды в известном китайском была хорошая цена на такое устройство с довольно мощным CPU (Intel Core Ultra 7 155H).

Читать далее

kata — библиотека для оркестрации многошаговых операций в Go

Уровень сложностиСредний

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

Это выглядит примерно так:

Читать далее

Безрекурсивный алгоритм обхода N-мерных деревьев Константина Тарасенкова

Уровень сложностиПростой

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

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

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

Каждая нода дерева возвращает правду (t) или ложь (f) -- нужно ли продолжать обход ветвей этой ноды или нет.

Наша цель, которую мы хотим найти, это правда (t) в конечной ветви дерева, которая в данном примере находится только в ноде под индексом 3.

В данном примере, дерево и его ноды выглядят так:

........... 0t ..........

.... 1t ....... 2t .....

.. 3t 4f ... 5f 6f ..

Для вычисления алгоритма дополнительно требуется только одно число (итератор, далее будет выглядеть как i) и один массив чисел (далее массив будет выглядеть как [индекс ноды, индекс ноды, ...])

Алгоритм состоит из 5-ти условий, можете пропустить читать их, они будут более понятны чуть позже:

1. Если итератор равен нулю, и текущая нода массива под итератором имеет индекс -1, -- терминация всего алгоритма.

2. Если текущая нода массива под итератором имеет индекс -1, -- декремент итератора на 1.

3. Если текущая нода массива под итератором имеет индекс не -1 и возвращает ложь (f), -- замена индекса этой ноды в массиве на -1, декремент итератора на 1.

Читать далее

Основные паттерны конкурентности в Go: Worker Pool

Уровень сложностиСредний

Проблемы которые можно решить этим паттерном:

1. Если сервис делает 1000 запросов в секунду к базе данных, а она выдерживает только 100, пул воркеров защитит БД от падения.

2. При внезапном всплеске трафика go func() на каждый запрос может создать 100500 горутин и съесть всю память. Пул ограничивает параллелизм.

3. Если у вас есть пул соединений к сокету или файловых дескрипторов, пул воркеров гарантирует, что вы не превысите лимит ОС.

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

Ключевая идея: Ограничение количества одновременно выполняемых операций и повторное использование горутин.

Читать далее

My Science App: Как превратить расчеты в интерактивное научное приложение за 5 минут

My Science App — это open-source low-code платформа, которую я разработал в 13 лет специально для упрощения сложных расчетов, преобразующая текстовые формулы в интерактивные веб-интерфейсы с поддержкой реактивного пересчета данных и динамической визуализации. Инструмент автоматизирует создание полей ввода (#input), расчетных модулей и графиков симуляций (#range, #inx, #outy), позволяя за 5 минут собрать полноценный научный стенд с экспортом результатов в CSV и генерацией ссылок на рабочие модели. Проект ориентирован на быструю проверку гипотез и образовательные задачи, исключая необходимость ручного написания JS-кода или работы в Excel-таблицах.

Читать далее

React Compiler — конец эпохи useMemo?

7 октября 2025 года команда React анонсировала стабильную версию React Compiler 1.0 — инструмент, о котором мечтали разработчики годами. Обещание простое и привлекательное: забудьте про useMemo, useCallback и React.memo. Компилятор всё сделает за вас.

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

Читать далее

Как я устал от того, что локальные ИИ-агенты ломают мои планы, и написал CLI-инструмент для защиты структуры задач

Уровень сложностиСредний

HBT — production-grade CLI для управления иерархическими задачами с защитой от изменений. Идеальный инструмент для работы с LLM, автономными агентами и сложными проектами.

Читать далее

Зачем нам Spinnaker, если есть Python? Как мы написали свой «велосипед» для деплоя в K8s

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

Довольно долгое время мы использовали в своём окружении Spinnaker. Очень удобный, правда старомодный,  инструмент, который справлялся со своими задачами. Однако чем дольше пользовались, тем больше становилось очевидно, что Спиннакер малость избыточен, при этом очень прожорливый в плане потребления ресурсов, и тяжёлый в плане обслуживания и поддержки. Особенно когда перестали выходить новые версии CLI под Mac OS, и управление перешло в Докер контейнер. А уж когда после очередного обновления снова стали падать компоненты из-за нехватки памяти и отвалился SSO, пришло озарение...

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