Pull to refresh
-1
0.1
Send message

Тимлид или ведущий дейликов?

Level of difficultyEasy
Reading time8 min
Views2.5K

«У меня не тимлид, а просто ведущий дейликов!» — с горечью однажды воскликнул мой знакомый, и эта фраза послужила для меня поводом к написанию этой статьи. Ведь я тоже уже давно замечаю, что с ролью тимлида в последние годы происходит что-то не то. Причем как со стороны самих лидов, так и со стороны их руководителей

Читать далее

Next.js 15 в Hikasami: Глубокая оптимизация рендеринга, загрузки данных и производительности

Level of difficultyMedium
Reading time4 min
Views2.7K

В эпоху цифрового контента каждая миллисекунда загрузки страницы может существенно повлиять на пользовательский опыт. В Hikasami, платформе, предоставляющей потоковое аниме и азиатские медиа для пользователей СНГ, наша цель — обеспечить мгновенную загрузку страниц, минимизировать задержки, а также гарантировать актуальность данных. Для этого мы внедрили Next.js 15, который открыл перед нами возможности глубокой оптимизации:

Читать далее

ООП: худшее, что случалось с программированием

Level of difficultyHard
Reading time20 min
Views106K

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

Почему observability — это не только Grafana и Prometheus

Reading time11 min
Views19K

Вы видите красивые графики в Grafana, алерты настроены, метрики собираются — значит, все под контролем? На самом деле, нет. Когда в продакшене что-то пойдет не так, Prometheus покажет скачок latency, но не объяснит, почему это произошло. Логи могут не содержать нужных данных. Трейсов нет. Итог — часы расследования, хаотичные гипотезы, поиски иголки в стоге сена.

Observability — одно из тех модных слов, которые часто понимают неправильно. Для многих оно сводится к связке Grafana + Prometheus, не более. Однако в реальных системах наблюдаемость (observaбыстроbility) — это больше, чем просто красивые дашборды с метриками. В этой статье разберемся, почему классический стек не покрывает все задачи, какие альтернативы есть на рынке и как построить современный observability-стек.
Читать дальше →

Батарея, живи! Как не превратить MacBook в стационарный ПК

Level of difficultyEasy
Reading time3 min
Views21K

Привет, всем моим читателям! Сегодня я расскажу о том, как продлить жизнь своему яблочному аппарату под названием MacBook. Всё началось с того, что я впервые в жизни купил себе MacBook M2 Pro, и мне, как и, наверное, любому другому человеку, после такой покупки захотелось продлить это счастье как можно дольше. Более того, ты начинаешь паниковать из‑за каждой мелочи: «он слишком пыльный!», «а вдруг скоро закончится память?» (хотя там ещё 400 ГБ свободно), «а вдруг...» Ну или это я просто такой шизоид.

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

Читать далее

Как я создал полностью автоматизированное онлайн радио с AI ведущими и музыкой

Level of difficultyMedium
Reading time5 min
Views24K

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

Это моя небольшая история, как я за месяц написал карманное медиа с полной автоматизацией, где роботы-ведущие заменили кожаных мешков и ведут подкасты, в которых шутят про AI

Читать далее

Трансформация платформы данных: от пары кубов до хранилища > 30 Тб и 1000 ETL-процессов

Level of difficultyMedium
Reading time9 min
Views5.6K

Привет, Хабр! Меня зовут Наталья Горлова, я архитектор данных. Несколько лет назад мы в CDEK поняли, что продукты, на которых работало хранилище, перестали нас устраивать: не устраивала гибкость разработки и скорость поставки данных. C тех пор произошло множество изменений, которыми хочется поделиться с сообществом.

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

Читать далее

Оптимизация JOIN в PostgreSQL

Level of difficultyEasy
Reading time7 min
Views15K

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Как собирать данные: руководство для ИИ-стартапов

Level of difficultyMedium
Reading time17 min
Views1.8K

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

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

Читать далее

