Обновить

Разработка

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

Сервисы — место, где живет бизнес-логика II

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

Здравствуйте! Это вторая часть из серии статей «Сервисы — место, где живет бизнес логика». Если Вы еще не знакомы с первой частью, то рекомендую начать с нее, чтобы у вас сложилась общая картина. Сегодня мы постараемся ответить на все оставшиеся вопросы: познакомимся с прекрасной, легковесной DI-библиотекой, научимся «инжектить» в Django, посмотрим на несколько дашбордов в Кибане и поговорим про доменные модели.

Читать далее

Как развернуть что угодно с ИИ-агентами, даже ComfyUI с жирными моделями

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

Я кайфую от работы с нейронками. Конкретно, через ComfyUI и вот это вот всё со стрелочками и пайплайнами. Это история о моём пути от RTX 3080 дома до GPU-серверов с ИИ-агентами.

Есть два типа людей, которые арендуют GPU-серверы:

Читать далее

Чему мы научились, с нуля создав движок электронных таблиц

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

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

Если говорить об интерактивности — то мы заранее знали о том, что нам понадобится наибыстрейший движок электронных таблиц, совместимый с Excel и с Google Sheets (GSheets), способный полноценно работать, пользуясь лишь ресурсами браузера. Так как подобного движка (достаточно функционального) нам найти не удалось, мы, кроме прочего, знали и о том, что нам придётся писать его самостоятельно.

К настоящему моменту мы создали то, что, скорее всего, входит в число 4–5 самых совершенных движков электронных таблиц на планете. И это (вероятно — после Google Sheets) самый продвинутый движок, который полностью работает в браузере.

Это была совсем не тривиальная задача. Расскажу о том, что мы узнали в процессе создания нашего движка.

Читать далее

Что показали в OWASP Top Ten 2025

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

Привет, Хабр! Меня зовут Дмитрий Бахтенков. С 2020 я занимаюсь коммерческой разработкой на .NET, а также пишу для медиа «вАЙТИ». В сфере информационной безопасности существует множество уязвимостей, и разработчикам сложно понять, какие из них важнее учитывать при обучении или отладке процессов безопасной разработки.

Читать далее

Как подружить C++ и YAML: добавляем чтение конфигов с помощью yaml-cpp

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

В этой статье я расскажу о том, как добавить в С++/CMake проект возможность чтения YAML-конфигов с помощью библиотеки yaml-cpp.

Начнем с краткого обзора интерфейса yaml-cpp, а потом разработаем небольшой проект, состоящий из библиотеки с функционалом чтения конфига и приложения, использующего эту библиотеку для получения настроек из YAML-файла.

Читать далее

Почему учёные не могут прекратить поиски инопланетной жизни

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

Всегда будут «кричащие волк», чьи заявления рассыпаются под пристальным взглядом. Но инопланетяне определённо существуют - если наука осмелится их найти.

Несмотря на всё, что мы узнали о себе и физической реальности, в которой все мы обитаем, гигантский вопрос о том, одиноки ли мы во Вселенной, остаётся без ответа. Мы исследовали поверхности и атмосферы многих миров в нашей Солнечной системе, но только Земля демонстрирует неоспоримые признаки жизни - прошлой или настоящей. За последние 30 лет мы открыли более 5 000 экзопланет, выявив среди них множество миров размером с Землю, потенциально обитаемых. Тем не менее ни один из них пока не раскрыл себя как действительно населённый, хотя перспективы обнаружения внеземной жизни в ближайшем будущем завораживают.

Читать далее

Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации

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

Всем привет.

В этой части мы познакомимся с базовыми понятиями, необходимыми для понимания процесса инвестирования и перейдем к практическому применению, где подключим API ТБанка, настроем отображение портфеля и сделаем первые заявки на покупку и продажу.

Читать далее

Как микросервисы стали тормозом. И почему мы вернулись к монолиту

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

Изначально микросервисная архитектура решила реальную проблему - изолировала очереди и убрала “head-of-line blocking”, когда один упавший адресат тормозит всех.

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

В итоге команда объединила 140 сервисов в один монолит, собрала монорепо и стабилизировала тесты через запись/воспроизведение HTTP-трафика.

Читать далее

Как Mozilla смогла отключить интернет в Китае

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

Спустя 2 года закончилась в*йна между Великим Китайским Файрволом (GFW) и Mozilla.

История, начавшаяся в апреле 2024-го с тихой блокировки QUIC, к концу 2025 года вылилась в глобальный 74-минутный сбой всего интернета в КНР.

В этой статье мы разберем как браузер пытался обойти цензуру, а в итоге прокачал еще сильнее машину цензуры в Китае!

Читать далее

Любите ли вы кино, так как люблю его я? От Excel-таблиц к веб-приложению (Next.js, React, FastAPI, PostgreSQL)

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

Сначала это были просто видеокассеты с любимыми фильмами — без особой системы, без структуры, без мысли о будущем.

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

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

Читать далее

Ваши ИТ-затраты вышли из-под контроля. Пора это признать

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

До трети ИТ-бюджета крупных компаний может уходить на незапланированные расходы.

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

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

Меня зовут Евгения Асоскова, я владелец продукта SimpleOne ITAM. В этой статье разберем, почему так происходит, где теряются деньги и как вернуть контроль над ИТ-расходами.

Читать статью

Экстремальное масштабирование: концепт многочиплетного пакета Intel

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

Intel показала концепт экстремально крупного многочиплетного пакета — сборки из десятков вычислительных и вспомогательных кристаллов, объединенных в один модуль. Его площадь превышает 10 000 мм². Пока это экспериментальная архитектура для будущих ИИ-ускорителей и HPC-систем. Задача эксперимента — попробовать обойти физические ограничения монолитных чипов и заодно продемонстрировать пределы современных технологий упаковки, памяти и техпроцессов. Давайте попробуем разобраться, что это и как работает.

Читать далее

Кастомизация Angie (njs, Lua, Perl)

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

Север Angie вобрал в себя всю функциональность, которая десятилетиями формировалась в Nginx. Кроме того, разработчики за несколько лет добавили еще несколько модулей и расширили возможности существующих. Тем не менее, при реализации сложных задач может потребоваться индивидуальное решение, нестандартное поведение сервера и кастомизированная конфигурация. В таких задачах полезно использовать модули для расширения функциональности сервера на базе различных языков программирования: доступны njs, Lua и Perl.

Читать далее

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

Как работает кэширование промптов — PagedAttention и автоматическое кэширование префикса плюс практические советы

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

Prompt caching часто обсуждают как «бонусную опцию» в API-прайсе: мол, попал в кэш — дешевле и быстрее. В статье разбираем, что за этим стоит на самом деле: почему кэш — это не «память диалога», а переиспользование KV-тензоров на уровне одинаковых префиксов, как из этого вырастает PagedAttention/vLLM с блоками и хэш-цепочками, и какие мелкие, но фатальные детали (динамический системный промпт, недетерминированный JSON, перестановка tool defs) мгновенно превращают кэш в тыкву.

Как это устроено

Юнит-экономика простыми словами — остановитесь посчитать

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

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

Поэтому - один лист, который можно заполнить за 20–30 минут и сразу увидеть слабое место и реальные перспективы.

Читать далее

Как DuckDB обрабатывает 1 ТБ данных менее чем за 30 секунд

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

Команда Python for Devs подготовила перевод статьи о том, как DuckDB ломает привычные представления о масштабах аналитических данных. Автор на реальных бенчмарках показывает, что 1 ТБ данных можно агрегировать за считанные секунды — без Spark, без распределённых кластеров и без сложной инфраструктуры.

Читать далее

Подходы к state management в React

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

У React-разработчика две беды:

1. Целевые данные изменились, а ререндера нет.

2. Целевые данные не изменились, а ререндер есть.

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

Читать далее

Как банк использовал события компенсации в Camunda

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

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

Читать далее

Mock API для QA: Mockoon + ngrok

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

Тестировщикам часто приходится работать в условиях, когда бэкенд ещё не готов, API нестабильно или внешние сервисы недоступны. В таких ситуациях тестирование либо откладывается, либо превращается в угадывание «на словах».

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

Мы разберём связку Mockoon + ngrok:
— как создавать mock endpoints;
— как эмулировать 200 / 404 / 500 и другие ответы;
— как тестировать фронт и интеграции без реального бэкенда.

Статья ориентирована на QA-инженеров и подойдёт даже тем, кто никогда не писал backend.

Читать далее

Go: сборщик мусора там, где его не ждут

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

Когда мы говорим о сборщике мусора, то сразу думаем о куче. Зачем он нужен в стеке? Переменная попала на стек, функция завершила исполнение — стек вжух! — и очистился. 

А что, если я вам скажу, что на стеке Go тоже свой сборщик мусора? Звучит неожиданно? Давайте разберемся по порядку.

Читать далее