Обновить

Разработка

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

Как написать свой линтер на Go?

Бэкенд-инженер AvitoTech Вячеслав Овчинников на стриме Go live-Coding разобрал механику линтеров и то, как работать с AST Go-проектов. Слава показал, что создание собственного правила — это не магия, а понятный и довольно увлекательный процесс. На стриме он:

  • написал простой, но полноценный линтер;

  • показал, как парсить AST и анализировать типы;

  • добавил своё правило и нашел проблемные конструкции в коде;

  • подключил линтер к golangci-lint.

Специально для вас мы сделали запись стрима, рекомендуем к просмотру всем, кому интересна тема линтеров на Go.

Запись стрима также есть на YouTube.

В ноябре Александр Кувакин, backend-инженер в команде Engineering Excellence AvitoTech, рассказывал в статье на Хабре о том, как backend-разработчикам выстраивать систему тестов на бэкенде. В тексте Саша разобрал основные проблемы и тесты, которые проверяют бизнес-логику. Почитать можно вот по этой ссылке.

А вот здесь вы найдете еще больше материалов по Go — статьи, видео, подкасты.

Теги:
+25
Комментарии0

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

Не очень важно, продуктовая или проектная деятельность у компании.

Важно именно закрепление ожиданий.

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

Ровно как работу бэкенда часто можно свести к перекладыванию JSON в записи в БД, а записи в БД в XML; или работу фронтенда можно привести к правилам формирования JSON из данных, введённых пользователем в форме (или отображения данных, полученных в JSON от бэка в интерфейсе), работу системного аналитика можно свести к правилам перекладывания JSON’ок.

Но делать это не нужно. Аналитик фиксирует социальный контракт в рамках конкретного проекта или продукта на конкретный временной промежуток.

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

Катаемся по полям в поисках потенциальных уязвимостей

Мы продолжаем писать про то, как развивается наш механизм анализа помеченных данных в Java анализаторе PVS-Studio. В новой статье вы сможете узнать, как мы учитывали поток данных, проходящий через поля, чтобы научиться искать более неочевидные потенциальные уязвимости.

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

  1. Поиск потенциальных уязвимостей в коде, часть 1: теория.

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

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

Теги:
+3
Комментарии0

Вселенная данных: Владимир Сурдин о том, когда цифровой мир встречается с космосом

В новом эпизоде подкаста «Почти всё знают» в гостях у Марины Самойловой и Виктора Корейши астроном Владимир Сурдин.

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

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

Приятного просмотра!

🎧 Аудио
🎧 YouTube
🎧 VK

Теги:
+2
Комментарии0

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

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

ИИ в поддержке: как ИИ меняет Service Desk и дает измеримый эффект

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

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

Вы узнаете:

  • Почему компании переходят от реактивной поддержки к проактивной с помощью ИИ

  • Как посчитать эффект: пример финансовой модели (экономия 23 млн ₽/год)

  • Какая архитектура нужна для ИИ‑автоматизации в поддержке

  • Кейсы ФКУ «Соцтех» и Президентской академии РАНХиГС: подход, внедрение, результаты

Результаты из кейсов:

  • до 70% типовых обращений закрываются автоматически

  • время обработки заявок сокращается в 4 раза

  • «ИИ Анюта» в ФКУ «Соцтех» экономит 857 часов рабочего времени за полтора года

  • 2 секунды на обработку запроса вместо 8–10 минут ручной работы

Авторы:

  • Андрей Вишняков, директор по бизнес‑продуктам SimpleOne (корпорация ITG)

  • Анна Евтюхина, начальник отдела сопровождения развития единой системы техподдержки ФКУ «Соцтех»

  • Сергей Харитонов, директор центра ИТ‑поддержки, Президентская Академия РАНХиГС

Скачивайте полный материал на сайте

Теги:
-1
Комментарии0

React One Click Component

Поделюсь самодельным расширением для VS Code, которое позволяет создавать React-компоненты в один клик.

Демонстрация работы расширения
Демонстрация работы расширения

