Обновить
-2
0.2

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

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

Оптимизация PostgreSQL: параметры для ускорения запросов

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

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

Читать далее

Проверка готовности приложения к работе в реальном ненадежном мире. Часть 4

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

Четвертая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые выходят по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.

Читать далее

Руководство по созданию приложения для поиска данных на основе агента GraphRAG

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

Это приложение интегрирует GraphRAG с агентами AutoGen, работающими на локальных LLM от Ollama, для бесплатного и автономного встраивания и вывода.

Ключевые моменты включают:
1. Agentic-RAG: - Интеграция метода поиска знаний GraphRAG с агентом AutoGen через вызов функций.
2. Поддержка автономного LLM: - Настройка GraphRAG (локальный и глобальный поиск) для поддержки локальных моделей из Ollama для вывода и встраивания.
3. Вызов функций не из OpenAI: - Расширение AutoGen для поддержки вызова функций с LLM из Ollama через прокси-сервер Lite-LLM.
4. Интерактивный пользовательский интерфейс: - Развертывание пользовательского интерфейса Chainlit для обработки непрерывных разговоров, многопоточности и настроек пользовательского ввода.

Читать далее

Как я создавал бесплатный сервис оптимизации изображений FlashImg.ru

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

Всем привет. В этом материале я расскажу как создавал беспслатный сервис оптимизации изображений FlashImg.ru

Читать далее

Советы Team/Tech Lead: навыки, инструменты и вызовы

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

Team Lead и Tech Lead – это НЕ должности, а ключевые функциональные роли в команде, которые могут взять на себя опытные специалисты. Team Lead отвечает за организацию работы команды, поддержание продуктивной среды и помощь коллегам в достижении общих целей. Tech Lead фокусируется на техническом направлении, принимая архитектурные решения и обеспечивая качество проекта. Эти роли требуют не только профессиональных навыков, но и способности направлять, вдохновлять и поддерживать команду. В этой статье я поделюсь основными навыками, инструментами и вызовами, с которыми сталкиваются Team и Tech Leads, а также расскажу, как справляться с трудностями и добиваться успеха в этих ролях.

Читать далее

Как я получил $5000 за Out-of-Scope XSS

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

Несколько месяцев назад я получил приглашение участвовать в частной программе bug bounty на платформе HackerOne. Сначала я провел свои обычные тесты и обнаружил различные уязвимости, такие как недостаток управления доступом (BAC), утечка авторизационных токенов других пользователей и т.д.

После того как я сообщил об этих уязвимостях программе, я заметил, что XSS считается вне области покрытия согласно их политике. Бизнес программы заключался в том, чтобы предоставлять услуги по созданию систем управления контентом и конструкторов веб-сайтов. При создании аккаунта, пользователи получают уникальный поддомен вида <YOUR-SUB>.target.com, который они могут настраивать.

Учитывая структуру приложения, XSS был ограничен возможностью воздействия только на собственный поддомен, и программа исключила XSS на <YOUR-SUB>.target.com из области покрытия. Это подтолкнуло меня к поиску уязвимости self-XSS и попытке связать ее с другой уязвимостью, чтобы показать более серьезные последствия.

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

Найти self-XSS не заняло много времени.

Читать далее

Как мы обучили Mistral 7B русскому языку и адаптировали для объявлений Авито

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

Привет! Я Настя Рысьмятова, руковожу командой LLM в Авито. Эта статья — про то, какие задачи мы решаем с помощью языковых моделей и как адаптируем их под себя. Мой опыт будет интересен прежде всего тем, кто тоже занимается большими языковыми моделями в крупных продуктовых компаниях. А всем остальным любопытно будет узнать, как модели учатся и решают конкретные задачи Авито — например, помогают пользователям писать тексты объявлений.

Читать далее

Как сделать React Server Components в Electron с помощью Next.js и без открытых портов

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

Статья про то как заставить работать React Server Components внутри Electron приложения с помощью Next.js при этом не запуская локальный сервер и не открывая порты. С возможностью публикации стандартными инструментами. А также исследование зачем все это надо.

Читать далее

Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts

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

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

А ведь кроме установки, есть множество других команд ADB, которые приходится использовать время от времени. Например, отправка фалов на устройство или выгрузка последних логов из logcat на компьютер, для чего тоже нужно было прописывать путь для сохранения файла — очень неудобно и отнимает драгоценное время.

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

В конце статьи ссылки на готовые команды 🌚

Читать далее

PinkHash: Незабываемые розовые хеши

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

Розовый хеш — это как розовый слон, только хеш.

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

К эндокринологам и многомерным антихристам

Как мы внедрили генеративную модель в объявления на Авто.ру. Доклад Яндекса

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

Фронтенд‑разработчики из Авто.ру Максим Алмаев и Дмитрий Размолодин рассказали на внутреннем митапе, как их команда запустила генерацию описаний машин в помощь тем, кто публикует объявления на сервисе. Вы узнаете, зачем разработчики лимитировали нагрузку, как победили проблему галлюцинаций и что помогло убедиться в корректной работе решения.

Переложили выступление ребят в текст для удобства читателей Хабра.

Читать далее

Построим GPT: с нуля и шаг за шагом

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

В этой статье я построил GPT архитектуру на данных из произведений Шекспира и получил достаточно впечатляющие результаты.

Читать далее

Сервис для обхода блокировки OpenAI API в России или ваш первый API

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

Всем привет! Сегодня я расскажу вам, как я сделал сервис для обхода блокировки OpenAI в россии со стороны OpenAI (не Роскомнадзор даже) с использованием FastAPI и Docker. Мотивация проста. У меня в РФ есть сервер на котором работают сервисы и я хочу подключить к ним OpenAI, но они не дают доступ, распознавая IP из россии. Подумал что напишу сервер для пересылки запроса. Если вам интересно, как за несколько шагов запаковать работу с ИИ в красивую и простую оболочку, то устраивайтесь поудобнее. Мы вместе погрузимся в этот увлекательный процесс!

Читать далее

Почему GitHub на самом деле победил: история глазами сооснователя

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

Недавно мы опубликовали в блоге перевод статьи о том, как GitHub заменил SourceForge в роли доминирующей платформы для хостинга кода. Но, как справедливо отметил автор оригинала, его мнение основано на открытых источниках и интервью с коллегами. А потом своим ви́дением поделился один из сооснователей GitHub, Скотт Чакон, который «действительно был там». Под катом — перевод его ответной статьи о реальных причинах победы GitHub. 

Читать далее

Postgres, как настроить запросы между разными БД

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

Всем привет. На днях пришлось вспомнить магию Postgres, задача была решена, по результатам написал инструкцию в корпоративную базу знаний, что бы в следующий раз не тратить время на "воспоминания". Решил поделиться.

Ниже речь будет идти о чтении данных одной БД из другой БД. В частности я решал такую проблему:

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

То есть запрос вида:

select a.id from auth.public.user a join trade.public.tenders t on a.id = t.user_id;

Вызовет ошибку "[0A000] ERROR: cross-database references are not implemented".

Что делать ?

Читать далее

SoundCloud Api или как пример «плохой» документации

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

Привет, Хабр, недавно я решил написать свой аудио плеер, используя разные платформы и фреймворки.

Но, сегодня статья не совсем об этом. На этапе требований к технической составляющей проекта я решил, что нужно какой-то место откуда можно "подтаскивать" мелодии. Пересмотрел я много api и остановился на SoundCloud из-за ряда преимуществ:

Читать далее

Я ускорил генерацию blurhash в 3̶6̶ 8̶7̶ 128 раз

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

Старую собаку новым трюкам не обучишь, вот и я взялся за старое. Blurhash — это компактный способ представления размытой превьюшки изображения в виде ASCII-строки. Разработан финской компанией Wolt (аналог Delivery Club). Давно хотелось внедрить такое к себе в API, чтобы любой клиент мог более плавно и изящно делать загрузку контент на своем сайте. Но сколько я на него смотрел — всегда не давала покоя скорость работы, уж больно медленно и «в лоб» он был написан. Но вот время пришло наконец-то разобраться, что же он так медленно работает.

Читать далее

Веб-доступность. Бесконечная лента

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

Про то, что такое бесконечная лента (Infinity Scroll, Feed) - есть много статей, постов, гайдов по реализации самого функционала, и, кажется, рассказывать про то, как именно ее реализовать и что это такое - не идея этой статьи. Так же, как и рассказывать о плюсах и минусах этого подхода. Если Вы все же не знаете, что это за чудо инженерной мысли - можно ознакомиться тут.

Лично я хочу сосредоточиться на доступности такой ленты, а в конце - пример реализации на простом HTML/CSS/JS с поддержкой альтернативного управления, однако такой пример легко портировать на любой другой фреймворк/библиотеку.

Читать далее

Inertia 2.0: Новые возможности для разработчиков

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

На конференции Laracon Тэйлор Отвел, создатель популярного PHP-фреймворка Laravel, представил Inertia.js версии 2.0 — самое крупное обновление с момента запуска этого пакета. Новая версия приносит множество полезных функций, которые значительно упростят разработку приложений на Laravel и Inertia.js.

Читать далее

Рекуррентные нейронные сети наносят ответный удар

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

Рекуррентные нейронные сети (RNN), а также ее наследники такие, как LSTM и GRU, когда-то были основными инструментами для работы с последовательными данными. Однако в последние годы они были почти полностью вытеснены трансформерами (восхождение Attention is all you need), которые стали доминировать в областях от обработки естественного языка до компьютерного зрения. В статье "Were RNNs All We Needed?" авторы пересматривают потенциал RNN, адаптируя её под параллельные вычисления. Рассмотрим детальнее, в чем же они добились успеха.

Читать далее

Информация

В рейтинге
3 038-й
Зарегистрирован
Активность