Привет, Хабр! Мы — Даниил Березин и Роман Авдеев, магистранты кафедры банковских информационных технологий в МФТИ (СберТех).
В рамках дипломной работы под руководством кандидата технических наук, научного сотрудника группы «Прикладное NLP» AIRI Олега Сомова мы участвовали в соревновании Text‑To‑SPARQL Challenge на конференции ESWC 2025 (Порторож, Словения).
Среди 9 команд из ведущих европейских исследовательских центров мы заняли:
Будущее разработки ПО, возможно, станет похожим на джаз. Каждый импровизирует, никто не смотрит на ноты.
На прошлой неделе я выпустил Protocollie. Сделал его за 4 дня, используя языки, которых не знаю, и даже не касаясь кода напрямую. Люди без конца спрашивают: «Как это удалось?» Но я даже не уверен, что получится повторить то же самое второй раз.
Мы все придумываем этот процесс на ходу.
Читать далееПредставьте дизайн-агентство, которое создает не просто красивые макеты, а целые технологические экосистемы. Один раз вложившись в разработку уникальных компонентов и фирменного стиля, дизайнеры получают возможность генерировать профессиональные сайты со скоростью 50+ проектов в час.
На практике это сводится к простому циклу: вы отправляете промпт в ChatGPT, получаете в ответ конфигурационный файл, загружаете его в приложение и одной командой сборки создаёте готовые, стилизованные страницы. Всё это уже настроено в стартовом шаблоне, включая авторизацию и многоязычный AI-чат.
Или используйте полную автоматизацию так же как в v0, но с прицелом под крупные корпоративные интеграции.
Читать далееКогда начинаешь карьеру в тестировании, кажется, что главное — это баги, тест-кейсы и чек-листы. Но очень быстро становится понятно: технических знаний недостаточно.
Меня зовут Диана, я начинающий тестировщик в Naumen. Работаю в группе проектного тестирования: тестирую доработки, связываю требования с реализацией, отслеживаю баги и участвую в коммуникации между аналитиками, разработчиками и другими тестировщиками. За год в профессии я поняла: даже если ты очень внимателен, без умения правильно задать вопрос, донести проблему или уточнить требование — будет сложно.
В этой статье — мой личный опыт: как я училась говорить с коллегами, что помогло справиться с тревогой, какие ошибки делала в начале, и что теперь точно советую делать джунам, чтобы не бояться, не теряться и задавать вопросы без чувства вины.
Читать далееТестирование — важнейший аспект разработки программного обеспечения, особенно для веб‑приложений. В Go тестирование встроено в язык и предоставляет мощные инструменты для написания и выполнения тестов. В этой статье мы рассмотрим поток веб-приложения на Go, как писать модульные тесты для каждого слоя приложения.
Читать далееМногие до сих пор представляют инжиниринг как «скинули ТЗ, нарисовали чертёж, поставили оборудование — готово». На практике всё гораздо сложнее, особенно в горной промышленности. Сегодня расскажу, что именно делает инженерная команда, когда берётся за проект: будь то модернизация действующей фабрики или проектирование с нуля.
Читать далееПрограммисты, ежедневно решающие задачи оптимизации запросов и управления большими объемами данных, неизбежно сталкиваются с необходимостью освоения новых методов организации данных. Поэтому сегодня предлагаем поговорить об автоматизации партиционирования как об эффективном варианте решения.
Читать далееКапчи, которые должны «отделять» людей от ботов, стали настоящей головной болью для пользователей. Порой приходится не выбирать светофор или «зебру», а решать сложные головоломки или математические примеры, многие из которых ставят в тупик — а вот боты, кажется, щёлкают их как орешки. Мы в beeline cloud решили разобраться в теме.
Читать далее«Я не боюсь того, кто изучает 10 000 различных способов управления. Я боюсь того, кто изучает один 10 000 раз». Выбрали по одному самому «смертоносному» инструменту планирования и управления, и объяснили почему.
Читать далееГеймификация превращает обычное взаимодействие с приложением в увлекательный квест: каждый клик — это шаг к следующему уровню, каждое действие приносит бонусы, баллы, достижения. Пользователи возвращаются, чтобы закрыть миссию и получить награду, а бизнес — получает рост LTV и продажи.
В этой статье аналитик CleverPumpkin Алёна Сорокина расскажет про уже привычные и набирающие популярность виды геймификации. А еще о том, с какими сложностями можно столкнуться и как интегрировать игры в маркетинговую стратегию.
Читать далееГде мы все? Судя по классическому циклу зрелости, Large Language Models (LLM) уверенно маршируют к вершине «Пика завышенных ожиданий». Энтузиазм бьёт ключом: каждый день — новые анонсы и инвестиции. Как руководитель отдела инновационных проектов в «Первой Грузовой компании», я вижу этот ажиотаж и сам погружен в изучение потенциала LLM для нашей отрасли. Иллюзия всесильности ИИ сейчас сильна как никогда. Мы сейчас явно находимся на пике завышенных ожиданий.
Читать далееНа уроках в Pixel мы используем программу для моделирования TinkerCAD для обучения детей 6–9 лет созданию 3Д-моделей и для погружения учащихся в основы блочного программирования. Потенциал среды впечатляет, при этом ребятам нравится выполнять различные проекты, как индивидуальные, так и групповые, поэтому сегодня решили поделиться подборкой руководств по созданию 3Д-моделей машин.
Предусмотрели расширенные и продвинутые инструкции, с которыми поможет справиться планомерное движение от простого к сложному: в таком порядке построена публикация.
Читать далееМы в Pixel стремимся делать уроки программирования доступными для всех детей и подростков, поэтому проводим очные занятия в разных городах Московской области. Есть и онлайн-курсы, которые можно пройти дистанционно, но сегодня не об этом: хотим рассказать о нашей школе программирования в Мытищах, а если конкретно, то о том, какие направления доступны и как устроен учебный процесс.
Читать далееПродолжаем разбираться в работе лайвпатчей для ядра Linux. В примере из первой части этой статьи мы загрузили лайвпатч и он каким-то магическим образом настроил все так, чтобы ядро Linux использовало не свою функцию nf_tproxy_laddr4(), а ее исправленный вариант.
Давайте теперь посмотрим, что стоит за этой магией, а после этого разберемся, как все это использовать в продакшене.
В этой части статьи будет и несколько вопросов-заданий для читателя. Ответы и подсказки — в конце.
Читать далееРазработка браузерного расширения началась с простой идеи: упростить поиск по закладкам и открытым вкладкам, а также попробовать свои силы в создании проекта с элементами монетизации. В этой статье я расскажу, как за две недели прошёл путь от прототипа до публикации в Chrome Web Store и Firefox Add-ons, какие технологии использовал и с какими трудностями столкнулся. Надеюсь, мой опыт вдохновит других разработчиков попробовать свои силы в создании подобных проектов. Полный код проекта доступен на GitHub.
Читать далееЗнаете, насколько российский клуб заинтересован продавать билеты? Почти ни насколько, можно смело забить на них болт — смотрите структуру заработков.
Вот для примера КХЛ, которая далеко позади футбола по прибылям, чтобы показать на пальцах, сколько зарабатывают клуб и стадион.
Если вы существуете по большей части на деньги спонсора, то не будете заниматься ничем, кроме отношений с ним. Спонсору важен престиж — ну то есть понты, — поэтому нужно, чтобы вашу команду знали и уважали в регионе, стадион был полным (даже если вы бесплатно раздали билеты школьникам, студентам и военным), а в камере было полное невероятной радости раскрашенное лицо фаната, которому сегодня предстоит сначала выбивать зубы, а потом — крушить барную стойку. Ещё круто, чтобы на трибуне сидела какая-нибудь модель в кокошнике (и желательно только в нём) — тоже крутая картинка.
Поэтому давайте разберёмся, как же зарабатывают стадион и клуб.
Эти сущности часто неразлучны, как Бойль с Мариоттом. В России всего два-три футбольных клуба, которые реально владеют своими стадионами. Это, например, «Открытие Арена» у Спартака или «Краснодар» Галицкого, который вообще частный. Все остальные, по сути, просто арендуют площадки.
Читать далееРасскажу о винтажном шведском осциллографе с монохромным экраном и элегантным дизайном интерфейса и корпуса. Расскажу о электрических характеристиках, сниму осциллограммы тестовых сигналов.
Читать далееТы не ты, когда голоден, — гласила реклама. Теперь ты не ты, когда веришь, что батончик с глицерином и изолятом — это забота о себе. О том, как из спортзалов США пришла мода на протеиновую еду, и почему это очередной великий обман.
Читать далее(Статья — результат со вместной работы с Максимом Степановым)
Когда начинаешь писать тесты к коду, иногда возникает ощущение, что пытаешься расчесать запутанные волосы, и чем больше дёргаешь, тем больше узлов находишь. Это полезный сигнал, к которому стоит прислушиваться: плохая тестируемость подсказывает, что у кода есть изъяны в архитектуре.
Связанный код, который сложно поддерживать и расширять, сложно и тестировать. Как сказал Боб Мартин:
«Тестируемый код — синоним разъединённого кода»
А значит, тестируемость может быть маркером хорошей архитектуры. Именно это мы и попробуем здесь продемонстрировать.
Мы напишем тесты для примитивного скрипта на Python, который проверяет IP пользователя, определяет их регион и сообщает текущую погоду в регионе. Нас будет интересовать, как эти тесты заставят нас изменить код. Они, как расчёска, помогут нам методично разобрать проблемные места, чтобы код (как и волосы) стал гладким и послушным. Полный пример доступен здесь, каждый основной шаг находится в отдельной ветке.
В первой части статьи мы сделаем простейшее преобразование — разобъём скрипт на отдельные функции, а потом выясним, какие недостатки кода нам пока не удалось устранить. Во второй части мы от них избавимся с помощью разъединения зависимостей и модульной архитектуры. Поехали!
Читать далееИнтернет завален реализациями на Питоне, но иногда удобнее разбираться с технологиями на своём основном языке. Для мен;я это Kotlin.
Если вы программист, наверняка к вам приходят знакомые и предлагают писать агентов. Реализовав оного самостоятельно, вы поймете, что задача из себя представляет.
Статья обещает соблюдать два принципа, упрощающих восприятие:
‣ Движение от частного к общему, потому что легче воспринимать примеры, чем абстракцию.
‣ Быстрая обратная связь, как с REPL.
Агента реализуем так, чтобы легко было заменить лежащую в основе LLM. Посмотрим, как отличается работа при использовании REST API в сравнении с SDK, пощупаем Гигачат и Anthropic.
Ах да,