История создания идеального Docker для Laravel

Level of difficultyEasy
Reading time13 min
Views10K

Казалось бы, упаковать PHP в контейнер и настроить GitHub Actions - дело пяти минут. Но как часто бывает, реальность оказалась сложнее. Это история о том, как я вернулся к разработке на PHP и решал накопившиеся проблемы с деплоем Laravel-проекта. О том, как готовил Docker-образ, несколько раз переписывал процесс деплоя, находил компромиссы там, где это было возможно, и полностью перестраивал архитектуру там, где компромиссы были неприемлемы.

Читать далее

Как LangChain и LangGraph упрощают жизнь разработчика ИИ-Агентов

Level of difficultyMedium
Reading time12 min
Views8.4K

При разработке приложений на основе больших языковых моделей (LLM, Large Language Model) встает вопрос: вызывать ли модель напрямую через API (например, OpenAI) или использовать специализированные фреймворки вроде LangChain или LangGraph. Ниже мы рассмотрим, с какими сложностями сталкивается разработчик при прямом использовании LLM, и как LangChain и LangGraph помогают упростить создание сложных диалоговых и агентных систем. Также приведем примеры кода, сравнивая прямые вызовы с использованием этих фреймворков, и обсудим, когда их применение оправдано.

Читать далее

Ежегодный опрос PHP-сообщества: итоги 2024 года

Level of difficultyEasy
Reading time8 min
Views6.8K

2024 стал насыщенным годом для русскоязычного сообщества PHP-разработки. PHP Russia 2024, релизы PHP 8.4, Symfony 7.2 и Laravel 11.

Как и в последние 4 года, мы провели масштабный опрос, чтобы узнать, чем живут разработчики, какие инструменты используют и куда движется индустрия. На этот раз своим мнением делились 1207 респондентов.

Читать далее

Почему измерять ≠ управлять: как KPI искажают реальность и какой инструмент использовать осознанному руководителю

Reading time8 min
Views7.7K

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

В этом материале расскажем к чему это приводит и какой инструмент использовать осознанному руководителю.

Читать далее

Как я объединил перевод и суммаризацию текстов, и что из этого вышло

Level of difficultyMedium
Reading time8 min
Views1.8K

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

Однако при ближайшем рассмотрении эти задачи имеют много общего...

Читать далее

Perforator: новая система непрерывного профилирования теперь в опенсорсе

Level of difficultyMedium
Reading time21 min
Views39K

Привет! Сегодня мы выложили в опенсорс Perforator — систему непрерывного профилирования (continuous profiling), которую используем внутри Яндекса для анализа производительности большинства сервисов.

В Github-репозитории доступен исходный код системы и инфраструктура для развёртывания своей инсталляции Perforator на кластере Kubernetes. Кроме того, Perforator можно использовать на своём компьютере как более простую замену perf record: профили получаются точнее, а оверхед меньше. Исходный код доступен под лицензией MIT (и GPL для eBPF-программ) и запускается под x86-64 Linux.

При помощи Perforator и прошлых подходов к задаче профилирования мы регулярно оптимизируем самые крупные сервисы в Яндексе, например Баннерную крутилку или Поиск, на десятки процентов. Кроме того, Perforator реализует недостающий в опенсорсе компонент профилирования для простой автоматической оптимизации программ с использованием profile-guided optimization. Наши тесты показывают, что использование PGO даёт ускорение около 10% в разных сценариях.

Под катом поговорим про профилирование под Linux, опишем вызовы и сложности, возникающие при профилировании, изучим, как устроен Perforator внутри, и обсудим, как можно использовать полученную систему.

Читать далее

Как с помощью deep learning мы построили Геокодер, масштабируемый для разных стран

Reading time11 min
Views11K

Давным‑давно, когда мир ML состоял из бустингов, линейных моделей и статистических подходов, перед нашей командой API Яндекс Карт стояла задача сделать качественный Геокодер. Это алгоритм, который конвертирует текстовые запросы пользователей в поисковой строке карт в координаты и обратно. Он нужен, когда люди вводят адреса с ошибками, опечатками или народными наименованиями, например «Мяснитская 8». Геокодер должен понять, что имелось в виду «улица Мясницкая, дом 8/2», и вернуть на карте отметку с точной локацией и координатами.

Разработанный для России Геокодер отлично справлялся, но мы хотели найти способ быстро адаптировать это решение к адресным системам других стран. Технологические ограничения не позволяли быстро адаптировать решение, поскольку для каждой страны требовалась разработка собственных правил геокодирования, которые бы учитывали различия и языковые особенности. Однако появление и развитие алгоритмов deep learning открыло новые горизонты: методы active learning, аугментации данных и contrastive learning позволяют значительно улучшить итоговое качество геокодирования и учитывать нюансы различных адресных систем.

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

Читать далее

Используем HTTP API Gemini 2.0 thinking бесплатно

Level of difficultyMedium
Reading time4 min
Views19K

Давно не писал статей на хабр, потому что редко находится что-то такое полезное.

Недавно обнаружил, что гугл даёт делать 1500 бесплатных в сутки на свою модель gemini. Что вполне достаточно для создания прототипа или даже небольшого пет-проекта. Как по мне так это не плохой способ начать эксперементировать с gpt-моделями и при этом ничего не платить.

На ai.google.dev видно, что можно использовать 1500 запросов на gemini 1.5 flash и 1500 на gemini 1.5 flash 8b. Размер контекста - 1 миллион токенов.
Карту привязывать не надо. Я вообще создал под это дело новый гугловый аккаунт, чтобы не париться, что могу не уложиться в бесплатные лимиты.
Чего не написано в прайсе так это то, что помимо моделей 1.5 flash также доступны бесплатно ещё и топовые модели gemini 2.0 flash и gemini 2.0 flash thinking. С теми же ограничениями - не более 1500 запросов в сутки на каждую.

А теперь посмотрим как обойти блокировки

Agile умер: из-за своего сострадания к product- и project-менеджерам (с) Фридрих Ницше

Level of difficultyEasy
Reading time8 min
Views43K

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

Читать далее

Заменяем хабраюзеров ИИ-агентами. Гайд по browser-use

Level of difficultyEasy
Reading time4 min
Views15K

TLDR: видео с результатом в конце статьи

Библиотека browser-use невероятно стрельнула практически в день релиза, на текущий момент это около 16 тысяч звезд на Гитхабе, и сотни восторженных отзывов на Reddit, в Твиттере, и так далее. Команду, создавшую browser-use даже приняли в YC. У неё революционная точность по сравнению с другими "ИИ агентами использующий браузер" (89% против Runner H с 67%).

Я очень удивился, что на Хабре всё ещё нет статьи с описание того, что это, и как это использовать. Сегодня мы это исправим: мы сделаем ИИ, который будет читать статьи на Хабре, и писать комментарии о том, почему продукт, описанный в статье, никому не нужен.

Добро пожаловать в мир ИИ-агентов!

Open-source альтернативы Operator от OpenAI

Level of difficultyEasy
Reading time3 min
Views5K

Ну вот, буквально позавчера я написал статью про Browser Use, и уже на следующий день OpenAI объявил о выпуске Operator — ИИ-агента, который может работать в браузере вместо вас.

Мало того, что OpenAI открыто манипулируют данными, не включая Browser Use в свой бенчмарк (потому что Browser Use лучше Operator — 89% против 87% в тестах Web Voyager), так ещё и работа идет в браузере на удаленном сервере (уже дико по отношению к приватности), то ещё и скрины всего, что происходит OpenAI будут хранить 3 месяца.

В общем, let's make AI open again: вот подборка альтернатив Operator, которые работают локально и не требуют ни денег, ни делиться своими данными.

Поехали!

Information

Rating
4,332-nd
Registered
Activity