fq - это инструмент, язык и декодер для работы с двоичными данными. Конечная цель проекта — объединить в одном инструменте функции jq, hexdump, dd и gdb.
Инфостарт перезапустил «Большой опрос 1С-сообщества» — ежегодное исследование, которое помогает понять, как за несколько лет меняются роли, инструменты и реальные практики вокруг 1С.
Хотя в опросе участвуют не только разработчики, для тех, кто пишет код и ведёт проекты, это тоже полезный срез: можно увидеть, чем живёт рынок, какой стек и подходы становятся привычными, а какие постепенно уходят на второй план.
Проект стартовал в 2022 году, тогда в исследовании поучаствовали 10 672 специалиста. В 2023 — 7 887. Опрос 2024 года сознательно не проводили: команда пересобрала методологию и формат, чтобы результаты разных лет можно было сравнивать корректно, без эффекта «вроде похоже, но непонятно, что именно изменилось».
В версии 2025 года обновили саму анкету: уточнили формулировки, расширили варианты ответов и добавили блок про использование ИИ-инструментов в разработке и работе с 1С — от повседневных задач до более сложных сценариев. А главное — после заполнения участник сразу получает доступ к интерактивной аналитике и может сравнивать данные за 2022, 2023 и 2025 годы.
В итоге опрос превращается не только в источник статистики, но и в практичный инструмент, который позволяет быстро сопоставить собственный опыт с тем, что происходит в сообществе.
Заполнение занимает примерно 5–10 минут, после отправки анкеты система автоматически перенаправит на страницу с результатами. Сбор ответов идёт до конца января 2026 года, возможно продление до конца февраля, после чего исследование за этот цикл будет закрыто.
ИИ всегда радикально тупее специалиста и по любой теме не более чем вводитель в заблуждения.
Мое пользование ИИ разных производителей привело за пару лет к некоему выводу. Я являюсь профессионалом в нескольких предметных областях. И вот во всех них что несет ИИ кажется мне глубокой чушью. Рассуждения малограмотного бездаря по теме в которой он вовсе не в курсе но очень хочет поговорить. А вот в тех областях в которых я мало что понимаю ИИ выглядит вполне таким грамотным и разумным. Но со всей очевидностью я понимаю, что в этих мало знакомых мне областях есть свои специалисты и уже они когда обращаются к ИИ видят в них откровенных дураков и лживых бездарей. А в итоге если сложить всех специалистов и дать им оценить ответы ИИ то выясняется, что все эти модели создают лживых и малограмотных дилетантов, пригодных только для того чтобы морочить голову по темам в которых пользователь не разбирается.
WT IndexNow плагин для Joomla - отправка страниц сайта на переиндексацию в поисковые системы.
Пакет плагинов, обеспечивающий ручную и автоматическую отправку url адресов Joomla в поисковые системы на переиндексацию по протоколу IndexNow.
Согласно документации протокол поддерживают все крупнейшие поисковые системы, кроме Google. Протокол служит для получения от сайтов URL, которые нужно переиндексировать заново или проиндексировать в первый раз как можно быстрее. Отправка адресов сайта таким образом существенно ускорит индексацию нового или изменённого контента поисковыми системами.
Поисковые системы по этому протоколу обмениваются друг с другом данными, поэтому отправив URL в одну из них вы сообщаете их сразу всем.
Протокол IndexNow поддерживают:
Amazon
Microsoft Bing
Naver
Seznam.cz
Yandex
Yep
Суточный лимит URL - 10000 в сутки. Возможна отправка вручную и автоматически. Пакетом поддерживаются:
материалы и категории материалов Joomla
контакты и категории контактов Joomla
SW JProjects - компонент каталога расширений для Joomla
JoomShopping - компонент интернет-магазина для Joomla
Тестирование сегодня — это не просто «проверить, как работает», а «понять, как будет работать лучше». ИИ, аналитика, автоматизация, диалог с командой — инженер по тестированию стал одной из ключевых фигур в создании продуктов.
Мы поговорили с нашими тестировщиками Дашей и Алёной о том, какие навыки особенно важны, какие технологии меняют подход к работе и как развиваться в профессии, где все постоянно меняется.
Что происходит с профессией?
Тестировщики все чаще подключаются на этапе проработки аналитики, еще до реализации фичи. Уточняют детали и находят пробелы в логике — это помогает избежать багов на старте.
Ручное тестирование тоже постепенно меняется — в приоритете исследовательский подход: важно не просто слепо следовать кейсу, а использовать нестандартные методы проверок, которые помогут отловить скрытые ошибки.
Почему ИИ — главный тренд?
ИИ — отличный рабочий инструмент, а не просто модный тренд. Например, его можно использовать при написании автотестов и тест‑кейсов, а также для разбора логов и поиска ошибок в скриптах. Но важно понимать, что ИИ не заменяет эксперта — он расширяет возможности.
Какие навыки важны?
Чтобы быть полезным тестировщиком, важно развивать как технические, так и гибкие навыки:
Внимательность, критическое и системное мышление — чтобы видеть не только конкретную ошибку, но и ее влияние на продукт в целом.
Английский язык — чтобы читать логи, понимать настройки.
Информационная безопасность — чтобы понимать принципы защиты данных, шифрования и как избежать утечек.
Что еще необходимо?
REST, HTTP, Linux, Docker — это основа, особенно если вы работаете с DevOps‑задачами. Чтобы глубже тестировать инфраструктурные задачи, полезно пройти курсы и прокачать навыки.
Работа в команде и инициативность — в любой задаче важно уметь взаимодействовать с разными ролями: аналитиками, разработчиками, другими тестировщиками. Тестировщик не просто проверяет — он помогает команде находить и устранять слабые места.
Как развиваться тестировщику?
Развитие через практику и обмен опытом
Новые подходы можно черпать на конференциях, например, Heisenbug, SQA Days. Дополнительное развитие — брать задачи не только по тестированию, но и по улучшению процессов, участвовать в аналитике, работать над задачами смежного продукта, тестировать мобильное приложение. Наставничество также помогает расти — учишься вместе с теми, кого поддерживаешь.
Развитие через ИТ-сообщество и техбазу
Начинающим тестировщикам будут полезны материалы Артёма Русова. У него есть сайт и тг-каналы: @qachanell, @qa_sklad.
Развиваться помогают и внутренние ресурсы в компании: коллеги делятся опытом, обсуждают кейсы, рассказывают, как решают задачи. Если у вас в компании есть что‑то подобное — не упускайте. Это классный способ расти и смотреть на профессию шире.
Компания «Форсайт» представляет новый релиз своего флагманского программного продукта - «Форсайт. Аналитическая платформа» 10.10!
Новая версия 10.10 – это STS-релиз для быстрого развития (Short Term Support), промежуточный выпуск, который включает новые функции перед их интеграцией в релиз с долгосрочной поддержкой. В версии 10.10 много новых возможностей для визуализации данных в веб-приложении. Мы сделали удобнее инструмент Self-Service BI – информационные панели: • добавили гибкую настройку элементов управления • реализовали настройку параметров вложенных объектов • добавили в табличный визуализатор условное форматирование и закрепление строк
Мы расширили возможности регламентных отчетов и форм ввода в вебе: • стало удобнее работать с диаграммами и формулами • мастер функций пополнился новыми функциями • расширены возможности настройки печати • при вводе формулы в строку формул и ячейку таблицы появилось отображение подсказок • реализовано отображение окна подтверждения перед сохранением и отменой изменённых данных
Что еще нового в релизе 10.10? • расширены возможности администрирования приложений • расширена функциональность менеджера обновлений • реализован новый API платформы для разработки прикладного приложения в системных сборках: Dashboard, Express, Fore, Metabase, RDS, WebForms
Напоминаем, что начиная с выпуска «Форсайт. Аналитическая платформа» 10.11 LTS (апрель 2026 года): • в стандартной поставке будут отсутствовать настольное приложение для настройки платформы и Конструктор бизнес-приложения версии 9.x; • будет прекращена поддержка платформы на Astra Linux SE 1.7 в связи с прекращением её поддержки производителем. Подробнее о новой версии читайте здесь.
Программист Тирекс написал праздничное веб-приложение с обратным отсчетом до Нового года и хочет поздравить им всех коллег. Приложение уже собрано: в директории web находятся готовые статические артефакты (HTML, JavaScript и изображения). У Тирекса есть TLS-сертификат и приватный ключ, и он хочет, чтобы приложение работало по HTTPS.
Задача
Нужно упаковать приложение в Docker-контейнер, чтобы его можно было легко запускать на любом сервере, и сделать доступным из интернета. Времени у Тирекса осталось совсем немного!
Философия IT-собеседований: взгляд разработчика и DevOps-инженера
Привет, Хабр! Мой пост носит дискуссионный характер. В веб-разработке, администрировании и DevOps я уже 17 лет. Долгое время работал «на себя», оказывая помощь клиентам, с которыми выстроены надёжные взаимоотношения, но текущие реалии рынка подтолкнули к поиску работы по ТК, об этом я и хочу поговорить.
Обо мне: 40 лет, из которых 17 лет в коммерческой разработке. Прошел долгий путь как в fullstack-разработке (web), так и в создании embedded-решений (каршеринг), администрировании и DevOps.
Раньше мой процесс найма редко выходил за рамки одного интервью. Сейчас же я регулярно сталкиваюсь с многоступенчатыми отказами, иногда даже на этапе HR-скрининга. Этот контраст заставил меня задуматься: что делает найм эффективным, а что превращает его в фарс? Решил систематизировать свои наблюдения и поделиться тем, что в современных собеседованиях кажется здравым, а что — откровенно лишним.
Описываю позитивные практики, с которыми сталкивался, практики за которые я уважаю потенциальных работодателей и команды. Это парадигма, в которой я вёл деятельность с начала карьеры.
Диалог на равных. Мое лучшее интервью: техлид не мучил теорией, а предложил обсудить реальную дилемму, которую он решает в данный момент (внедрение NoSQL-хранилища ради одного специфичного сервиса, т.е. доп. точка отказа vs производительность). Без таймера и стресса мы искали решение. Итог — оффер и годы отличной работы.
Проверка логики, а не памяти. Люблю кейсы в духе: «Вот дано А, почему происходит Б?». Из банального: может ли Вася из другого города достучаться до вашего локального IP? Это показывает понимание базы лучше любого теста.
Ценность универсальных знаний. Универсальные знания долгое время позволяли быстро находить решение практически любой проблемы от хардверной, до нарушения самых элементарных паттернов проектирования в коде и эффективно их устранять. Мне нравятся задачи, где проблема может быть скрыта на любом уровне и нравятся клиенты, понимающие, как я могу снять их головную боль обеспечив работоспособность ПО в любой среде и условиях.
А теперь я хочу описать то, от чего меня бомбит. Это факторы которые будут отпугивать меня вплоть до момента, когда будет нечего кушать и я буду вынужден прогнуться под выгодное предложение.
Лайвкодинг. В 40 лет написание кода для меня — процесс интимный... хотя я практикую парное программирование в реальной команде и это мне нравится, но в предвкушении собеседований иногда хочется "психануть" и на предложение выбрать время для лайвокдинга сказать — "предлагаю парное программирование с одним из ваших специалистов, ведь для меня тоже важно, с кем я буду вести разработку". (Не пробовал так отвечать, но попробую, как только выдастся случай).
Вакансии-обманки. Зачем заманивать стеком DevOps (Linux, Nginx, Ansible, Terraform, Puppet, Docker, Kubernetes, MySQL, PostgreSQL, Elasticsearch, Logstash, Kibana, Zabbix), если по факту сообщаете, что ничего этого не будет, а ищите классического сисадмина 9-18? — Давайте адкеватный запрос, а не тратьте время.
Терминологическая каша. Сложно отвечать экспертно, когда интервьюер путает CI и OCI или Redis и Rabbit. Если нет погружения в контекст, конструктивного диалога не выйдет. Готовиться к собеседованию должен не только соискатель, но и тот, кто нанимает.
Отсутствие пунктуальности. Для меня было шоком, что фаундер может просто не явиться на собседование, или рекретер забывает о диалоге и назначенной встрече. У вас там всё нормально?) Хотя рекрутер мало чем отличается от агента недвижимости, но фаундер забывающий про собеседование для меня персонаж странный.
Узкая специализация. Раньше, как мне кажется, ценилась универсальность, способность разработчика понимать инфраструктуру, а инженера/админа — код. Сегодня индустрия уходит в жесткую сегментацию, видимо, для более точного просчёта рисков. А я считаю, что именно универсальность — это страховка проекта от того, что решение будет принято в вакууме одного стека, без учета общей картины.
В партнерском материале расширяются результаты нагрузочного тестирования из статьи «Нагрузочное тестирование GP6 vs GP7 vs Cloudberry» и презентуются результаты тестирования YMatrix. Это дополнение к предыдущей статье, призванное сформировать понимание сравнимости результатов различных форков GreenPlum.
От трейдера в хедж-фонде до продакт-оунера в Финаме: как искать «альфу», собирать портфели и зачем нужны хитрые ордера
Представляем новый выпуск подкаста.
Наш гость - Эмиль прошел путь от финансового инженера в Швейцарии до трейдера в алгоритмическом хедж-фонде, а теперь руководит развитием TradeAPI в Финаме. В этом интервью мы разбираем:
что такое финансовый прайсинг и как ищут рыночную неэффективность («альфу»)
как работает алгоритмический хедж-фонд изнутри и почему там ценят бесконфликтность больше, чем гениальность
переход из трейдинга в продукт: чем занимается продакт-оунер в финтехе и как общение с клиентами формирует новый функционал
что такое TradeAPI, кому он нужен и какие «хитрые ордера» появятся в будущем
может ли ИИ заменить трейдера, почему бэктесты часто врут и стоит ли бояться, что вашу стратегию украдут
учеба в Швейцарии, работа ассистентом профессора и почему лучшие знания получаются не на лекциях, а в личном общении.
Полезно для всех, кто интересуется финансами, финтехом, трейдингом и карьерой в IT-продуктах.
Как разделить строку в Python: «split()» и альтернативы для разработчиков и аналитиков данных
Разделение строк — рутина для разработчиков и аналитиков: парсинг CSV, обработка логов, пользовательского ввода. Подготовили подробный обзор, где разобрали, как работает «split()» (включая «sep» и «maxsplit»), когда выбирать «partition()/rpartition()», «splitlines()», преобразование в список символов и «re.split()» для сложных правил. И добавили практические примеры, где и какой подход удобнее и надежнее применять.
Запуск GitLab Runner в Yandex Cloud Serverless Containers
Я Павел Елисеев, старший разработчик в команде Serverless в Yandex Cloud. Мы реализовали сценарий использования сервиса — Serverless GitLab Runner. В посте покажу архитектуру и поделюсь кодом решения.
GitLab Runner — агент, выполняющий задачи (jobs) из CI/CD‑пайплайнов GitLab. Он получает инструкции от GitLab, запускает сборку, тесты или деплой в нужной среде и передаёт результат обратно.
Раннер работает в разных окружениях:
на общих серверах GitLab (shared runners);
на выделенных VM;
в K8s‑кластере.
В первом варианте репозитории должны размещаться на gitlab.com. В случае Managed GitLab или self‑hosted GitLab развёртывание выполняется самостоятельно.
Для shared‑раннеров free‑tier ограничен 400 мин./мес. Учёт идёт по формуле (duration × price-factor), так что число доступных минут зависит от используемого типа раннера. А за пределами лимита нужна привязка не российской банковской карты.
Serverless‑сценарии пытались реализовать на Cloud Functions, что требовало отдельной VM и сложной конфигурации. А мы хотели объединить плюсы serverless‑модели с CI‑задачами:
оплата за время
масштабирование за секунды
изоляция выполнения
отсутствие инфраструктурной рутины
Архитектура
GitLab Runner работает по модели pull: запускает процесс, устанавливающий long‑polling‑соединение с GitLab API, и ожидает появления задач.
Пришла задача — раннер выбирает executor:
shell — job выполняется в текущем окружении
docker — под job создаётся отдельный контейнер со всеми зависимостями
Эта модель плохо подходит для serverless‑окружения, где нельзя держать постоянно активный процесс.
Для перехода на push‑модель используем GitLab Webhooks — HTTP‑уведомления о событиях. С появлением задач GitLab отправляет вебхук в Serverless Container, который:
запускает раннер;
получает информацию о задаче;
выполняет её и возвращает результат в GitLab.
Так, выполнение задачи инициируется событием, а не постоянным опросом API.
Для упрощённого развёртывания есть лёгкий образ раннера с поддержкой docker-executor, размещённый в Container Registry. Раннер автоматически загружает и запускает контейнер, указанный в конфигурации job. Секреты для аутентификации в GitLab API хранятся в Lockbox.
GitLab требует от обработчика вебхуков быстрого ответа без ошибки. А выполнение задачи может занимать часы. Поэтому вебхуки обрабатываются асинхронно:
GitLab отправляет вебхук.
Платформа проверяет авторизацию и сразу отвечает 202 Accepted.
Обработка выполняется асинхронно в фоне.
Платформа решает, запускать ли новый экземпляр контейнера. Когда job завершается, контейнер остаётся активным какое‑то время, чтобы обработать вызовы без cold‑start.
GitLab не отправляет событие «создание job», поэтому раннер сперва проверяет, есть ли задачи со статусом pending.
Для docker‑executor требуется dockerd. Инициализация демона и подготовка окружения выполняются 1 раз при старте контейнера. Если job найдётся, запускается эфемерный раннер, исполняющий ровно 1 задачу.
Раннер загружает docker‑образ, выполняет команды, передаёт результат обратно через GitLab API.
Docker внутри Serverless Containers. Это не Docker‑in‑Docker: внутри serverless‑контейнера jobs исполняются без отдельного демона Docker, но с аналогичной логикой. Примеры есть в исходном коде.
Важные особенности serverless‑подхода
Эфемерность: кеш между вызовами отсутствует. Для хранения артефактов используйте Object Storage или свои базовые образы.
Загрузка образов: выполняется при каждом запуске. Рекомендуем использовать оптимизированные образы и близкий реестр (Cloud Registry), а при критичных требованиях к скорости старта — перейти на shell‑executor, собрав образ с установленным раннером и нужными зависимостями.
Ограничение времени: не более 1 часа. Для длинных задач разделите пайплайн на этапы с промежуточным сохранением результатов.
Ограничение по диску: до 10 ГБ.
Сценарий Serverless GitLab Runner позволяет выполнять CI/CD‑задачи GitLab, оплачивая лишь время выполнения job. Serverless Containers дают возможности для CI‑нагрузок: асинхронные вызовы, часовой таймаут, эфемерный диск и поддержку docker‑executor внутри контейнера.
Как быстро перейти в конец текущего столбца с данными?
Достаточно нажать Ctrl + ↓ (⌘ + ↓).
Ctrl + ↑ (⌘ + ↑) перемещает в начало текущего столбца.
Ctrl + → (⌘ + →) переносит в конец текущей строки, а Ctrl + ← (⌘ + ←) — в начало.
Важно: если в столбце есть пустые значения, курсор будет прыгать не в конец столбца, а на последнюю заполненную строку текущего блока данных. При повторном нажатии он перепрыгнет на первую заполненную строку следующего блока данных и т.д.
Проект с открытым исходным кодом bookhunter позволяет охотиться за книгами. Не нужно искать по сети и натыкаться на ограничения. Решение имеет удобный интерфейс.
Еще один вариант маршрутизации трафика через два сетевых интерфейса на основе списка доменных имен.
Сразу оговорюсь: все лучшие и хорошие варианты решения этой проблемы уже были рассмотрены на Хабре. Но для тех, кто использует linux и кого существующие варианты почему-либо не устраивают, предлагаю рассмотреть еще один.
Краткое содержание: ставим локальный dns resolver с плагином на python, который, при разрешении имени в адрес, устанавливает маршрут через альтернативный интерфейс, если адрес соответствует регулярному выражению. Для использования решения требуется умение сконфигурировать и запустить сервис в вашем любимом дистрибутиве/сервис-менеджере, готового пакета для установки нет.
Для реализации идеи нужен ДНС сервер, который позволяет достаточно просто писать плагины/хуки. Первым попавшимся на глаза был PowerDNS Recursor, который позволяет писать плагины на lua. И первая реализация была для него. Но lua это больше про компактность, чем про удобство, например, поддержку регулярных выражений можно так назвать только из вежливости. Тем не менее, всё работало как предполагалось, и достаточно надежно, пока не был найден Unbound DNS который позволяет писать плагины на python, и, в итоге, был написан аналог на питоне, который и предлагаю вашему вниманию.
Файл reroute.conf: пример файла конфигурации ДНС сервера. 192.168.0.1 и 172.16.17.1 — это адреса маршрутизаторов для первого и второго интерфейсов, соответственно. /etc/unbound/reroute.py — собственно плагин выполняющий основную работу. Из существенных моментов: chroot необходимо отключить, чтобы могли нормально работать скрипты на python и сервис должен работать от root чтобы добавлять маршруты.
Файл reroute.py — плагин, который выполняет необходимые дествия, reroute_conf.py — файл конфигурации для плагина, можно записать оба параметра прямо в плагин и обойтись без него. Вся работа выполняется в функции do_reroute, весь остальной код взят, практически без изменений, из документации unbound dns.
Файл rrdomains.txt — список регулярных выражений в формате python regex, при совпадении с которыми для всех ip-адресов разрешаемого доменного имени выполняется установка альтернативного маршрута.
Файл bashrc содержит определение функции reroute. Если во время работы наткнулись на сайт, для которого необходима маршрутизация через второй интерфейс, можно воспользоваться быстрым перенаправлением с помощью команды reroute в терминале. Или добавить доменное имя или регулярное выражение для него в rrdomains.txt и перезапустить dns сервер.
Хотите сделать flipper zero своими руками? Тема неоднократно поднималась в коментах, горячие головы утверждали что это под силу радиолюбителю. Но применяемая серия микроконтроллеров stm32wb55 имеет корпуса которые обычным паяльником не запаять, плюс схемотехника обвязки и антенны на 2.4ГГц требует некоторых знаний и умений. Можно конечно сделать плату на заказ, однако некая WeAct Stuido предлагает готовые платочки (на stm32wb55 - правда с их ассортиментом придется разобраться) в формате black/bluepill. и гораздо дешевле flipper. Модули с нужным SD,LCD, NFC и СС1101 тоже есть в продаже. Мысль сделать франкенфлиппера (хотя флиппер еще тот франкенштейн по лору) меня посетила уже давно. Для разных задач можно даже не подпаивать все модули. Но смущало что вероятно придется подкручивать gpio (будет несовместимость) плюс необходимость secure keys меня остановила.
Однако нашлись смелые люди. На днях некий Yellow Purple опубликовал два хороших видео где показана сборка diy flipper zero из подручных материалов. Именно flipper а не далекого аналога на esp32. Знания языка для их понимания не требуется - все показано визуально. правда потребуются иные знания и навыки.
Разработчики из РФ замучили мошенника, заставив его проходить бесконечную капчу. Скамер притворился главой одной российской компании и писал на английском. Сотрудники компании должны были отсканировать подарочные сертификаты на его сайте на 1500 евро. Оказалось, в эту игру можно играть вдвоём. Разрабочтики сделали вид, что поверили обманщику и скинули ему ссылку на файлообменник, состряпанный на скорую руку. Идея которого заключалась в бесконечной капче. Бедолага пытался пройти её 1,5 часа, но ничего не выходило. А разработчики добавили ещё и верификацию по видел, которую скамер тоже начал проходить.
OpenAI теперь позволяет пользователям напрямую регулировать уровень энтузиазма ChatGPT. Пользователи могут настраивать теплоту, энтузиазм и использование эмодзи чат-бота. Эти параметры (а также аналогичные настройки использования заголовков и списков в ChatGPT) теперь отображаются в меню «Персонализация» и могут быть установлены на «Больше», «Меньше» или «По умолчанию». Они позволяют пользователям дополнительно настраивать тон ChatGPT, помимо существующей возможности установить «базовый стиль и тон» — включая профессиональный, откровенный и необычный тона, которые OpenAI добавила в ноябре.
Тон ChatGPT был постоянной проблемой в этом году: OpenAI отменила одно обновление из-за того, что оно было «слишком льстивым», а затем скорректировала GPT-5, сделав его «теплее и дружелюбнее» после жалоб некоторых пользователей на то, что новая модель стала более холодной и менее дружелюбной.