Обновить
3
0

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

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

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

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

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

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

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

Читать далее

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

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

Сегодня распространённым (модным) явлением стало называть «старое» моделирование новым термином «Производство цифровых двойников» (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.7K

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

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

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

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

Читать далее

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

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

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

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

Читать!

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

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

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


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


результаты


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


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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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


image


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


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

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

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

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

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

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

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

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

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

Читать далее

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

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


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

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

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

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


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

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

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

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

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

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

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

Читать далее

constexpr Game of Life

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

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

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

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

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

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

Пленка на чае. Блеск и нищета

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели35K
Страшно, очень страшно, мы не знаем что это такое, если бы мы знали, что это такое, но мы не знаем, что это такое

Недавно собеседник спросил, знаю ли я что-то про «масляную пленку» образующуюся на чае. Спросил и заставил меня задуматься, ведь действительно, со всеми этими каркаде, ройбос&ханибуш и прочими матэ я сто лет не видел этот родненький «чайный налет». Даже специально пошел и купил пачку «первосортного» чая по цене <1$ за 50 пакетиков. Вспомнил из студенческих лет, что "хрестоматийная" пленка на чае формировалась из самого бросового пакетированного чая, не всякой ложкой ее можно было разрушить с первого раза. Вот прям невыносимо захотелось пощупать/понюхать/посмотреть 😀 Под катом ответ на главный вопрос жизни, вселенной и всего такого «что это вообще такое?»


Избавим чай от чёрствости!

Мелкая питонячая радость #9: консольные приложения с человеческим лицом

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

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


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


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


image

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

tig — улучшаем продуктивность работы с git

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

Всем привет! Хочу рассказать о консольной утилите, которая значительно увеличила мою продуктивность работы с Git, и, надеюсь, ускорит и вашу также. Называется она tig и была написана канадским программистом Джонасом Фонсека (Jonas Fonseca) ещё в далёком 2006-м году, но по настоящий день она активно развивается и поддерживается в великолепном состоянии. Я хочу показать её функционал (внимание, есть относительно тяжелые gif-ки внутри) и поделиться самыми удобными способами использования.


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

Полное руководство по модулю asyncio в Python. Часть 1

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

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее

Как GPU-вычисления буквально спасли меня на работе. Пример на Python

Время на прочтение12 мин
Охват и читатели76K
Привет, Хабр!

Сегодня мы затрагиваем актуальнейшую тему — Python для работы с GPU. Автор рассматривает пример, тривиальный в своей монструозности, и демонстрирует решение, сопровождая его обширными листингами. Приятного чтения!


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

Изучаем сопромат с CalculiX

Время на прочтение12 мин
Охват и читатели23K
Сдал сопромат — можно жениться!

Введение


Метод конечных элементов (МКЭ или FEM, у них за рубежом) прочно вошел в практику инженерных расчетов при проектировании сложных систем. В значительной степени это касается прочностных расчетов механики. Применения этого метода, реализуемого соответствующим программным обеспечением существенно сокращает цикл разработки конечного устройства, позволяя исключить массу экспериментальных проверок, необходимых при использования классических расчетов на основе методов сопромата и строительной механики. На текущий момент разработана масса прикладного ПО, реализующего МКЭ. Во главе угла стоит мощный ANSYS, по бокам от него и в почетном удалении — CAD-системы со встроенным FEM-модулем (SolidWorks, Siemens NX, Creo Parametric, Компас 3D).

CalculiX силен, но труден и непонятен. Исправим это?



Естественно, МКЭ проник и в сферу образования — чтобы использовать его в реальных задачах, нужна подготовка соответствующих специалистов. В столицах, в крупных технических вузах обстановка в этой области более-менее нормальная, да и у нас в регионе тот же ANSYS применяется, например, на кафедре теории упругости ЮФУ. Но по периферии, в узко специализированных и не богатых университетах ситуация плачевна. И всё просто — ANSYS стоит порядка 2 млн. рублей за одно рабочее место, а место требуется не одно. К сожалению не все вузы могут позволить себе выложить 30-40 миллионов на организацию компьютерного класса для обучения применению МКЭ.

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

Информация

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