Обновить

Разработка

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

Как ускорить управление сетевой подсистемой Linux: пишем Netlink-обертку на C++

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

Привет, Хабр! Меня зовут Егор Карамышев, в YADRO я разрабатываю ПО для коммутаторов семейства KORNFELD. В статье расскажу о реализованной нами С++ обертке для управления сетевой подсистемой Linux на основе протокола Netlink и библиотеки libnl3. В некоторых случаях она позволила  на порядок ускорить работу функций конфигурирования. Разберемся, почему мы решили отказаться от подхода с системными вызовами, а также посмотрим на результаты временных тестов.

Читать далее

Балансировка нагрузки в Яндексе: новые проблемы роста

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

Всем привет, меня зовут Володя. Я работаю в Yandex Infrastructure и занимаюсь развитием систем балансировки нагрузки. В статье расскажу, как развивалась наша новая система управления конфигураций с момента её создания в 2018 году, а ещё о том, как мы переходили на новый Data Plane балансировки и какие новые интересные вызовы это породило с точки зрения массовости задач и управления ресурсами. 

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

Читать далее

Звёздная болезнь: как научиться разбираться в ночном небе, чтоб пофлексить перед друзьями

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

Представьте: вы гуляете по ночному парку с прекрасной девушкой после романтического вечера в ресторане. Тут перед вами открывается полянка, а над ней — летнее небо, полное звезд. Вы невзначай говорите: “о, смотри, сейчас Плеяды особенно яркие”! Показываете на небо, девушка прижимается к вам поближе, чтобы разглядеть, куда же вы показываете, и…Ну дальше все в ваших руках. А вот не знали бы, где Плеяды — и все, так и пошли бы грустно по домам. В этом посте расскажу, как научиться различать созвездия, что можно наблюдать невооруженным взглядом, как выбрать первые девайсы и всякое такое.

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

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

Вперед, к звёздам!

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Всем привет!

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

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

Читать далее

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

Что скрывается за «сертификатами безопасности» от Минцифры?

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

Здравствуйте, уважаемые хабровчане.

Я решил провести собственное небольшое расследование о так называемых «сертификатах безопасности» от Минцифры. Цель — собрать полное техническое досье и разобраться, почему их установка может нести потенциальные риски для безопасности данных.

(Оригинал без терпения, все скрипты и файлы, упомянутые в статье, доступны в этом GitHub‑репозитории).

Читать полностью

Как за 5 дней с помощью Claude я создал приложение для кошки с диабетом (и кажется запустил стартап)

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

У моей кошки Манишки диабет. Ей 13 лет, весит она всего 3 кг, и каждый день я меряю ей сахар глюкометром и колю инсулин. Первые месяцы записывал показания в блокнот на холодильнике — просто дата, время, цифра. Потом понял что так динамику не увидишь, перешёл на Excel с формулами и цветными ячейками. Потом написал Python‑скрипт который рисовал графики и сохранял их картинками.

А что из этого получилось — смотрите под катом!

Читать далее

Digital Ocean преследует меня из-за $0,01 или Полезный урок по автоматизации

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

Есть три вида писем, которые могут испортить блаженную субботу: уведомление безопасности, предупреждение об отключении электричества и, очевидно, повторное напоминание о том, что вы задолжали облачному провайдеру один цент — да, именно $0,01. Услугами DigitalOcean я пользуюсь с 2013 года, хотя для личных задач я этот сервис использую редко, просто авторизуюсь несколько раз в неделю для обеспечения поддержки моих клиентов на этой платформе.

Читать далее

Ностальгические игры: Fallout New Vegas

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

Начав знакомство с серией Fallout с ее первых частей, выход третьей вызвал во мне смешанные чувства. С одной стороны, это было захватывающее приключение от первого лица в мире любимой игры, с другой же проект ощущался для меня больше как шутер с элементами RPG, где от глубокой ролевой системы классики осталось не так много. И только с выходом New Vegas я наконец получил ту игру, которая по духу оказалась ближе всех к классическому Fallout — даже несмотря на то, что работала она всё на том же движке, что и «тройка».

Для подготовки этой статьи я перелопатил весь интернет в поисках редких фактов и комментариев людей, которые работали над New Vegas. Нашлись даже интервью на японском языке 🤯 — не говоря уже о множестве англоязычных материалов. Я постарался собрать из всего этого цельный, увлекательный текст, который не просто расскажет о создании игры, но и, надеюсь, пробудит у вас желание снова вернуться на Мохавскую пустошь. New Vegas — по-настоящему глубокая и многослойная игра, и мне искренне хочется, если не отправить вас туда лично, то хотя бы подарить повод поностальгировать и узнать что-то новое, читая мой свежий обзор. А в конце вас ждёт бонус: полностью готовая сборка игры с фанатской модификацией, чтобы вы могли сразу после прочтения отправиться навстречу приключениям!

Читать далее

Современные OCR для сложных документов: сравниваем 6 open-source моделей на реальном кошмаре инженера

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

Привет, Хабр! Каждый, кто хоть раз пытался вытащить данные из скана акта или старого отчета, знает эту боль. Классические OCR-инструменты, вроде старого доброго Apache Tika, отлично справляются с простым печатным текстом, но пасуют перед реальными вызовами: таблицами со сложной вёрсткой, рукописными пометками, мелким курсивом и разными шрифтами в одном документе.

Чтобы не быть голословными, давайте посмотрим на типичный «сложный» документ и что с ним делает Tika.

Читать далее

Мультитул для инженера: волшебная коробочка с I2C/SPI/UART/JTAG за 1.000 рублей

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

Будучи творческим человеком и техногиком, я обожаю при первой возможности апгрейдить своё оборудование. Время от времени я мониторю маркетплейсы в поисках чего-то новенького и в этот раз я наткнулся на настоящий мультитул для Embedded-разработчика — контроллер I2C/SPI/UART/JTAG в одной коробочке и всё это всего за 1.000 рублей... Конечно я не смог пройти мимо этой штучки и в рамках сегодняшней статьи хочу рассказать что оно из себя представляет и как с ним работать. Жду вас под катом!

Читать далее

Бенчмарки для теста телефона на производительность

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

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

Читать далее