Как стать автором
Поиск
Написать публикацию
Обновить

Разработка

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

Structured Concurrency в Java: наконец-то находит опору

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров6.1K

API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open(), политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.

Читать далее

Немного про SPARQL, или как мы заняли призовое место на Text-To-SPARQL Challenge на ESWC 2025

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров736

Привет, Хабр! Мы — Даниил Березин и Роман Авдеев, магистранты кафедры банковских информационных технологий в МФТИ (СберТех).

В рамках дипломной работы под руководством кандидата технических наук, научного сотрудника группы «Прикладное NLP» AIRI Олега Сомова мы участвовали в соревновании Text‑To‑SPARQL Challenge на конференции ESWC 2025 (Порторож, Словения).

Среди 9 команд из ведущих европейских исследовательских центров мы заняли:

🥉 3-е место в треке DBPedia

🏅 5-е место в треке с корпоративным графом знаний

В этой статье расскажем, как проходило соревнование, какие подходы мы пробовали и какие уроки извлекли.

Читать далее

Никто пока не знает, как работать с ИИ

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.3K

Будущее разработки ПО, возможно, станет похожим на джаз. Каждый импровизирует, никто не смотрит на ноты.

На прошлой неделе я выпустил Protocollie. Сделал его за 4 дня, используя языки, которых не знаю, и даже не касаясь кода напрямую. Люди без конца спрашивают: «Как это удалось?» Но я даже не уверен, что получится повторить то же самое второй раз.

Мы все придумываем этот процесс на ходу.

Читать далее

AI-генератор сайтов на ChatGPT и Next.js 15: Создаем SEO-оптимизированные страницы с нуля (аналог v0)

Уровень сложностиСредний
Время на прочтение62 мин
Количество просмотров9.5K

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

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

Или используйте полную автоматизацию так же как в v0, но с прицелом под крупные корпоративные интеграции.

Читать далее

Тестируем веб приложение на Go

Время на прочтение6 мин
Количество просмотров3.2K

Тестирование — важнейший аспект разработки программного обеспечения, особенно для веб‑приложений. В Go тестирование встроено в язык и предоставляет мощные инструменты для написания и выполнения тестов. В этой статье мы рассмотрим поток веб-приложения на Go, как писать модульные тесты для каждого слоя приложения.

Читать далее

Как мы научили PostgreSQL автоматически создавать партиции: опыт Nexign Nord

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.6K

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

Читать далее

Интернет против капчи: есть ли будущее у тестов вроде «найдите все картинки с велосипедами»?

Время на прочтение7 мин
Количество просмотров1.8K

Капчи, которые должны «отделять» людей от ботов, стали настоящей головной болью для пользователей. Порой приходится не выбирать светофор или «зебру», а решать сложные головоломки или математические примеры, многие из которых ставят в тупик — а вот боты, кажется, щёлкают их как орешки. Мы в beeline cloud решили разобраться в теме.

Читать далее

Геймификация в e-commerce: как превратить игры в прибыль

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.2K

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

В этой статье аналитик CleverPumpkin Алёна Сорокина расскажет про уже привычные и набирающие популярность виды геймификации. А еще о том, с какими сложностями можно столкнуться и как интегрировать игры в маркетинговую стратегию.

Читать далее

ИИ на подъёме: восхождение к пику ожиданий и первые уроки в реальном бизнесе

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2K

Где мы все? Судя по классическому циклу зрелости, Large Language Models (LLM) уверенно маршируют к вершине «Пика завышенных ожиданий». Энтузиазм бьёт ключом: каждый день — новые анонсы и инвестиции. Как руководитель отдела инновационных проектов в «Первой Грузовой компании», я вижу этот ажиотаж и сам погружен в изучение потенциала LLM для нашей отрасли. Иллюзия всесильности ИИ сейчас сильна как никогда. Мы сейчас явно находимся на пике завышенных ожиданий.

Читать далее

Livepatching для ядра Linux на x86 и RISC-V: как это работает

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2.4K

Продолжаем разбираться в работе лайвпатчей для ядра Linux. В примере из первой части этой статьи мы загрузили лайвпатч и он каким-то магическим образом настроил все так, чтобы ядро Linux использовало не свою функцию nf_tproxy_laddr4(), а ее исправленный вариант.

Давайте теперь посмотрим, что стоит за этой магией, а после этого разберемся, как все это использовать в продакшене.

В этой части статьи будет и несколько вопросов-заданий для читателя. Ответы и подсказки — в конце.

Читать далее

Разработка браузерного расширения: путь от идеи до публикации в web store

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров1.9K

Разработка браузерного расширения началась с простой идеи: упростить поиск по закладкам и открытым вкладкам, а также попробовать свои силы в создании проекта с элементами монетизации. В этой статье я расскажу, как за две недели прошёл путь от прототипа до публикации в Chrome Web Store и Firefox Add-ons, какие технологии использовал и с какими трудностями столкнулся. Надеюсь, мой опыт вдохновит других разработчиков попробовать свои силы в создании подобных проектов. Полный код проекта доступен на GitHub.

Читать далее

Тесты не лгут — прислушивайтесь к ним. Часть 1

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.4K

(Статья — результат со вместной работы с Максимом Степановым)

Когда начинаешь писать тесты к коду, иногда возникает ощущение, что пытаешься расчесать запутанные волосы, и чем больше дёргаешь, тем больше узлов находишь. Это полезный сигнал, к которому стоит прислушиваться: плохая тестируемость подсказывает, что у кода есть изъяны в архитектуре. 

Связанный код, который сложно поддерживать и расширять, сложно и тестировать. Как сказал Боб Мартин

«Тестируемый код — синоним разъединённого кода»

А значит, тестируемость может быть маркером хорошей архитектуры. Именно это мы и попробуем здесь продемонстрировать.

Мы напишем тесты для примитивного скрипта на Python, который проверяет IP пользователя, определяет их регион и сообщает текущую погоду в регионе. Нас будет интересовать, как эти тесты заставят нас изменить код. Они, как расчёска, помогут нам методично разобрать проблемные места, чтобы код (как и волосы) стал гладким и послушным. Полный пример доступен здесь, каждый основной шаг находится в отдельной ветке.

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

Читать далее

Пишем агента на Kotlin: KOSMOS

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров2.9K

Интернет завален реализациями на Питоне, но иногда удобнее разбираться с технологиями на своём основном языке. Для мен;я это Kotlin.

Если вы программист, наверняка к вам приходят знакомые и предлагают писать агентов. Реализовав оного самостоятельно, вы поймете, что задача из себя представляет.

Статья обещает соблюдать два принципа, упрощающих восприятие:

‣ Движение от частного к общему, потому что легче воспринимать примеры, чем абстракцию.
‣ Быстрая обратная связь, как с REPL.

Агента реализуем так, чтобы легко было заменить лежащую в основе LLM. Посмотрим, как отличается работа при использовании REST API в сравнении с SDK, пощупаем Гигачат и Anthropic.

Ах да, 🪐 KOSMOS — акроним. Kotlin Open Synthetic Mind Orbiting System.

Читать далее

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

Луч — мультитул разработчика электроники, версия 2

Время на прочтение8 мин
Количество просмотров15K

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

У этого подхода были очевидные минусы — стенд был ненадежным, проводочки могли вылететь, код для стенда, как и для прототипа, тоже надо было написать и проверить, и стенд превращался в еще одну разработку. В какой‑то момент я решил, что хочу упростить этап создания тестового стенда. Так появилась идея устройства «Луч» — компактного прибора с поддержкой популярных интерфейсов, цифровыми входами и выходами, который мог бы заменить собой тестовый стенд. Он позволял бы быстро запустить последовательность действий без написания кода с нуля, и мог бы работать как терминал для многих интерфейсов, этакий швейцарский нож. Именно об этом устройстве я хочу рассказать в этой статье.

Читать далее

GlobalFoundries и MIPS: как бывшее подразделение AMD делает ставку на RISC-V

Время на прочтение5 мин
Количество просмотров1.4K

В июле 2025 года GlobalFoundries — один из крупнейших контрактных производителей чипов — объявил, что покупает MIPS Technologies, ту самую компанию, которая когда-то создала архитектуру MIPS. Сумма сделки не раскрывается, но уже ясно: это событие может заметно повлиять на всю индустрию.

GlobalFoundries, некогда производственное подразделение AMD, стремится расширить свои возможности, а MIPS, сменившая множество владельцев, делает ставку на открытую архитектуру RISC-V и решения для перспективных рынков. Например, промышленная робототехника и умные автомобили. Что значит это слияние для обеих компаний и индустрии в целом?

Читать далее

Когда фидбэк может уничтожить продукт

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров899

Как попытки быть ближе к пользователю иногда отдаляют от цели

В одномстартапе мы решили сделать по уму — активно собирать и учитывать обратную связь.
Видим комментарий: «Сделайте поиск попроще» — переделываем.
Пишут: «Темная тема нужна обязательно!» — добавл яем.
...

Читать далее

Полупроводники со смещенным (модифицированным) изотопным составом: патентный анализ

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.2K

Кремний — химический элемент IV группы Периодической таблицы, имеет 24 изотопа. Природный кремний представляет собой смесь трех стабильных изотопов: кремний-28 (92,254%), кремний-29 (4,672%) и кремний-30 (3,074%). Как известно, примерно 90% выпускаемых полупроводниковых приборов изготавливаются на основе кремния. Развитие электроники требует дальнейшей миниатюризации элементов микросхем и повышения тактовой частоты их работы, а также улучшения характеристик силовых полупроводниковых приборов. 

Читать далее

Принципы построения Development Platform команд

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.5K

Привет! Меня зовут Сергей Киселёв, я Head of Development Platform в MWS Cloud Platform. В 2023 году я пришёл собирать команду Development Platform (DevP) для разработчиков нового облака. Эта статья написана по следам моего доклада «Как с нуля построить Development Platform в отдельно взятой компании» на DevOops 2024. Далее расскажу о том, почему мы заботимся об общем коде, растим культуру разработки и почему только разработчик может сделать инфраструктуру для другого разработчика.

Читать далее

Как поймать фишеров: обзор технических средств для защиты почтового трафика

Время на прочтение10 мин
Количество просмотров2K

О средствах защиты от фишинга у нас в отрасли писали и говорили уже не раз, но, как показывает наш опыт, эта тема остается на волне популярности. Злоумышленники все чаще в атаках делают ставку на человеческий фактор, а люди далеко не всегда могут распознать фишинговые письма. Мы обучаем их, но плохие парни уже распробовали искусственный интеллект: в комплексе с OSINT контент получается впечатляюще персонализированным. Чтобы письма попадали в яблочко, киберпреступники ищут разные способы обхода мер защиты, используемых в организациях, — и это главный вызов 2025 года. Наша задача — закрыть все обходные пути.

Я Фёдор Гришаев, в Positive Technologies занимаюсь исследованием киберугроз. Подготовил для вас обзор технических средств, которые помогут отразить современные фишинговые атаки — или снизить риски, если злоумышленники уже проникли в компанию. Разобрал принципы работы технологий и сценарии их применения. Как несложно догадаться, в статье акцент сделан на почтовом трафике. При подготовке обзора я опирался на тренды фишинговых атак и свой опыт, чтобы сделать действительно актуальную подборку.

Читать далее

За неделю от ночных кошмаров до спокойного сна: как я автоматизировал защиту от AI-хакеров

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.5K

Никто не любит быть тем парнем, который говорит «а давайте еще и защиту поставим». Особенно когда речь идет о блестящем новом AI‑продукте, который должен был запуститься «еще вчера». Но когда твой корпоративный чат‑бот начинает выдавать системные промпты направо и налево, а в 2 ночи тебе в Telegram прилетают сообщения «СРОЧНО! Хакеры взломали бота!» — понимаешь, что без брони в бой идти нельзя.

Читать далее