Что умеет:

  • гибкое именование файлов: выбор между PascalCase, camelCase, kebab-case или snake_case для генерируемых файлов;

  • работа с .tsx и .jsx для файлов компонентов, а также .scss, .css, .less и .sass для стилей;

  • редактируемые шаблоны: настройка содержимого генерируемых файлов прямо в VS Code;

  • опциональное создание файлов реэкспорта и стилей.

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

На всякий случай: ни с какими внешними сервисами и нейронками расширение не взаимодействует)

Теги:
+1
Комментарии0

Как снизить счета за мультиоблако

Как так-то, а?
Как так-то, а?

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

Причин тому 3:

  • Разная тарификация. Один провайдер включает трафик в стоимость ВМ, второй берёт за каждый гигабайт отдельно. Третий считает по часам, четвёртый – по фиксу. Свести все это воедино – задачка со звездочкой.

  • Стоимость межоблачного трафика. Если база живёт в одном облаке, а приложение – в другом, каждый запрос гоняет данные туда-обратно. 

  • Отсутствие прозрачности. Когда никто не знает, во что обходится работа, – это большая проблема. Ведь если не знаешь цифры, то и оптимизировать нечего.

Что с этим делать?

  • Закладывать мультиклауд в архитектуру сразу. Kubernetes, Terraform, инфраструктура как код — это не модные словечки, а реальная защита от vendor lock-in.

  • Считать cost per unit для каждого сервиса.

  • Давать командам бюджеты и показывать реальные цифры. Когда разработчики видят, что их фича жрёт 300 тысяч в месяц, они вдруг начинают задумываться об оптимизации.

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

Есть что сказать по теме мультиклауд? Присоединяйтесь к нашему комьюнити Практики FinOps. Там очень ждут вашего мнения.

Теги:
+1
Комментарии0

Массовая замена HTML-разметки в Sublime Text с помощью RegExp

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

В моём случае это были заглушки вида:

<p>Image 1</p>
<p>Image 2</p>
<p>Image 3</p>

Нужно было превратить их в теги изображений, сохранив номера файлов изображений.

Почему не руками

Ручная правка подходит только для пары строк. Когда элементов больше 10–20, возрастает риск:

  • ошибиться в номере изображения

  • забыть закрыть тег

  • нарушить единообразие разметки

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

Решение через Sublime Text и RegExp

В Sublime Text есть мощный поиск и замена с поддержкой регулярных выражений. Этого более чем достаточно для задачи.

Открываем HTML-файл и вызываем панель замены:

  • Ctrl + H (Windows / Linux)

  • Cmd + Alt + F (macOS)

Обязательно включаем режим Regular Expression (иконка .*).

Шаблон поиска

<p>Image (\d+)</p>

Разберём выражение:

  • <p>Image — фиксированная часть

  • (\d+) — группа захвата, которая находит любое число

  • </p> — закрывающий тег

Число внутри скобок сохраняется как первая группа.

Шаблон замены

<img src="images/\1.jpg">

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

В результате:

  • Image 1images/1.jpg

  • Image 12images/12.jpg

Проверка и замена

Перед массовой заменой полезно нажать Find All, чтобы убедиться, что совпадения находятся только там, где нужно.

После этого можно смело использовать Replace All — Sublime Text заменит все подходящие строки за один шаг.

Подводные камни

Несколько моментов, о которых легко забыть:

  • если не включить RegExp, \1 подставлен не будет

  • в Sublime используется именно \1, а не $1

  • шаблон чувствителен к пробелам и регистру

Альтернативы

Для подобных задач подойдут и другие инструменты:

  • sed в терминале

  • массовая генерация HTML через bash-циклы

  • аналогичная замена в VS Code

Но если файл уже открыт в Sublime Text, RegExp — самый быстрый вариант.

Вывод

Регулярные выражения в Sublime Text позволяют эффективно автоматизировать рутинные правки HTML без дополнительных скриптов и плагинов. Даже простые приёмы вроде групп захвата экономят время и снижают количество ошибок.

