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

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

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

Talos Linux & VirtualBox: готовим свой Kubernetes

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

Есть множество путей развернуть свой Kubernetes. Все они разные, выбор зависит от вашего бюджета, от того, какие задачи вы планируете решать, для каких нагрузок и что в конечном итоге вы планируете получить. В этой статье мы быстро пройдёмся по различным способам инсталляции, а затем попробуем развернуть свой K8s кластер на виртуальных машинах, воспользовавшись гипервизором второго типа (VirtualBox). Но это будет не условная Ubuntu, на которую мы будем ставить необходимые компоненты, а целая операционная система, разработанная специально для Kubernetes — Talos Linux!

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

Погружаемся в тему защиты контейнеризации, или как обучить тому, чему нигде не учат

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

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

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

Генерация музыки с помощью GPT-2

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

В этой статье мы поговорим о том, как с помощью ИИ генерировать музыку. Использовать мы будем обученную на хоралах И. С. Баха минимальную по количеству параметров модель GPT-2. А сама музыка будет представлена в виде текста.

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

Как я использовал нейросеть для категоризации трехмерных тел

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

Значимость темы машинного обучения (machine learning) сегодня очевидна. Это огромный домен знаний в Computer Science, которому в России, в частности, посвящают конференции уровня недавней AI Journey. Существует множество способов применения ML в различных областях, среди самых исследованных: распознавание изображений/видео/голоса, процессинг текста. Однако есть и более любопытные задачи, с которыми справляется ML. Например, обучение с подкреплением, что позволяет ИИ играть в игры типа Го, идентификация людей по фотографии, распознавание жестов, движений и поз человека.

Одной из не совсем обычных областей применения машинного обучения можно назвать работу с трехмерными телами. Такая технология активно исследуется за рубежом, а вариантов использования у нее может быть масса. Простой пример: дрон сканирует помещение, в котором находится множество тел. С помощью ML дрон может классифицировать объекты окружения, найти ошибки в пространственном размещении этих тел или же построить 3D-интерьер комнаты со ссылками на онлайн-магазин, где эти предметы можно купить.

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

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

JavaScript: управление содержимым веб-страницы с помощью жестов

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


Привет, друзья!


Еще недавно управление содержимым веб-страницы с помощью жестов можно было наблюдать разве что в фантастических фильмах. Сегодня все, что для этого требуется — видеокамера и браузер (и библиотека от Google).


В данном туториале мы рассмотрим 5 примеров:


  • получение данных с видеокамеры и их отрисовка на холсте (canvas);
  • обнаружение и отслеживание кисти руки;
  • управление "курсором" с помощью указательного пальца;
  • определение жеста "щипок" (pinch);
  • нажатие кнопки с помощью щипка.

Все примеры будут реализованы на чистом JavaScript.


Источником вдохновения для меня послужила эта замечательная статья.


Для обнаружения и отслеживания руки и жестов будет использоваться MediaPipe. Для работы с зависимостями — Yarn.


Код примеров можно найти в этом репозитории.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+32
Комментарии6

Kubernetes в миниатюре для локального запуска: k0s, MicroK8s, kind, k3s и Minikube

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

Тех, кто работал с Kubernetes, вряд ли удивит ситуация, когда внезапно пришла идея по автоматизации, унификации, преобразованию чего-либо в кластере, но так, чтобы не волноваться за конечный результат. Когда возникает потребность в какой-то песочнице, чтобы провести тестирование, проверить гипотезу «на коленке», не используя рабочий Kubernetes-кластер.

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

Отвечая на эту потребность, разработчики со всего мира пришли со своими решениями для быстрого запуска облегчённого варианта Kubernetes. Все они по-разному организованы и, конечно, обладают разными возможностями. Чем пользоваться, зависит от нужд и предпочтений. Чтобы получше разобраться в них или вообще понять, с чего стоит начать, предлагаем результаты нашего беглого знакомства с некоторыми популярными решениями. Благо, все они достаточно хорошо документированы (как на сайтах, так и в CLI), что существенно ускоряет первое погружение и взаимодействие с ними. В конце статьи будет сводная таблица с основными особенностями решений.

Читать далее
Всего голосов 41: ↑40 и ↓1+49
Комментарии28

Абстрактные 3D-фракталы всех сортов на C++

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

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

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

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

Интерпретируемость машинного обучения: состояние дел

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

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

Я придерживаюсь категоризации, использованной в работе Lipton et al.'s Mythos of Model Interpretability, которую считаю наилучшей статьей, проясняющей различные дефиниции интерпретируемости. Мы рассмотрим множество способов формализовать значение «интерпретируемости». В широком смысле интерпретируемость отвечает на вопрос «как». Она призвана дать понятие о нашей модели и объяснить, каким образом эта модель принимает те или иные решения. Ниже каждый раздел концептуализируется на основе конкретного вопроса, который можно поставить к нашей модели машинного обучения, опираясь на конкретное определение интерпретируемости. Если все это для вас в новинку, объясню для начала, почему нас вообще должна волновать интерпретируемость.

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

Разработка REST-серверов на Go. Часть 6: аутентификация

Время на прочтение13 мин
Количество просмотров33K
Перед вами — шестой материал из серии статей, посвящённых разработке REST-серверов на Go. Наша сегодняшняя тема — безопасность, а именно — аутентификация. Если бы сервер, разработанный в предыдущих материалах, был бы развёрнут, и к нему мог бы обратиться кто угодно, то у любого, имеющего выход в интернет, был бы полный доступ к его API. Хотя некоторым REST-серверам это вполне подходит, такой сценарий работы с сервером желателен далеко не всегда. Обычно как минимум часть API должна быть защищена таким образом, чтобы доступ к ней могли бы получить лишь аутентифицированные пользователи.



Читать дальше →
Всего голосов 19: ↑18 и ↓1+27
Комментарии3

Как работать с самозанятым. Инструкция для ИП и юрлиц

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

При обращении нового клиента каждый раз я рассказываю одну и ту же телегу — поэтому решил написать ее и просто давать ссылку всем интересующимся.

Тем, кто все еще не сталкивался с с самозанятыми, то эта информация вам пригодится — самозанятый подробно описал весь процесс со ссылками на законодательство.

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

Заинтриговал? Тогда читайте…

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

Практическое использование автогенерации музыки

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

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

В данной статье описывается реализация авто-аккомпанимента для аккордовых прогрессий.

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

Давайте обсудим мониторинг

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

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

Давайте обсудим мониторинг.

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

Поговорим о централизованном логировании

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

Эта статья – продолжение текста о мониторинге. Здесь предлагаю нам с вами поговорить о роли логов в оценке состояния наблюдаемой площадки, посмотреть, что они способны нам дать, а также затронуть вопрос – «можно ли отрывать логи от метрик?».

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

Итак, давайте поговорим о логировании.

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

BA дайджест, январь 2021: как отклонять feature request и оценивать стоимость ошибки в БП

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

Всем привет! Меня зовут Юра, я BA Tech Lead в NIX, а это – первый выпуск дайджеста для бизнес-аналитиков. В нем вы найдете, на мой взгляд, ценные и достойные внимания материалы за прошлый месяц. Enjoy!

В скобках возле заголовков – уровень сложности статьи (Normal * → Hard Expert ***) и примерное время на изучение материала.

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

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

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

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Всего голосов 205: ↑205 и ↓0+205
Комментарии229

От int main() до BeginPlay: как происходит инициализация Unreal Engine под капотом

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

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

Но когда вы пишете игровой код на Unreal Engine, вы не имеете дело с игровым циклом напрямую. Вы не начинаете работать сразу с основной функцией — сначала вы определяете подкласс GameMode и переопределяете функцию под названием InitGame. Или пишете одноразовые классы Actor и Component и переопределяете их функции BeginPlay или Tick для добавления собственной логики. Это самый минимум того, что вам нужно сделать: обо всем остальном движок позаботится за вас.

Unreal Engine также предлагает вам как программисту мощный и гибкий инструментарий: конечно, он имеет открытый исходный код, но также возможно и расширение несколькими другими способами. Даже если вы только начинаете работать с этим движком, было бы не лишним получить представление о его GameFramework: о таких классах, как GameMode, GameState, PlayerController, Pawn и PlayerState.

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

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

Три года назад нужно было изучать Docker, два года назад — Kubernetes. Сейчас — Serverless

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

Антон Черноусов — developer advocate — пришел в Yandex.Cloud, чтобы заниматься микросервисами, популярными в индустрии Docker и Kubernetes . Но главная его профессиональная страсть — это Serverless. Мы поговорили с Антоном, и он объяснил, почему бессерверные платформы ждет большое будущее.

Читать далее
Всего голосов 47: ↑23 и ↓24+9
Комментарии85

KubeHelper - упростите множество повседневных задач с Kubernetes через веб-интерфейс

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

KubeHelper - это продукт, который упрощает решение многих ежедневных задач связанных с управлением Kubernetes через веб интерфейс. Поиск, анализ, запуск команд, “cron jobs”, репорты, фильтры, git синхронизация и многое другое. 

KubeHelper это не ещё одна попытка отобразить Kubernetes API в графическом интерфейсе. Не попытка заменить Lens, официальный Dashboard или другие продукты. Это мой скромный вклад в Kubernetes Open Source сообщество. Проект не имеет какого-то узко специализированного направления и содержит довольно много различных функций которые будут полезны в ежедневной работе с Kubernetes.

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

Обзор платформ для изучения машинного обучения

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

Один из главных вопросов у людей изучающих что-либо - выбор источников информации: курсов, книг, статей. Широта выбора вводит в ступор: курсов и книг просто море, особенно если рассматривать доступные на английском языке. В данной статье субъективный обзор платформ он-лайн обучения (спойлер: coursera.org и learning.oreilly.com мои фавориты).

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

Что такое G-Sync, FreeSync, V-Sync и HDMI VRR? — Разбор

Время на прочтение6 мин
Количество просмотров81K
Всех ПК-геймеров планеты Земля, да и консольных игроков тоже, объединяет одна проблема — вертикальные разрывы изображения. И вроде бы есть куча технологий которые решают эту проблему:

  • V-Sync,
  • G-Sync,
  • FreeSync
  • А ведь еще есть Adaptive Sync
  • А в HDMI 2.1 недавно добавили VRR.

Но легче от этого не становится. Только больше путаешься. Чем все эти технологии отличаются? Какую выбрать видеокарту и монитор? И будет ли это всё работать на телевизоре?

Давайте сегодня раз и навсегда разберемся в технологиях адаптивной синхронизации изображения.


Для тех кто не в курсе. А в чём собственно проблема?
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность