Обновить

Разработка

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

Простой Python, автоматический Spark: минус Kubernetes, плюс продуктивность

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

Установка и эксплуатация приложений Spark в облаке зачастую становятся препятствием для дата-инженеров (Data Engineer, DE): сложная работа с Helm-конфигурациями отвлекает внимание от анализа данных и замедляет подготовку среды. Но полностью отказываться от Spark зачастую нерационально, поэтому многие команды стремятся найти свое решение для обхода существующих сложностей.

Привет, Хабр. Меня зовут Юрий Орлов. Я руководитель команды разработки ML Platform в VK Tech. В этой статье я расскажу о том, как мы автоматизировали развертывание Spark в облаке и создали клиент на Python, который снижает требования к знаниям в области DevOps и Kubernetes, необходимым для начала работы со Spark.

Читать далее

Почему корпорации зарабатывают миллиарды на «бесплатном» коде. История Open source

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

За 50 лет, с 1950 по 2000 годы, открытое программное обеспечение (open source software) началось как неявное предположение — без названия и без четкой альтернативы. Со временем оно превратилось в развитое движение, которое создало одни из самых стабильных и широко используемых программных пакетов в истории.

Сегодня мы попробуем проследить, с чего всё начиналось, какие события способствовали развитию движения и почему без Open Source IT сегодня было бы совсем другим.

Читать далее

Как настроить Nginx, чтобы выдержать DDoS

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

Привет, Хабр! Меня зовут Сергей Черкашин, и я — руководитель команды по эксплуатации систем и защиты от DDoS-атак в Wildberries & Russ.

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

Читать далее

Ваш смартфон — это сервер. Поднимаем Telegram-бота на Android без root и затрат

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

Хотите запустить своего Telegram-бота, но не желаете платить за VPS ради простого пет-проекта? А что, если я скажу, что полноценный Linux-сервер уже лежит у вас в кармане? В этой статье мы пошагово превратим любой Android-смартфон в хостинг для нашего бота на Python. Без root-прав, вложений и сложных настроек. Понадобится только приложение UserLAnd и 60 минут времени.

Читать далее

Как работают ИИ-агенты и кому они на самом деле нужны

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

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

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

Читать далее

API для LLM: разбираем по пунктам, как устроен и как работает протокол MCP

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

Привет! Меня зовут Миша Васильев, я разработчик в команде AI Битрикс24.

В последнее время мы часто говорим про МСР и вот, наконец, решили рассказать простыми словами о том, что это такое, как работает, как мы это используем и планируем использовать. Если коротко, то MCP — это АРІ для LLM.

Читать далее

Как работают федеративные системы: рассказываем на примере YDB

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

YDB — отказоустойчивая геораспределённая СУБД класса Distributed SQL. Она появилась в недрах Яндекса более десяти лет назад и прошла длительный путь от узкоспециализированного хранилища, применявшегося в поисковом движке, до полновесной СУБД общего назначения. Открытие исходного кода YDB в 2022 году стало одной из наиболее ярких опенсорс-инициатив Яндекса.

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

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

Читать далее

Kafka реально быстрая, но я возьму Postgres

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

Команда Go for Devs подготовила перевод статьи о том, почему большинству проектов не нужна Kafka, «веб-масштабные» очереди и зоопарк из пяти баз данных. Автор на бенчмарках показывает, как далеко можно уехать на одном Postgres — и заодно разбирает, почему карго-культ масштабирования и «инфраструктура ради резюме» только мешают делать работу.

Читать далее

Гарантированная доставка данных с помощью библиотеки Polly. Наш опыт взаимодействия с единым реестром интернет-рекламы

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

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

Привет, Хабр! Меня зовут Андрей Алексеенко, я техлид оператора рекламных данных (ОРД) «МедиаСкаут». Особенность нашего продукта — взаимодействие с единым реестром интернет-рекламы (ЕРИР), у которого очень жесткие требования. По данным Роскомнадзора, с января по октябрь 2024 года было вынесено 376 постановлений о нарушениях в сфере интернет-рекламы на общую сумму 24,4 млн рублей.

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

Читать далее

Ищем ошибку в работе WiFi у платы ESP32-C3 SuperMini

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

Статья о небольшой эпопее с поиском ошибки в работе WiFi на плате ESP32-C3 SuperMini, с которой пришлось разбираться в процессе отладки кода прошивки для контроллера батареи АКБ (О контроллере батареи ИБП (вопрос к читателям Хабра) и О контроллере батареи ИБП (часть 2)).

Симптоматика проблемы с WiFi следующая: после включения питания и начала авторизации по WiFi плата ESP32-C3 SuperMini через какое-то время зависает, вплоть до срабатывания сторожевого таймера. Поиск решения проблемы в интернете не помог, но было замечено, что в эти моменты на плате очень сильно нагревается стабилизатор напряжения 3.3V, да так, что даже рука не терпит, тогда как при работе тестовых примеров (где WiFi работает нормально) такого эффекта не наблюдается.

Из-за этого решил копать именно в этом направлении.

Читать далее

NewOnGears | Невангеры 2 на Godot 4

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

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

Читать далее

Boomerang hires: почему компании возвращают сотрудников, которых сократили ради ИИ

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

На волне инвестиций в ИИ многие корпорации сократили штат, рассчитывая заменить людей цифровыми работниками. Но данные HR-аналитики показывают обратный тренд: растет доля "boomerang hires" - бывших сотрудников, которых компании вынуждены нанимать обратно. Разбираем, что пошло не так: завышенные ожидания от автоматизации, недооценка совокупной стоимости владения ИИ и скрытые издержки увольнений.

Читать далее

Краткая история создания аудиокассеты. Часть вторая

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

В предыдущей части мы подробно рассказали о первых разработках конца XIX-начала XX века. Мы продолжаем наш разговор о создании привычной нам аудиокассеты.

Попытки создать коммерчески выгодный диктофон с магнитной проволокой продолжались, и, пожалуй, самым известным их результатом были «Blattnerphone» 1924 года немецкой компании Ferdinand Schuchardt AG и «Textophon BW 1» 1932 года также немецкой компании C. Lorenz AG.

Читать далее

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

Какой Ai-шник нынче нужон?! / Исследование ИИ рынка труда РФ

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

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

В итоге словил простую эврику: «Почему бы просто не залезть на HH и не посмотреть, кого действительно ищут и в каком количестве?»

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

Читать далее

Руководство по архитектуре браузерных песочниц: как работает изоляция JavaScript-кода

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

Всем привет! Последние несколько месяцев я работаю над пет-проектом — интерактивной образовательной платформой для изучения Web Audio API и принципов обработки и синтеза цифрового звука. На платформе пользователи смогут решать задачи, программируя на JavaScript прямо в браузере. Эти программы выполняются в изолированной среде — песочнице, где пользовательский код не может повлиять на работу самой платформы.

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

Устроиться поудобнее и погрузиться в тему

Пример реализации агентного RAG'а

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

Многие знают, что такое RAG. Ну, или по крайней мере слышали о нем :) Но не все знают, что типичная архитектура RAG способна отвечать далеко не на все вопросы. У агентного RAG в этом плане гораздо больше возможностей. Агентный RAG может анализировать запрос, составлять план действий и вызвать внешние инструменты. И все это для выполнения поставленной задачи.

В этой статье на практическом примере разберем как с помощью marker'а, Qwen3-14B, MCP-сервера, энкодера FRIDA и библиотеки Agno создать несложный агентный RAG.

---------------

Мои курсы: Разработка LLM с нуля | Алгоритмы Машинного обучения с нуля

Читать далее

Как устроена цензура изнутри. На примере слитого китайского фаерволла (блокировки Tor, VPN, анализ трафика)

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

Продолжаем нашу серию статей с разбором работы Китайского Firewall'а (GFW). В этой статье углубимся в техническую часть этой системы

Читать далее

Многопоточность без боли: моя шпаргалка для собесов в Java

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

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне пришлось пройти не одно собеседование, услышать десятки каверзных вопросов и потратить уйму времени на подготовку. И вот что я понял: многопоточность — это одна из самых сложных и любимых тем на Java-собеседованиях, независимо от уровня кандидата.

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

Читать далее

Архитектура фронтенда. Навеяно болью от использования FSD

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

Кто я такой и с какой горы прибыл?

Зовут меня Юра и у меня немногим больше семи лет опыта разработки фронта на vue+typescript. Начал я, что забавно, с Angular 5 в далёком 2018, когда пятёрка ещё была актуальной версией, и работал с ним немногим больше пары месяцев, после чего перекатился во vue2.

Работал я исключительно в B2B и внутренней разработке. Системы документооборота, сервисдески и вот это вот всё. Благодаря этому я повидал разного. От DDD, до "паста-болоньезе-код".

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

При всём этом я наблюдал активный рост популярности FSD методологии в сообществе. Это натолкнуло меня на мысль о том, что я просто недостаточно разобрался, и тогда я начал копать. Смотреть, как же готовят FSD, сравнивать с известными мне архитектурными подходами. В этой статье я хочу поделиться выводами, к которым пришёл, и предложить решения, которые нашёл.

Читать далее

3D-таймлайн на чистом JavaScript: как я собирал этот слайдер по шагам

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

Устал от однообразных каруселей? В статье показываю, как шаг за шагом собрать 3D-таймлайн-слайдер с перспективной сеткой, плавной прокруткой и переключением категорий на чистом TypeScript и CSS.

Читать далее