Дополнительно

Более подробная пошаговая инструкция с ориентацией на новичков опубликована в моём блоге:

https://kodprog.ru/kak-bystro-zamenit-tekst-na-tegi-img-v-sublime-text

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

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.

Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Нечто>. Результат передаётся обратно событию в его аргумент result.

Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения 😎

Чат русскоязычного Joomla-сообщества.

Теги:
+1
Комментарии0

Подсветка формул

В сложных электронных таблицах легко запутаться, где данные, а где формулы, т. к. выглядят они одинаково. Можно временно включить (и так же выключить) отображение формул вместо значений с помощью сочетания клавиш Ctrl + ~

Есть и более изящный подход: выделять ячейки с формулами цветом с помощью условного форматирования и функции ISFORMULA:

Формат → Условное форматирование
Применить к диапазону: A:Z
Правила форматирования → Ваша формула =ISFORMULA(A1)
Цвет текста: темно-серый (2)

Для правильной работы адрес в формуле =ISFORMULA(A1) должен соответствовать левой верхней ячейке указанного диапазона (в примере A:Z).

Как результат, все формулы на листе будут выводиться серым шрифтом.

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

Усыпальница Java

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

В новой статье мы разберёмся, чем именно наполняется эта усыпальница и почему. Поговорим о legacy-коллекциях Java, финализаторах, Nashorn, SecurityManager и легендарном Unsafe. Какие задачи они решали? Какие архитектурные и эксплуатационные проблемы породили? И, конечно, разберём, какие современные альтернативы пришли им на смену.

Теги:
+2
Комментарии4

Потыкать создание дашбордов из данных табличек с AI.
Бесплатно тут можно: https://ai.arckep.ru
Никакой рекламы, просто делюсь. Работает на Grok.

Теги:
+5
Комментарии0

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

Как измерять SEO-видимость в эпоху AI-SERP

За последние годы поисковая выдача изменилась, а традиционный SEO уже не работает так, как раньше. В текущем поиске результаты Google — это не просто список ссылок, а множество слоев ответов: панель данных, блоки с ответами на вопросы, AI-обобщения, Knowledge Panels и др. Большая часть запросов завершается без клика — пользователи получают нужную информацию прямо в выдаче.

В таких условиях привычные метрики — CTR, позиции в топ-10, количество переходов — перестают быть главными показателями эффективности. На первый план выходит метрика Share of SERP Presence, то есть доля присутствия в выдаче. Она оценивает, насколько часто бренд появляются на разных поверхностях выдачи. Чем шире присутствие, тем выше шансы, что пользователь увидит ваш бренд и доверит ему решение, даже если и не перейдет по ссылке.

Формула этой метрики:

Где:

  • Brand SERP Volume — суммарное количество упоминаний, блоков и визуальных поверхностей, в которых присутствует бренд по группе запросов.

  • Category SERP Volume — совокупное количество всех возможных слотов в выдаче для той же категории запросов (включая AI-поверхности, карусели, интенты, навигационные блоки, органику, People Also Ask и т. д.).

Такой подход оценивает не ранжирование, а то, насколько глубоко бренд покрывает информационный контекст в выдаче.

Share of SERP Presence становится основным KPI в zero-click экосистеме, потому что:

  • клики больше не отражают реальную видимость;

  • AI-ответы начинают формировать пользовательское представление о брендах еще до переходов;

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

  • отсутствие в AI-поверхностях означает выпадение из семантического поля.

Поэтому рост Share of SERP Presence напрямую коррелирует с повышением вероятности быть цитируемым в AI-ответах, попадать в шорт-листы и становиться «предпочтительным» решением на уровне модели.

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

Теги:
+1
Комментарии0

OpenAI представила гайд по созданию картинок в различных стилях в GPT-image-1.5, включая инфографику, карты, логотипы, копирование стиля и перенос на другие работы, создание карточек товаров и примерка одежды.

