Pull to refresh
36
0
Алексей @iwram

Системный администратор

Send message

Технология NTB: опыт применения и ее виртуализация QEMU

Level of difficultyHard
Reading time21 min
Views1.1K

В статье мы расскажем о системах хранения данных (СХД), в частности о применении технологии NTB поверх шины PCIe. Наша команда столкнулась с задачей виртуализации технологии NTB в QEMU, решение которой было сведено к созданию частичной виртуализации  IDT 89HPES24NT6AG2 PCI Express Switch, модификации модуля ядра Linux для поддержки нашей виртуализации и сборки воедино с помощью Yocto Project.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 1)

Level of difficultyEasy
Reading time7 min
Views4.6K

Всем привет! Меня зовут Николай Первухин. Я увлеченный разработчик на GoLang, работаю в Ozon Банке в группе разработки сервисов ЗСК (KYC).

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

Читать далее
Total votes 23: ↑23 and ↓0+26
Comments14

ИИ-агенты на основе больших языковых моделей для разработки: обзор

Level of difficultyMedium
Reading time27 min
Views4.7K

Краткий обзор и перевод исследования Large Language Model-Based Agents for Software Engineering: A Survey, которое посвящено применению интеллектуальных агентов на основе больших языковых моделей (LLM) в разработке. Авторы анализируют 106 работ, классифицируя их по задачам и архитектуре.

Примечание: в тексте LLM-агенты представлены в виде названия и номера в квадратных скобках, например CodeAct [85]. В разделе References оригинальной статьи можно найти названия исследований по каждому агенту по номеру.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments1

Записки bash-скриптера. Листок первый. Сокращённый if

Level of difficultyEasy
Reading time4 min
Views5.5K

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

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

Кому интересно разобраться, что же может быть не так с bash/zsh на этот раз -- добро пожаловать под кат.

Читать далее
Total votes 18: ↑16 and ↓2+20
Comments59

ТОП ошибок тех. интервьюеров

Level of difficultyEasy
Reading time6 min
Views6.2K

За последние 2 года я провел множество тех. собесов, но после статьи @AlfaTeamдолго думал «‎мне есть что сказать» или лучше помолчать. В итоге таки решил описать типовые ошибки интервьюеров, которые я не замечал «до»‎, но стал замечать «после»‎ этого марафона собесов.

Читать далее
Total votes 11: ↑9 and ↓2+13
Comments14

Выжимаем из Go максимум производительности

Level of difficultyMedium
Reading time11 min
Views20K

Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?

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

Читать далее
Total votes 76: ↑74 and ↓2+87
Comments40

NLP, Catboost и тематическое моделирование: создаем модель для прогнозирования цен с использованием новостей

Level of difficultyMedium
Reading time9 min
Views2.6K

Привет, Хабр! Меня зовут Иван, я Data Science специалист SimbirSoft. Я расскажу, как на одном из проектов мы занимались прогнозированием на месяц вперед с помощью методов NLP, Catboost и тематического моделирования на новостном потоке.

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

К нам обратился заказчик, который занимается продажами удобрений. Ему необходимо было протестировать различные подходы к прогнозированию цен на удобрения. Нашей задачей стало построить бейзлайн-модель и оценить, насколько перспективен подход с использованием новостей. Заказчик хотел, чтобы мы оценили предсказательную силу именно новостей, поэтому мы не использовали признаки из самого временного ряда цен (лаги/сезонность/тренд) и признаки, связанные с рынком.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

Как управлять Kubernetes с помощью Ansible

Reading time18 min
Views17K

Делимся переводом статьи об интеграции Kubernetes и Ansible. Из статьи вы узнаете, как подготовить среду для работы, как развернуть кластер Kubernetes с помощью Ansible, как управлять ресурсами Kubernetes и автоматизировать обновления. Кроме того, вы узнаете, как развернуть плейбук Ansible в Kubernetes на облачном провайдере и использовать Ansible для CI/CD в Kubernetes.

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments10

Простые способы ускорения обучения PyTorch-моделей

Level of difficultyMedium
Reading time13 min
Views6.8K

Не знаю — нужно ли вступление к статье, посвящённой ускорению машинного обучения (Machine Learning, ML)?

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

Читать далее
Total votes 15: ↑15 and ↓0+25
Comments2

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

Reading time14 min
Views343K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

Как мы делаем канареечный деплой в PaaS

Level of difficultyMedium
Reading time7 min
Views3K

Всем привет, меня зовут Антон Малафеев, я руководитель группы инженеров IT‑инфраструктуры в СберМаркете. Моя команда вот уже больше 3-х лет занимается разработкой деплоя для PaaS и сопутствующих инструментов.

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

Но сначала немного цифр. Ниже на рисунке — наша статистика использования канареечного деплоя. На момент написания статьи у нас в проде 200+ сервисов, 5300 подов PaaS, ежемесячно мы делаем 2 тысячи деплоев в продакшн и 11 тысяч деплоев в стейдж, которые проходят через канарейку.

Читать далее
Total votes 15: ↑15 and ↓0+20
Comments0

Неочевидное ML: примеры от SberDevices

Level of difficultyEasy
Reading time5 min
Views2.8K

Казалось бы, нам всем так прожужжали уши аббревиатурой «ИИ», что с ней всё уже очевидно.

Но весь хайп последних лет крутится вокруг нескольких сценариев: «нарисуй картинку», «напиши код», «ответь на вопрос».

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

Скоро мы проведём конференцию I'ML, а недавно помогали SberDevices провести GIGA R&D DAY. Я посмотрел записи докладов GIGA R&D DAY — и там как раз говорится о подобных гранях AI. По-моему, это интересно, поэтому захотелось сделать так: 

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

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments2

Карты, деньги, ELK. Или как айтишник деньги считал

Reading time18 min
Views9.2K

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

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

– А [зачем], собственно?
– Интересное решение! Я евангелист из Эластик – не хочешь на митапе выступить?

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

А зачем, собственно?
Total votes 8: ↑8 and ↓0+10
Comments17

Почему я отказался от разработки игр на Rust, часть 1

Level of difficultyMedium
Reading time19 min
Views30K

Предисловие: этот пост представляет собой очень длинный перечень мыслей и проблем, возникавших у меня за годы работы; также в нём рассматриваются некоторые из аргументов, которые мне часто говорили. В посте выражено моё мнение, сформировавшееся у меня в процессе разработки игр на Rust в течение многих тысяч часов на протяжении многих лет и после множества завершённых игр. Это не хвастовство и не показатель успеха, я просто хочу сказать, что вложил достаточно много усилий в Rust; здесь не получится сказать «когда наберёшься опыта, тебе всё станет понятно».

Пост не будет ни научной оценкой, ни A/B-исследованием. Это моё личное мнение после разработки игр на Rust маленькой инди-командой (два человека) в попытках заработать достаточно денег, чтобы финансировать процесс. Мы не одни из тех разработчиков с бесконечными финансами от инвестора и многолетним запасом времени. Если вы находитесь в этой категории и получаете удовольствие от многолетней разработки систем, то всё написанное ниже к вам не относится. Я рассматриваю всё с такой точки зрения: «Мне хочется создать игру максимум за 3-12 месяцев, чтобы люди могли сыграть в неё, а я — немного заработать». Статья не написана с точки зрения «Я хочу изучить Rust, а разработка игр — это весело», хотя это и вполне нормальная цель; просто она никак не согласуется с тем, чего хотим мы — заниматься разработкой игр коммерчески успешным и самодостаточным образом.

Мы выпустили несколько игр на Rust, Godot, Unity и Unreal Engine, и многие люди сыграли в них в Steam. Мы создали с нуля собственный игровой 2D-движок с простым рендерером, а также в течение нескольких лет использовали Bevy и Macroquad во многих проектах, некоторые из которых были очень нетривиальными. Кроме того, я бэкенд-разработчик на полную ставку и пишу код на Rust. Этот пост — не какое-то поверхностное мнение после изучения нескольких туториалов или разработки небольшой игры для геймджема. За три с лишним года мы написали сильно больше ста тысяч строк кода на Rust.

Задача этого поста — развеять популярные и часто повторяемые аргументы. Но это всё-таки субъективное мнение; по большей части я написал пост, чтобы не объяснять снова и снова одно и то же. Пусть это будет справочный материал о том, почему мы, скорее всего, откажемся от Rust как от инструмента для разработки игр. Мы ни в коем случае не планируем прекращать создавать игры, просто не будем делать это на Rust.

Читать далее
Total votes 68: ↑65 and ↓3+81
Comments82

Фундамент AI: обратное распространение ошибки простыми словами

Level of difficultyEasy
Reading time7 min
Views9.2K

Что если бы я вам сказал, что без понимания того, что такое backpropagation (обратное распространение ошибки), вы никогда не сможете использовать AI эффективно? Тогда я бы, конечно, соврал. Знать такие детали не требуется для использования AI в прикладных задачах, но, тем не менее, это базовый фундамент ML/AI, и понимать, как все устроено, полезно, ну или как минимум, интересно.

Читать далее
Total votes 22: ↑22 and ↓0+26
Comments9

Обратный инжиниринг дешевой мини видеокамеры из семейства А9

Level of difficultyEasy
Reading time21 min
Views11K

В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или iOS.

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

Читать далее
Total votes 48: ↑48 and ↓0+58
Comments34

Как мы тестировали большие языковые модели для модерации отзывов

Reading time10 min
Views2.7K

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

Рассказываем о том, как мы попробовали применять большие языковые модели, чтобы автоматизировать модерацию отзывов. 

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments3

Революция в клеточной биологии: Применение GPT-4 для РНК-секвенирования

Level of difficultyEasy
Reading time11 min
Views11K

Одноклеточное РНК-секвенирование (scRNA-seq) – метод изучения экспрессионных профилей на уровне отдельных клеток, то есть определения, какие РНК присутствуют в каждой клетке и в каком количестве. Это позволяет ученым понимать, как функционирует каждая клетка и какие функции она выполняет.

Простыми словами: данный метод помогает понять, какие гены в клетке "включены" и "выключены" в данный момент. Это важно, потому что активные гены определяют, как клетка будет себя вести, например, будет ли она здоровой, превратится ли в раковую, поможет ли она иммунной системе бороться с инфекцией и так далее. Таким образом, РНК-секвенирование применяют для разработки лекарств, при изучении болезней и их лечении, а также для того, чтобы понять, как развиваются и функционируют различные живые организмы на уровне их клеток.

Весь процесс достаточно сложный, но как GPT-4 помогает в его осуществлении? Об этом подробно и доступно я расскажу в этой статье!

Приятного прочтения! :)

Читать далее
Total votes 26: ↑25 and ↓1+31
Comments5

Open Source в российском ИИ: исследование ландшафта

Level of difficultyEasy
Reading time7 min
Views2.6K

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

Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом. Эта статья написана на материале исследования, которое мы презентовали на последнем митапе. В ней поговорим об открытом научном коде, посмотрим, как с ним обстоят дела в разных организациях, и поделимся подборкой репозиториев, которые могут решать различные научные задачи.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity