Как стать автором
Обновить
295.52

Open source *

Открытое программное обеспечение

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

Самый быстрый фреймворк на Диком Западе: ускоряем Django-rest-framework вместе с Rust

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

Всем привет! Меня зовут Роман Кабаев, я инженер в отделе разработки инструментов тестирования компании YADRO. Вместе с коллегами мы разрабатываем собственную тест-менеджмент систему с открытым исходным кодом TestY.

На этапе запуска TestY в качестве фреймворка для разработки мы выбрали Django, так как он позволяет в максимально короткие сроки реализовать MVP. Однако развивать такой продукт — добавлять фичи, наращивать число пользователей и объем хранимых данных в системе — бывает сложно.

Мы действительно быстро запустили MVP, перевезли данные из TestRail с помощью плагинов, и команды тестирования YADRO уже более года пользуются системой. Но есть одно «но»: пользовательские сценарии разных команд сильно отличаются. Так, добавление в систему более полумиллиона тестов привело к просадке скорости работы определенных эндпоинтов, завязанных на древовидных структурах. 

Спойлер: камнем преткновения для нас стали CPU-bound задачи с большим количеством данных, о том, как я это выяснил, расскажу ниже. Изучив, как можно ускорить выполнение таких задач в Python, я протестировал несколько решений и нашел оптимальное. Если вы разрабатываете веб-приложение на Django или Python и так же, как я, хотите ускорить работу сервиса, читайте эту статью.

Читать далее
Всего голосов 21: ↑21 и ↓0+26
Комментарии14

Как развивалась технология экстремального сжатия LLM: от QuIP до AQLM с PV-tuning

Время на прочтение4 мин
Количество просмотров7.8K

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

Модели выкладываются в формате float16, где на один вес выделяется 16 бит. Два года назад человечество научилось хорошо сжимать нейросети до 4 бит с помощью таких методов, как GPTQ. Но на этом исследователи не остановились, и сейчас актуальная задача — сжатие моделей до 2 бит, то есть в 8 раз. 

Недавно исследователи Yandex Research совместно с коллегами из IST Austria и KAUST предложили новый способ сжатия моделей в 8 раз с помощью комбинации методов AQLM и PV-tuning, который уже доступен разработчикам и исследователям по всему миру — код опубликован в репозитории GitHub. Специалисты также могут скачать сжатые с помощью наших методов популярные опенсорс-модели. Кроме того, мы выложили обучающие материалы, которые помогут разработчикам дообучить уменьшенные нейросети под свои сценарии.

О том, как исследователи пришли к сегодняшним результатам, мы расскажем на примере двух «конкурирующих» команд и их state-of-the-art алгоритмов сжатия — QuIP и AQLM. Это короткая, но увлекательная история «противостояния» исследователей, в которой каждые пару месяцев случаются новые повороты, появляются оптимизации и оригинальные подходы к решению проблем.

Читать далее
Всего голосов 34: ↑34 и ↓0+43
Комментарии14

Кворум кроликов или RabbitMQ Quorum

Время на прочтение3 мин
Количество просмотров1.9K

Заводим кворум без фундаментальщины и теории 🤷‍♂️ (думаю, что по этому поводу статей хватает). Разбираем helm bitnami/rabbitmq-cluster-operator (чуть-чуть).

К разбору
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Управляем нашей лодкой прямо с веб-страницы на телефоне

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров2.2K

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

Короче, идем под кат, я все расскажу.
Всего голосов 6: ↑6 и ↓0+10
Комментарии7

Истории

Всего два месяца — и новый релиз: Linux 6.10 уже готов

Время на прочтение5 мин
Количество просмотров8.3K

Хорошо, когда новинки выходят быстро, а не спустя полгода-год. В этот раз мы радуемся ядру Linux 6.10, в котором немало изменений. В частности — обновленный драйвер ntsync c примитивами синхронизации Windows NT, компоненты DRM Panic, появление возможности шифрованного обмена данными с устройствами TPM и новый драйвер для GPU Mali. Есть, конечно, и другие изменения, о чем можно узнать под катом.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+46
Комментарии4

Каких фич не хватает K8s по мнению юзеров Reddit: толковый менеджер пакетов и устранение болей с sidecar-контейнерами

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

Представьте, что у вас появилась возможность включить новую фичу в Kubernetes или что-то в нём кардинально поменять. Что бы вы добавили или изменили? Похожие вопросы постоянно появляются на Reddit.

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

Читать далее
Всего голосов 23: ↑23 и ↓0+29
Комментарии3

Корпоративная магистратура ИТМО и Яндекса: как всё устроено

Время на прочтение5 мин
Количество просмотров4.1K

Корпоративная магистратура Яндекса работает в ИТМО уже второй год. Конечная цель программы ― еще на этапе обучения дать практический опыт, необходимый для работы в коммерческой разработке. Магистранты программы решают не абстрактные задания из учебника, а реализуют проекты, которые потом попадают на прод в проектах Яндекса ― в том числе в Open Source. В статье рассказываем, как всё устроено и над чем работают студенты.

Читать далее
Всего голосов 7: ↑6 и ↓1+9
Комментарии0

CyberCorrector@CyberOffice.pro

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров339

Профессиональные тексты отличаются быстротой чтения, легкостью понимания и запоминания.

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

В издательской деятельности расстановку разделителей делает корректор.

CyberCorrector автоматически расставляет разделители в профессиональных текстах пользователей CyberOffice.pro.

Далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Исследуя мир изображений: PicTrace и искусственный интеллект в действии

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров953

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

Что же такое PicTrace и как эта платформа помогает решать такие задачи? Каким образом она использует мощь OpenCV и TensorFlow для обработки изображений? Почему сочетание структурного сравнения и ключевых точек делает мой подход интересным?

Читать далее
Всего голосов 5: ↑5 и ↓0+9
Комментарии4

Vercel VS Edge VS Next. Что такое Vercel Edge, зачем, как и куда

Время на прочтение9 мин
Количество просмотров1.7K

Edge рантайм. Один из главных функционалов компании Vercel — компании, которая разработала и развивает next.js. Тем не менее, её влияние по edge рантайму вышло далеко за рамки её фреймворков и утилит. Edge рантайм работает и в недавно купленном Vercel Svelte, и в nuxt, и в более чем 30 других фронтенд фреймворках. Эта статья будет посвящена edge рантайму — что это, как это используется в Vercel, какими возможностями дополняет next.js и какие решения сделал я, чтобы эти возможности расширить.

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии10

Как найти и удалить 2 Тб ненужных файлов, которые не видит СУБД? Дорабатываем pg_orphaned

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров4.5K

PostgreSQL, как и все СУБД, основанные на его открытом коде, устроен так, что всю информацию хранит в большом количестве отдельных файлов. И они при разных обстоятельствах могут потеряться. Например, бывает так, что при заполнении таблицы или обработке транзакции происходит сбой. Процесс, породивший файл, прерывается, не удалив результаты своей работы. СУБД про этот файл ещё ничего не знает, поскольку транзакция, создавшая его, не успела закоммититься. Часть таких файлов удалится при перезапуске СУБД, а часть — нет. Так неиспользуемые файлы копятся и занимают всё больше места. Иногда их объём исчисляется терабайтами.

Меня зовут Роман Дягелев, я инженер в СберТехе, сопровождаю и разрабатываю СУБД Platform V Pangolin. Наш продукт основан на открытых решениях PostgreSQL и включает в себя собственные доработки в области безопасности, отказоустойчивости и удобства эксплуатации. Я расскажу о том, почему нам не хватило готового инструмента PostgreSQL для очистки файлового мусора и как я вместе с коллегами дорабатывал его. Надеюсь, наш опыт станет полезен тем, кто работает с инструментарием PostgreSQL и ищет решения для работы с ненужными файлами.

Читать далее
Всего голосов 13: ↑13 и ↓0+17
Комментарии2

Как работает генерация видео в open source проекте Wunjo CE

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

Генерация видео теперь open source? Наконец-то я нашёл время, чтобы добавить генерацию видео из текста и изображений в свой open source проект Wunjo CE. В этой статье мы рассмотрим, как это работает, сравним его с похожими решениями, изучим основы подхода и его альтернативы.

Смотрим
Всего голосов 14: ↑12 и ↓2+14
Комментарии6

Стреляем себе в ногу из localStorage

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

Все фронтендеры любят localStorage — в него можно прикопать данные без всяких баз и серверов. Но из localStorage можно отлично обстрелять себе ногу. сегодня расскажу про 6 встроенных пулеметов и презентую библиотеку banditstash, которая нежно, но настойчиво прикрывает ваши ножки.

Читать далее
Всего голосов 24: ↑22 и ↓2+26
Комментарии16

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Контроль пропускной способности (троттлинг) API c помощью шлюза авторизации OpenIG

Время на прочтение6 мин
Количество просмотров331

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

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Опенсорсный бот для обратной связи

Время на прочтение1 мин
Количество просмотров2.1K

Около 2 лет назад в нашем профсоюзе появилась форма для обратной связи. Через неё каждый месяц обращаются десятки айтишников. Они задают вопросы, просят помощи в трудовых конфликтах и консультируются по трудовому праву.

Изначально мы использовали Livegram Bot, но его возможностей не хватало для наших целей. Он не поддерживает работу с топиками в супергруппах Telegram и пересылает сообщения от любых пользователей в топик #️General. В среднем в месяц нам пишет около 30 человек, поэтому разобраться в таком потоке сообщений трудно. Особенно если требуется найти сообщения о затяжных трудовых конфликтах, а между сообщениями пользователя проходят недели.

Читать далее
Всего голосов 26: ↑23 и ↓3+23
Комментарии1

Как сбить цензор GPT-3.5 за 250 рублей?

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

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

Читать продолжение в источни...
Всего голосов 17: ↑16 и ↓1+22
Комментарии24

Используем модель Stable Diffusion 3 в SD WebUI (он же Automatic1111)

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

Для Stable Diffusion WebUI (он же Automatic1111) уже несколько дней, как стала доступна модель генерации изображений Stable Diffusion 3. Мы в HOSTKEY попробовали модель и написали, как вам также это можно сделать.

Читать далее
Всего голосов 17: ↑16 и ↓1+22
Комментарии2

Итеративная сборка FPGA-проектов

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

Всем привет! Я Константин Павлов, старший инженер по разработке систем на кристалле. Работаю в группе прототипирования в компании YADRO, занимаюсь отладкой на ПЛИС исходного кода, который затем будет работать в ASIC.

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

Читать далее
Всего голосов 12: ↑12 и ↓0+18
Комментарии26

Как собрать дешевую клавиатуру дорого

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

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

Чтобы не перегружаться еще сильнее, изучением углубленных мануалов, решил купить готовый набор компонентов и плат. Здесь на Хабре я и узнал про их существование. Пайка и сборка отняла около трех дней. Работал по вечерам и в выходные. Сейчас сборка уже окончена и результатом я доволен, но на работу эту клавиатуру я не возьму. И работать на ней не буду.

Читать далее
Всего голосов 24: ↑23 и ↓1+33
Комментарии42

Миссия «wayland на gentoo c nvidia» (провалена)

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

Вечером, в районе 8 часов, стукнуло в голову таки посмотрeть на wayland. Вообще такие мысли возникают переодически, но обычно идея быстро затухает после некоторого времени чтения мануалов, ибо нефига не понятно. Десктоп — gentoo с nvidia. Последннее время графическая часть на нем это: Xorg, проприетарные дрова nvidia, LightDM на входе, WM в виде awesomewm. До awesomewm были xfcei3wm. В целом все работает, устраивает, но иногда хочется нового. Надо ли говорить что KDE/Gnome терпеть ненавижу.

Включаю wayland в USE в /etc/portage/make.conf, пересобираю все что его умеет через emerge -avtN @world. Что интересно, пересобирается без ошибок. Насколько я помню, я уже пытался включать этот флаг с мыслью что потом попробую, но в итоге выключал, потому что были проблемы со сборкой некоторых пакетов. Параллельно ищу что там вообще с WM.

Читать далее
Всего голосов 15: ↑14 и ↓1+19
Комментарии25

Вклад авторов