Обновить
1

Пользователь

Отправить сообщение

Apache Spark и компиляция пользовательских функций UDF на Java в рантайме

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

Привет, Хабр! Меня зовут Михаил Сичалов, я руководитель проектов и эксперт практики Applied Intelligence в компании Axenix.

Это вводная статья из цикла работ, посвящённых реальным сценариям использования Apache Spark и сопутствующим техническим нюансам, с которыми я столкнулся за последнее десятилетие работы над проектами в области Data Engineering. Я решил систематизировать и переосмыслить свой опыт работы с этим фреймворком и поделиться с сообществом интересными и нестандартными аспектами, освоенными на практике.

Несмотря на выразительность модуля Spark SQL с точки зрения описания преобразований над данными, зачастую возникает необходимость в создании пользовательских функций (UDF). Для этого в Apache Spark есть целое подмножество API, с помощью которого можно реализовать пользовательскую функцию произвольной сложности. Но что делать в случае, когда код функции становится доступным только в рантайме, а Spark используется в связке с Java API?

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

Читать далее

Как внедрить AI (Claude) и отследить его влияние на команду

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

Пошаговое руководство по внедрению Claude Team и Claude Code в команду: подготовка инфраструктуры, настройка, мониторинг, метрики и лучшие практики использования AI в разработке.

Читать далее

Архитектура AI-сервисов: почему монолит убивает latency и GPU

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

Ваш AI‑чат или автокомплит тормозит при 50 запросах в секунду? Монолит убивает GPU и латенси?

В этом туториале — реальная архитектура low‑latency инференса на high‑load: почему изолированный inference‑bundle вместо монолита, как выбрать между vLLM и SGLang без маркетинга, зачем нужны continuous batching и admission control.

Читать разбор

Я «нанял» AI-команду разработки и управлял ею через Kanban: опыт на реальном продукте

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

Я руководитель проектов и у меня есть команда разработки продуктов. Аналитики исследуют и анализирует новые фичи, пишут спецификации. Есть разработчики и тестировщики. Есть DevOps, который чинит CI и выкатывает релизы. И даже есть технический писатель анализирует изменения и обновляет документацию.

Обычная продуктовая команда разработки.

Только людей в этой команде нет.

Все исполнители - AI-агенты…

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

Современные AI-агенты способны выполнять работу разных инженерных ролей, так почему бы не управлять ими как полноценной командой? А для управления использовать те же подходы, которыми мы давно управляем человеческими командами: Kanban, Scrum, Agile, Definition of Done, декомпозиция, pipeline, review, escalation.

Эта статья — про мой практический опыт такого подхода. Не про «AI заменит программистов». Не про «теперь можно не думать». И не про «вот магическая кнопка, которая делает продукт». Скорее наоборот: чем больше AI пишет кода, тем важнее становятся процесс, постановка задачи, спецификации, тесты, CI, документация и контроль состояния.

Сможет ли AI заменить команду разработки

Ваш RAG не умеет думать. А мой умеет

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

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

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

Сегодня рассмотрим open-source RAG-фреймворк HippoRAG 2. В сфере RAG главным преимуществом данного фреймворка является качество ответов, потому что принципы его работы основаны на реальном человеческом мозге. Давайте разберёмся, откуда он взялся, как устроен изнутри и как его запустить.

Читать далее

Claude отключил мне OpenClaw. Штош… я написал замену TG+Claude Max по oAuth

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

В субботу Anthropic заблокировал мой рабочий сетап, построенный на oAuth Claude Code и Telegram. Вместо того чтобы ждать, я за вечер написал self-hosted замену с блэкджеком и постоянной памятью. Рассказываю, как устроен TeleClaude — опенсорсный инструмент, который позволяет управлять проектами через топики в Telegram, используя вашу локальную подписку Claude с лимитами из oAuth. Никаких облаков, API и дополнительных трат. Разбираю архитектуру, систему памяти и показываю, как запустить у себя.

Читать далее

Как я перестал «вайбкодить» с LLM и собрал процесс разработки, который не разваливает проект

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

Я использую LLM в повседневной разработке уже больше года и довольно быстро упёрся в типовую проблему: модель генерирует “красивый код”, но по мере роста проекта появляется дублирование, разъезжается стиль, растёт число заглушек и отладка становится дорогой. В статье покажу процесс, который мне помог: как разделять контекст по чатам, какие артефакты требовать на каждом шаге и какими чек-листами я проверяю результат.

Читать далее

Больше чем просто данные в S3. Iceberg как основа архитектуры Next-Gen КХД

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

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

Привет, Хабр. Меня зовут Алексей Белозерский. Я руководитель профессионального сервиса VK Data Platform, VK Tech. В этой статье я расскажу, что стало предпосылкой появления нового формата данных и что скрывает Iceberg «под толщей воды».

Читать далее

Как гонять Claude Code (и не только) с качественными моделями задешево?

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

Вижу много высказываний на тему, что Claude Code хорош, но очень дорог. И это правда. С платой за API деньги улетают с пугающей скоростью. А с подпиской быстро упираешься в ограничения. При этом есть модели вполне сравнимого качества, но в разы (если не на порядок) дешевле.

Как подключить?

Вышла 12 версия русского опенсорс голосового помощника Ирина (900+ звезд Гитхаб)

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

Всем привет! Я уже писал про своего голосового помощника Ирину статьи на Хабре: раз, два и три; первый раз был аж 3.5 года назад.

Самое главное — опенсорс проект жив. А если опенсорс жив в течение 3.5 лет — значит, он дошел до какой‑то точки зрелости. А если у него 900 звезд на Гитхабе — значит, им кто‑то пользуется, и даже успешно :)

TL;DR> Python с простой архитектурой. Работает оффлайн, полностью локально и приватно. Можно дописывать свои скиллы через плагины. Плагинов много, есть от комьюнити. Поддержка Home Assistant. Поддержка кучи TTS. Поддержка LLM по OpenAI‑совместимому API, можно сделать онлайн или оффлайн. Есть клиент‑сервер.

Читать далее

Делаем ТруЪ-DevOps в мире хранилищ данных

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

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

В нашем data warehouse 6,5 петабайт активных данных. Вы и сами можете представить масштабы, когда речь идет о Почте России: работа сайта и приложения, логистика, трейсинг посылок и даже строительство сортировочных центров основываются на данных нашего хранилища. 

Я расскажу, как мы применяем DevOps-практики на таких объемах DWH и как внедрить подобное у себя.

Читать далее

Как оценивать ваш RAG-пайплайн и валидировать качество ответов LLM

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

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

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

Читать далее

Командная динамика по Брюсу Такману: чему нас учит опыт подводников

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

И тут нам на помощь пришел американский психолог Брюс Такман, которому довелось исследовать тысячи команд по заказу Министерства Обороны США. Военные пытались понять, как себя будут вести экипажи подводных лодок в автономном плавании. Не захочет ли кто уволиться? Или там предъявить капитану черную метку?

На основании этих исследований Такман сформулировал свой концепт, которым мы теперь с благодарностью пользуемся:



И тут необходимо вспомнить несколько историй из реальной жизни…

Несколько историй о том, как ускорять формирование команд

У тимлида нет цели, но есть путь. Или как стать настоящим самураем и не сделать сеппуку

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

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

Читать далее

Расширения VSCode для комфортной работы с проектами

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

Для работы с проектами существует куча редакторов кода и IDE (VSCode, NeoVim, SublimeText, WebStorm и т.д.). В данный момент наиболее популярны VSCode и Webstorm и у каждого есть свои плюсы и минусы. Webstorm является примером прекрасного IDE от компании JetBrains, где многие вспомогательные модули идут “из коробки”. К сожалению, сейчас нет возможности легально получить доступ к этому продукту гражданам России, поэтому многим приходится искать альтернативу. Такой альтернативой вполне может стать Visual Studio Code от компании Microsoft, который имеет открытую кодовую базу, полностью бесплатный и гибко настраиваемый под ваши нужды. В данной статье мы рассмотрим пример настройки рабочего пространства VSCode для комфортной работы с нашими проектами. Я покажу вам, какими расширениями я пользуюсь для лучшего удобства и продуктивности. Эти расширения я использую давно и они хорошо зарекомендовали себя, но возможно некоторые из них могут не подойти под ваш стиль работы и написания кода. Итак, начнем!

Читать далее

[Python Intermediate] Урок 2. Docker и docker-compose

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

К сожалению, в python-мире до сих пор повсеместно применяется неизолированный запуск приложения и его инфраструктуры на личных устройствах. Боюсь, даже опытные специалисты неохотно используют контейнеризацию, хотя в действительности её плюсы неоспоримы.

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

Читать далее

Создаем простой AI чат-бот Telegram с помощью Ollama и нескольких строк кода на Python

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

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

Читать далее

Домашняя лаба. Как собрать домашнюю инфраструктуру мечты

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

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

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

Читать далее

Что мы используем для анализа Android-приложений

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

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

Читать далее

Как устроен билд APK файла внутри

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

Процесс создания APK и компиляции кода


Рассматриваемые темы


  • Архитектура процессоров и необходимость для виртуальной машины
  • Понимание Java виртуальной машины
  • Компиляция исходного кода
  • Виртуальная машина Андроид
  • Процесс компиляции в .dex файл
  • ART против Dalvik
  • Описание каждой части билд процесса
  • Исходный код
  • Файлы ресурсов
  • AIDL файлы
  • Модули библиотек
  • AAR библиотеки
  • JAR библиотеки
  • Android Asset Packaging Tool
  • resources.arsc
  • D8 и R8
  • Dex и Multidex
  • Подписывание APK файла
  • Ссылки

Читать дальше →
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность