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

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

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

Intel oneAPI — один за всех, теперь — и для вас

Время на прочтение3 мин
Количество просмотров12K
Итак, случилось то, о чем еще с июля месяца говорила компания Intel — вышла бета-версия Intel oneAPI Toolkits, набора инструментов для разработки, с которыми жизнь больше не будет прежней. В состав набора, как и обещалось, вошел компилятор нового языка Data Parallel C++, набор библиотек для API-программирования и комплект средств для анализа и отладки приложений. Под катом — обо всем этом более подробно.

И да, тулкит уже можно скачивать, ставить и пробовать — ссылки в конце статьи. А можно пробовать, но не скачивать — есть и такой вариант, о нем тоже расскажу.


Читать дальше →

Большие данные мертвы. Это нужно принять

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

Уже более десяти лет тот факт, что люди с трудом извлекают из своих данных полезную информацию, сбрасывают на чересчур большой размер этих данных. «Объем собираемой информации слишком велик для ваших хилых систем», — такой нам ставили диагноз. А лекарство, соответственно, заключалось в том, чтобы купить какую‑нибудь новую причудливую технологию, которая сможет работать в больших масштабах. Конечно, после того, как целевая группа по Big Data покупала новые инструменты и мигрировала с устаревших систем, компании снова обнаруживали, что у них по‑прежнему возникают проблемы с пониманием своих данных.

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

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

А дальше будет и того интереснее.

Читать далее

Параллельное программирование с помощью вычислительного графа

Время на прочтение10 мин
Количество просмотров29K
Есть приложения, которые хорошо реализуются как системы передачи сообщений. Сообщениями в широком смысле может быть что угодно – блоки данных, управляющие «сигналы» и т.д. Логика же состоит из узлов, обрабатывающих сообщения, и связей между ними. Такая структура естественно представляется графом, по рёбрам которого «текут» сообщения, обрабатываемые в узлах. Наиболее устоявшееся название такой модели – вычислительный граф.

С помощью вычислительного графа можно установить зависимости между задачами и в какой-то мере программно реализовать «dataflow архитектуру».

В этом посте я опишу, как реализовать такую модель на С++, используя библиотеку Intel Threading Building Blocks (Intel TBB), а именно класс tbb::flow::graph.


Читать дальше →

Вычислительные Графы, Спекулятивные Замки и Арены для Задач в Intel® Threading Building Blocks

Время на прочтение8 мин
Количество просмотров7.2K
Данный пост является переводом статьи «Flow Graphs, Speculative Locks, and Task Arenas in Intel Threading Building Blocks» из Parallel Universe Magazine, выпуск 18, 2014. Если вас интересует библиотека Intel TBB в частности, и интересные современные концепции параллельного программирования в общем, то добро пожаловать под кат.
Читать дальше →

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

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

Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!

Начать читать

Александр Довнар о CI/CD: как, зачем, для чего

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

Спикер курса «CI/CD на примере Gitlab CI», Lead DevOps в Naviteq (ex. Onesoil and EPAM) Александр Довнар, рассказывает про CI, CD и еще раз CD.

Александр — AWS Community builder и сертифицированный архитектор, соведущий подкаста DevOps Kitchen Talks. 11+ лет работает в IT и сетях, из них 7+ лет — в Devops.

Эта статья — расшифровка вебинара, где Александр рассказывает, что за зверь CI/CD, кому и когда он нужен и зачем применять его в команде, а также обсуждает текущие проблемы индустрии вокруг этой практики.

Читать далее

Создаем личное файловое облако легко и просто (и дешево)

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

А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.

Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем. А бонусом на нашем сервере вы потом сможете еще установить VPN или прокси для доступа к запрещенным сайтам, или поднять простенький веб-сайтик.

Я специально будут рассказывать все максимально подробно и пошагово, чтобы даже люди без большого опыта системного администрирования смогли все повторить. В наше время, благодаря развитому инструментарию, такому как docker и snap, установить и настроить все что нужно можно очень быстро всего лишь несколькими командами.

Читать далее

Digital Twin. Часть 1. Цифровой двойник vs цифровой самозванец

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

Сегодня распространённым (модным) явлением стало называть «старое» моделирование новым термином «Производство цифровых двойников» (Digital Twin), тем самым создавая туман-интригу, при котором соблазн монетизации пафосного бренда и хайп вокруг Цифрового двойника побеждают здравый смысл. За редким исключением все, что сейчас называют Цифровой трансформацией и Цифровым двойником – по сути ими не являются, отсюда и желание разобраться в термине «цифровой двойник». Первый шаг на пути «от путаницы к ясности» - это определиться с терминологий. Так необходимым условием идентификации Digital Twin предлагается считать наличие трех раздельных компонентов (два близнеца и связь между ними) и адекватность модели (точность, т.е. «as-really-is», и требуемая детализация).

По тексту приведены в основном цитаты из [DTatom20] / [DTatom19min] и [Dozortsev22] / [Dozortsev23]. Однако эти и подобные исследования (вкл. [Pavlov23]) носят описательный (обзорный) характер, а хороших (внятных) классификаций, концепций и framework для DT не встречал. Вообще, по DT информации – тьма, но после прочтения хотя бы указанных книжек и ссылок становится вопросов только больше.

Пока что красивая метафора «Цифровой двойник» \ Digital Twin (ЦД \ DT) имеет скупую концептуальную проработку: требуется даже не уточнение концепции, а скорее ее формирование, т.к. это пока только аморфная и противоречивая парадигма, точнее множество парадигм DT/ Pseudo DT, в которых называют одним именем (DT) разные вещи (размытие концепции). По большому счету сегодня имеем только концепт Майкла Гривса и массу «маркетинговых оберток», которые не соответствуют даже его концепту 2002 года. Попытки концептуализации, классификации, разработки таксономий хоть и проводятся, например, [Archetypes], но пока они не очень результативны.

Читать далее

Brax — физический движок на GPU, заменяющий кластер CPU

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

В обучении с подкреплением (Reinforcement Learning) одним из ограничивающих факторов является быстродействие физических симуляторов, на основе которых происходит обучение нейросети. Из-за специфики расчетов, лишь малую часть из них можно вынести в GPU, а большая часть вычислений в физических движках делается на CPU. Для примера, один GPU может обучать нейросеть десятками тысяч параллельных "потоков" в секунду. Но один CPU с запущенным на нем физическим симулятором, может выдавать лишь 60-200 кадров в секунду.

Для борьбы с этим ограничением, обычно запускается большой кластер из сотен или тысяч CPU с запущенными на них параллельными физическими симуляторами. А результаты их расчета передаются в единственную GPU, обучающую нейросеть.

Исследователи из Google AI разработали новый физический движок Brax, который эффективно работает на одном GPU и способен выдавать до 10 миллионов шагов симуляции в секунду, выполняя при этом до 10 тысяч запущенных параллельных симуляторов физики.

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

Читать далее

Полное руководство по CSS Flex + опыт использования

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

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

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

Читать!

Руководство по CI/CD в GitLab для (почти) абсолютного новичка

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

Или как обзавестись красивыми бейджиками для своего проекта за один вечер ненапряжного кодинга


Наверное, у каждого разработчика, имеющего хотя бы один пет-проект, в определённый момент возникает зуд на тему красивых бейджиков со статусами, покрытием кода, версиями пакетов в nuget… И меня этот зуд привёл к написанию этой статьи. В процессе подготовки к её написанию я обзавёлся вот такой красотой в одном из своих проектов:


результаты


В статье будет рассмотрена базовая настройка непрерывной интеграции и поставки для проекта библиотеки классов на .Net Core в GitLab, с публикацией документации в GitLab Pages и отправкой собранных пакетов в приватный фид в Azure DevOps.


В качестве среды разработки использовалась VS Code c расширением GitLab Workflow (для валидации файла настроек прямо из среды разработки).

Читать дальше →

Использование ASCIIDoc для управления документацией на проекте (Часть 1)

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

О важности документации на проекте знают все, начиная от технических заданий на реализацию заканчивая пользовательской документацией. Про важность документации и необходимости документировать написано множество статей. Здесь мы расскажем о том как упростить команде жизнь используя подход Everything-as-Code. И как нам это позволило упростить выпуск необходимых документов.

Читать далее

Docs as Code: введение в предмет

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

В последние несколько лет в среде технических писателей все больше на слуху концепция Docs as Code. Если вы раньше не сталкивались с этим термином, он обозначает подход к разработке технической документации с использованием тех же инструментов и процессов, что и написание кода. Если DocOps это про процессы и коллаборацию, то Docs as Code — про инструментарий, при помощи которого мы несмотря ни на что. Мы выбрали этот подход, когда создавали портал документации Plesk.

В этой статье я кратко расскажу, что такое Docs as Code и зачем оно нужно, а затем дам несколько советов относительно того, как это чудо враждебной техники внедрять, сдобрив всю историю рассказами о тех граблях, на которые мы наступили, топая в светлое будущее. Я старался писать такую статью, которая пригодилась бы мне в 2017 году, когда мы эту кашу заваривали.

Читать далее

Docs-as-Code в технической документации: переход от reStructuredText к AsciiDoc

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

Хабр, привет! На связи коллективный разум технических писателей компании «Базис». Над представленным в этой статье проектом мы работали вместе, так что и рассказывать о нем будем вместе. Если точнее, расскажем о том, как познавали методологию Docs-as-Code, зачем техническим писателям дружить с DevOps-инженерами, а главное, почему мы перешли от reStructuredText к AsciiDoc и что нам это принесло.

Погрузиться в документацию

Django Rest Framework для начинающих: как работает ModelSerializer

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

В предыдущих статьях мы подробно разобрали работу сериалайзера на основе классов BaseSerializer и Serializer, и теперь мы можем перейти к классу-наследнику ModelSerializer.


image


Класс модельных сериалайзеров отличается лишь тем, что у него есть несколько инструментов, позволяющих сократить код сериалайзера:


  • автоматическое создание полей сериалайзера на основе данных о корреспондирующих полях модели;
  • автоматическое включение в поля сериалайзера тех же валидаторов, которые есть в полях модели, а также при определённых условиях метавалидаторов;
  • заранее определённые методы create и update.

Общие принципы работы модельного сериалайзера как на чтение, так и на запись идентичны тому, как работает базовый класс Serializer.

Читать дальше →

Открытые инструменты для превентивной защиты и ИБ-аудита

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

Есть два ключевых подхода к защите ИТ-систем: реактивный и превентивный. Реактивный — это реагирование на атаки и реализованные ИБ-риски, в том числе восстановление данных, установка патчей и обновлений, прочие активности. Превентивный подход подразумевает обнаружение и минимизацию возможных угроз. 

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

Так у МТС есть собственный Security Operation Center для комплексной защиты всех ресурсов клиентов от киберугроз при помощи мониторинга и реагирования 24/7 на инциденты ИБ. Изначально SOC защищал исключительно инфраструктуру МТС и дочерних предприятий, но со временем ИБ-услуги стали доступны всем клиентам.

В другом сценарии (который, впрочем, легко реализовать не вместо облачных сервисов, а вместе с ними) специалисты по кибербезу действуют своими силами и используют открытые технологии. Сегодня мы остановимся на знакомстве с некоторыми интересными open source (Apache License 2.0) инструментами для ИБ-аудита, превентивной защиты и организации безопасных инфраструктурных решений.

Читать далее

Методология аудита безопасности веб-приложения

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


Сегодня мы поговорим о методологии проведения тестирования на проникновение веб-приложений. Одним из методов аудита веб-сайта является тестирование на проникновение BlackBox (BlackBox — «черный ящик»), при котором специалист располагает только общедоступной информацией о цели исследования.

В данном методе используется модель внешнего злоумышленника, мотивированного на взлом некого веб-сайта для извлечения коммерческой выгоды или из хулиганских побуждений. Об исследуемой системе обычно заранее ничего, кроме названия компании и адреса веб-сайта, неизвестно. В контексте данной статьи будет рассмотрено как поведение злоумышленника, так и пентестера, легитимность действий которого подтверждена заказчиком аудита. Подтверждение аудита может происходить разными способами — как информационным письмом с указанием объекта аудита (и исключений), так и с помощью специальных маркеров непосредственно на атакуемом сайте.
Читать дальше →

Аудит безопасности сайта — выявление рисков и угроз

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


Аудит безопасности сайта (проверка сайта на уязвимости) — ряд процедур, нацеленных на обеспечение стабильной работы веб-ресурса, безопасности данных и снижения рисков.

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

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

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

Космический интернационал

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

«Перед тем как отправить на орбиту первого космонавта, русские, чтобы убедиться в безопасности полёта, запустили беспилотный корабль, потом собаку. И у американцев прежде человека полетела пустая «капсула» и обезьяна. Немцы тоже матчасть проверяли – сначала запустили поляка и чеха». Нет, это история не про мифических астронавтов Третьего Рейха, а про программу «Интеркосмос», которая тоже изрядно овеяна легендами.

Читать далее

constexpr Game of Life

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

В C++ уже больше 10 лет существует constexpr, который позволяет программисту ушло возложить часть вычислений на компилятор. В свое время это взорвало мне мозг, ведь компилятор может посчитать какие-то достаточно сложные вещи еще до запуска программы!

В какой-то момент я подумал: если компилятор сможет сам посчитать все за тебя, то зачем тогда тебе вообще рантайм? Что ты там будешь делать — ответ выводить что ли? Глупости какие-то. Это неспортивно.

На этом моменте и зародился мой челлендж:

"Без рук" или "даже не думай запускать exe-файл"

Челлендж принят!

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность