Обновить
1271.21

Программирование *

Искусство создания компьютерных программ

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

От хаоса к структуре: как FEOD помогает упорядочить архитектуру фронтенд-приложений

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели6.7K

Сегодня мы поговорим о том, как развивается платформенная команда «Спортмастера». Речь пойдёт о подходе к организации фронтенд-приложений, который получил название FEOD — Fractal Entity Oriental Design.

Читать далее

Разрабатываю MCP интеграции к платформе AI агентов — ключевые моменты

Время на прочтение4 мин
Охват и читатели6.4K

AI технологии меняются так быстро, что каждые несколько месяцев задаешься вопросом: чем сейчас лучше всего заняться в этой индустрии? И ответ каждый раз новый.

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

Инициатива OpenAI, которые адаптировали MCP для своей платформы приложений внутри ChatGPT, произвела на меня определенное впечатление, и я проделал довольно основательный эксперимент (на трех облачных H200 и DeepSeek V3.2-Exp), показавший, что основной функционал такой платформы можно воспроизвести усилиями одного разработчика.

Сам эксперимент - в этом видео:

Читать далее

Книга: «Разработка алгоритмов. Инженерный подход»

Время на прочтение3 мин
Охват и читатели8.3K

Привет, Хаброжители!

Большинство книг об алгоритмах фокусируются на нотации «О большое» и основных принципах проектирования, однако эта книга предлагает уникальный подход, выводя разработку и анализ на уровень предсказуемой практической эффективности. В ней обсуждаются базовые и классические алгоритмические задачи, возникающие при создании приложений больших данных, для которых демонстрируются элегантные решения постепенно возрастающей сложности. Анализ решений дается в рамках как классической RAM-модели, так и более значимой с практической точки зрения модели с использованием внешней памяти, позволяющей оценивать сложность ввода-вывода.

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

Читать далее

Первый взгляд на новые фоновые задачи в Django 6.0

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.9K

Команда Python for Devs подготовила перевод статьи о новых фоновых задачах в Django 6.0. Фреймворк наконец получил встроенный API для очередей задач — но без воркеров, так что чудес пока ждать рано. Автор показывает, зачем это обновление всё равно важно, как оно работает внутри и что можно построить поверх него уже сегодня.

Читать далее

Как мы оптимизировали тестирование с помощью API-сервисов

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.8K

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

Привет, Хабр! Меня зовут Владимир, я SDET-специалист в компании SimbirSoft. В этой статье хочу рассказать, как мы решали проблемы тестирования не традиционным написанием автотестов, а созданием собственных REST-сервисов: сервиса генерации данных и сервиса, ассистирующего тестам.

Читать далее 🦾

Секреты Apache Kafka API: обработка сообщений без потерь и дублей

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

Меня зовут Андрей Серебрянский, и я люблю Apache Kafka. И гарантии доставки exactly once. И рассказывать обо всём этом на конференциях. Пять лет я строил платформы потоковой обработки данных в финтехе, а теперь вместе с командой работаю над YDB Topics: частью YDB (СУБД Яндекса), которая заменяет Apache Kafka в роли брокера сообщений. СУБД Яндекса уже некоторое время поддерживает Apache Kafka API. Недавно мы расширили этот API, добавив поддержку Kafka-транзакций.

Но наличия транзакций в брокере сообщений недостаточно для получения гарантий exactly once. Чтобы неудачно зависший или перезагрузившийся сервер не привёл к дублированию или потере сообщений, нужно хорошо понимать, как именно работают транзакции в брокерах сообщений вообще и в Apache Kafka в частности.

Эта статья будет полезна начинающим разработчикам и тем, кто хочет освежить знания или разобраться в тонкостях exactly once обработки данных с помощью YDB Topics или других брокеров сообщений.

Читать далее

Коротко про масштабирование UI-автотестов в Java

Время на прочтение9 мин
Охват и читатели3.7K

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

В этой статье рассмотрим, как масштабировать UI-автотесты с помощью Java.

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

Масштабирование тестов решает эту проблему: запускаем тесты параллельно, сокращаем время прогона и получаем быстрый фидбэк о качестве.

Читать далее

Большинство уязвимостей веб-API не выявляются стандартными тестами

Время на прочтение6 мин
Охват и читатели5.5K

Как обезопасить себя от атак по этому вектору, за которым плохо следят

Безопасность API — «отличный вход» в карьеру пентестера, считает Кори Дж. Болл, эксперт в отрасли.

ИНТЕРВЬЮ. Обеспечение безопасности веб-API требует иного подхода, чем классическое обеспечение безопасности веб-приложений, поскольку стандартные тесты обычно упускают наиболее распространённые уязвимости, возникающие при работе с API.

Именно так считает эксперт по безопасности API Кори Дж. Болл, предупреждающий, что методы, не откалиброванные на работу с веб-API, могут давать пентестеру слишком много ложноотрицательных результатов.

Болл начинал осваивать искусство пентестинга веб-приложений ещё в 2015 году по хакерским книгам, а также ресурсам HackTheBox и VulnHub. Далее он оттачивал навыки работы с компьютерами, пользуясь Cold Fusion, WordPress, Apache Tomcat и другими веб-приложениями, ориентированными на использование на большом предприятии.

Читать далее

Фокусы, хаки, магия и прочее ненормальное программирование на C

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

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C», которая раскрывала много интересных моментов. Увидев, что многим понравилась, я задумался: почему бы не изучить еще какие-нибудь трюки, заодно практикуясь в программировании на C? В этой статье мы погрузимся глубже и раскроем больше тем, такие как генераторы псевдослучайных чисел, трюки с побитовыми сдвигами и прочие быстрые алгоритмы на C!

Всех, кто заинтересовался — прошу под кат.

Читать далее

Как устроен компилятор Go: сканер (лексер)

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

Команда Go for Devs подготовила перевод статьи о том, как работает первый этап компиляции Go — сканер. Автор подробно показывает, как исходный код превращается в поток токенов, что происходит с каждым символом и откуда берётся автоматическая вставка точек с запятой. Если вы хотите понять Go «изнутри» — начинайте именно отсюда.

Читать далее

Питон перед Рождеством. Как я осваивал этот язык программирования

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9K

Это личный опыт, оказавшийся для меня неожиданным. Настолько неожиданным, что я решил разобраться, почему результат оказался намного эффективнее, чем я ожидал. Когда я разобрался, мне захотелось поделиться новым пониманием. Блог ЛАНИТ показался лучшим местом для этого.

Читать далее

Отправляем Elasticsearch в отпуск: полнотекстовый поиск на одном PostgreSQL

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели14K

Зачем сразу тянуть в проект тяжёлую артиллерию типа Elasticsearch, если нужно просто поискать по тексту статей? Ведь у PostgreSQL есть свой, встроенный полнотекстовый поиск. Многие о нём забывают.

Читать далее

Первая в мире библиотека Web Components в духе shadcn. Серьёзно, я проверял

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

Первая в мире библиотека Web Components в духе shadcn/ui

Насколько я проверил — это первая подобная библиотека для Web Components. Если ошибаюсь — поправьте в комментах! 🤓

Let's get it

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

Ноябрьский Flutter-дайджест

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.2K

Привет, друзья! 👋
Ноябрь выдался ультра-насыщенным, и если вы пропустили хоть что-то — сейчас наверстаем!

Читать далее

Pydantic V2: Почему dataclasses вам ещё больше нужны

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.8K

На написание статьи меня сподвигла статья «Pydantic V2: Почему dataclasses вам больше не нужны» и меткий комментарий:

«Спасибо за статью, но мне кажется Вы учите детей плохому. »

Давайте попробуем разобраться, почему и датаклассы хороши, и pydantic V2 прекрасен, а вместе они становятся ещё лучше.

Или устроить смешанное единоборство?

Строки кода должны помещаться на экране

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели17K

О вечном — о разумной длине строк кода. Мы недавно встретили ошибку, которая одновременно демонстрирует, чем плох "код-колбаса", "эффект последний строки" и последствия неудачного copy-paste.

Читать далее

Scala Digest. Выпуск 35

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.5K

Привет, Хабр! Мы — НастяЭвелина и Михаил — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцать пятый выпуск

Проект как промпт, или как начать любить вайб-кодинг, не превращая его в источник хаоса?

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

Вас тоже завалили «навайбкоженными» пулл‑реквестами, которые приходится реджектить по несколько раз? Проблема не в ИИ, а в том, что ваш проект для нейросети — плохой промпт. Пока одни спорят, заменит ли ИИ разработчиков, а другие ждут, когда этот «пузырь» лопнет, мы сталкиваемся с реальностью: сгенерированный код деградирует из‑за отсутствия контекста и правил. В статье поговорим о том почему линтеры и тесты важнее тысячи промптов, и как инженерная культура превращает хаос в ускорение.

Разобраться с хаосом

AOT в Spring Data: минус магия, плюс скорость

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

Команда Spring АйО подготовила перевод статьи о том, как Spring Data тихо, но уверенно избавляется от «магии рантайма» и учит репозитории работать через AOT. Меньше скрытых прокси, больше прозрачного кода, быстрее старт сервисов. Кажется, это одно из самых крутых обновлений Spring за последние годы.

Читать далее

Принципы ответственной ИИ-ассистированной разработки ПО

Время на прочтение3 мин
Охват и читатели9.4K

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

Читать далее

Вклад авторов