Ранее OpenAI объявила о запуске модели ChatGPT Images на базе GPT-5.2, предназначенной для генерации изображений с использованием технологий искусственного интеллекта. Новая модель поддерживает широкий спектр функций редактирования, включая добавление и удаление элементов, комбинирование и смешивание изображений, а также их транспонирование. Обновление интегрировано в приложение ChatGPT и доступно пользователям во вкладке «Изображения».

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

SSP SOFT — последние вакансии в уходящем году: присоединяйтесь к команде 💻

Вот и настал момент последнего поста про вакансии в SSP SOFT в 2025 году!
«Год прошел, как день вчерашний. Над Москвою в этот час. Бьют часы Кремлевской башни. Свой салют — двенадцать раз»...

А мы как раз переехали в новый московский офис в 2025 году у самой Красной площади! И там у нас есть открытые вакансии: реальные проекты, дружная команда и атмосфера, где работать — в удовольствие. Ищем гуру, кто готов в новое профессиональное будущее вместе с нами.

📢 Мы ищем прямо сейчас:

1️⃣ Fullstack QA (Java)
2️⃣ Бизнес-аналитика (Senior)
3️⃣ С# Разработчика (интеграции с Lekton)
Подробности о вакансиях на нашей странице ХХ.ру

Что вас ждет в SSP SOFT:
✅ Вызовы: Амбициозные проекты, где не придется скучать.
✅ Поддержка: Наставник для каждого ньюби.
✅ Рост: Центр компетенций для максимального апгрейда скиллов.
✅ Свобода геолокации: Возможность работать удаленно, гибрид или офис.
✅ Баланс: Работаем, чтобы жить, а не наоборот.

🎁 Приятные бонусы: выезды всей командой, ивенты, ДМС, обучение и бенефиты.

👉 Куранты скоро пробьют! Не теряйте время — ждем резюме в ЛС нашему HR Lead Алине (https://t.me/AONikitina). Не забудьте добавить «секретную фразу» в сопроводительное письмо, что увидели вакансию на Хабре.

Желаем всем успешной карьеры в Новом году 🚀🎄)

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

Вебинар для разработчиков: Новое API и библиотека ParametricKit в nanoCAD BIM Строительство 25

Приглашаем на вебинар, посвященный работе с новой библиотекой ParametricKit — частью API для nanoCAD BIM Строительство 25. Обновленный API ускоряет разработку и поддержку библиотек благодаря поддержке C# и автоматизации типовых операций.

Ключевые темы:

  1. Обзор API и возможностей библиотеки ParametricKit

  2. C# как основной язык разработки библиотек

  3. Автоматизация рутинных операций при разработке библиотек

  4. Практические примеры работы с библиотекой ParametricKit

  5. Требования к среде разработки

Дата: 24 декабря (среда), 11:00–12:00 (МСК)
Участие: онлайн, бесплатно, по регистрации

Вебинар будет полезен BIM-разработчикам, программистам САПР, BIM-координаторам, технологическим компаниям в строительстве и дизайне.

Спикеры — эксперты «Нанософт»:
Вадим Мелков, руководитель группы параметрических объектов
Василий Кузьмин, программист отдела BIM-технологий

Успейте зарегистрироваться! Количество мест ограничено.

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

Минобрнауки РФ утвердило минимальное количество баллов ЕГЭ для поступления в вузы в 2026 году.

По сравнению с 2025/2026 учебным годом баллы по некоторым предметам изменились. Например, по химии и биологии повышены с 39 до 40 баллов, по физике — с 39 до 41 балла, по информатике — с 44 до 46 баллов, по истории — с 36 до 40 баллов, по иностранному языку — с 30 до 40 баллов. Требования к результатам экзаменов по русскому языку, математике профильного уровня, географии, обществознанию, литературе остались без изменений.

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

Привет, меня наругали за использование "порно" гифки в ридми kui'я, поддался, заменил на нейтральное вот такое:

kubectl user interface
kubectl user interface

Теперь это sfw. Старую гифку можно посмотреть тут)

Творите, выдумывайте, пробуйте!)

Теги:
-8
Комментарии0