И для этого не нужен SAP. Кому интересна тема автоматизации производства и управления потребности в материалах на производстве MRP может посмотреть работу MRP системы в реальности.
Прочитав комментарий к статье я понял, что многие разу не видели настоящую работающую MRP систему. Исправляю.
Подключайтесь к вебинару «Практикум Cloud.ru Evolution: знакомство с облаком».
📅 Когда: 15 октября в 11:00 мск
📍 Где: онлайн
Cloud.ru Evolution — публичное облако, построенное на собственных разработках и свободно распространяемых компонентах, которое отлично подойдет для тестирования и разработки на виртуальных машинах, создания cloud native приложений и безопасной публикации в интернете.
На вебинаре вы узнаете все нюансы облачной платформы Cloud.ru Evolution: в прямом эфире подробно расскажем про сетевые и вспомогательные сервисы, поддержание безопасности и работу с виртуальными машинами. А еще в формате демо покажем, как развернуть сайт на WordPress в облаке.
Программа встречи:
обзор основных облачных сервисов Cloud.ru Evolution;
обзор облачных сервисов, которые скоро появятся на платформе;
как выглядит базовая архитектура для миграции сайта или интернет-магазина в облако;
как перенести сайт и стабильно работать в любой период;
ответы на вопросы участников.
Будет полезно тем, кто только задумывается о переезде в облако и планирует узнать о нем больше. А также тем, кто уже использует облачные технологии и хочет задать вопросы эксперту или получить совет по работе с платформой.
Ускорение Youtube в Линукс - обновление по состоянию на 22.09.2024 скрипта для простой установки/настройки ПО bol-van/zapret.
Сделал обновление по состоянию на 22.09.2024 скрипта для простой установки/настройки ПО bol-van/zapret из исходников для нормальной работы Youtube в Линукс из моего поста от 10.08.2024, т.к. обновился и сам bol-van/zapret и его актуальные настройки.
Два архива Скрипты для Ubuntu-based ОС, скрипты для Red-Hat-based ОС. Проверенно на Linux Mint 20.1 "Ulyssa" и "Fedora 40" соответственно. В каждом архиве три скрипта: скрип-установщик, скрипт обновления bol-van/zapret(не изменящий его настройки), и скрипт деинсталятор.
И для первоначальной установки, и для обновления настроек по состоянию на 22.09.2024 запускать именно скрип-установщик. Ставится все в пару кликов. Пользуйтесь и распространяйте. Адаптируйте к другим Линуксам. Конструктивная критика приветствуется.
Совет о Joomla: использование FileLayout для рендера элементов макета.
Этот механизм используется под капотом Joomla для рендера отображения почти всех элементов интерфейса как фронта, так и админки. Обычно переиспользуемые "запчасти" выносятся в отдельные файлы: кнопки, тулбары, меню, табы и т.д. Для унификации отображения каждого элемента нужны некие данные данные и/или параметры: например, заголовок таба, надпись или onclick для кнопки, CSS класс и т.д.
<?php
use Joomla\CMS\Layout\FileLayout;
/**
* Method to instantiate the file-based layout.
*
* @param string $layoutId Dot separated путь к файлу, включая имя файла относительно base path
* @param string $basePath Основной путь к папке с макетами
* @param mixed $options Данные, нужные для работы макета. Registry или массив
*
* @since 3.0
*/
$layout = new FileLayout('layout_file_name', JPATH_SITE . '/path/to/your/layout', ['buttonName' => 'Button name']);
// Рендерим наш макет
echo $layout->render();
Внутрь файла (/path/to/your/layout/layout_file_name.php в нашем случае) передаются данные и параметры для рендера. Получить эти данные можно следующим образом.
<?php
// Это содержимое файла /path/to/your/layout/layout_file_name.php
// Переданные данные приходят в формате Registry. Можно указать значение по умолчанию
$buttonName = $this->options->get('buttonName', 'Default name if value is empty');
?>
<button class="btn btn-primary"><?php echo $buttonName;?></button>
Linux-разработчик стал жертвой сваттинга после критики Rust на стриме
Гражданин Германии Rene Rebé, участвующий в разработке Linux, получил отряд полиции к себе домой из-за анонимного электронного письма, отосланного неким недробожелателем в местный полицейский участок. Полицейские осмотрели дом, надели на Rene наручники и около часа продержали в участке.
Незадолго до этого Rene во время стрима подверг критике язык программирования Rust и решение включить его в ядро Linux. В комментариях на Reddit и Youtube многие считают, что именно это послужило причиной анонимного ложного доноса на разработчика.
Сам Rene в описании к видеоролику иронично предположил, что это благодарность за 25 лет его работы в опенсорсе.
Сваттинг - намеренно ложный вызов полицейского спецназа или штурмовой группы по домашнему адресу человека из личной неприязни или ради развлечения. Известны случаи, когда это приводило к ранениям и даже к смерти жертвы.
Вышел WT JoomShopping Bitrix24 PRO v.3.2.0, плагин интеграции с CRM Битрикс 24
Бесплатный плагин отправки заказов из интернет-магазина JoomShopping в CRM Битрикс24. Плагин передает лиды, сделки, создаёт контакты и повторные сделки. Обеспечивает смену статуса заказа в JoomShopping при изменении стадии сделки в Битрикс 24 (двухсторонняя интеграция).Плагин поддерживает работу с плагином обратной связи Radical Form, что позволяет его использовать не только вместе с JoomShopping.
v.3.2.0 Что нового?
Прикрепление ссылок на файлы Radical Form. Если в ваших формах обратной связи на Radical Form используется поле для загрузки файлов, то теперь эти ссылки прикрепляются к комментарию лида. Для этого необходима версия Radical Form не ниже 3.2.0.
Настройки для Radical Form. Добавлены настройки данных, включаемых в комментарий к лиду/сделке для Radical Form.
Предобработка данных перед отправкой в Битрикс 24. Добавлена возможность обрабатывать данные непосредственно перед отправкой их в Битрикс 24 в собственных файлах в папке /plugins/system/wt_jshopping_b24_pro/src/Custompreprocess. Для использования этого функционала нужно обладать знаниями PHP и хотя бы минимальными знаниями Joomla API. Вы используете этот функционал на свой страх и риск! Подробнее на странице расширения.
Когда встает задача запустить Windows приложениях в Linux, то неизменно на ум приходят с десяток приложений основанных на WINEhq. Однако есть одна разработка, WinApps, которая не идет этим путем и представляет собой попытку творческого переосмысления WSL, но наоборот, т.е. у нас есть виртуальная машина с MS Windows/Docker контейнер с Windows/Podman контейнер с Windows в которые мы устанавливаем необходимый софт, а дальше, мы получаем, через консоль или через ярлыки в системе, доступ посредством протокола RDP через утилиту FreeRDP. Однако удобство, по сравнению, с обычным RDP, заключается в том что каждое такое приложение будет в отдельном окне, словно нативное приложение Linux.
Плюсы метода:
OpenSource решение
Пользователь может безболезненно запускать привычные Windows приложения как если бы они были частью Linux
Минусы метода:
протокол RDP - в котором мне не удалось завести аппаратное ускорение Direct Draw и AGP, работает только Direct3D со всеми вытекающими. Различные манипуляции с реестром виртуальной машины, ее групповых политик и консольными параметрами freerdp ни к чему не привели. Приложения в которых работа Direct Draw и AGP жизненно необходима, например в Adobe Photoshop, Autodesk AutoCAD и т.п., работаю плохо или никак.
иногда происходят ложные срабатывания, например: когда пытаешься перемещаться по документу мышью удерживая полосу прокрутки - это, чаще всего не работает или работают не так как ожидаешь
Совет по Joomla: атрибут showon в XML-формах Joomla Form
При создании расширений Joomla порой набирается куча полей, которые загромождают экран. Их можно группировать в fieldset, а можно скрывать, если одно поле зависит от значения другого (как на видео). Разработчики используют в XML описаниях полей атрибут showon.Например, мы спрашиваем у пользователя является ли атрибут JoomShopping цветом и если да, то показываем поле для ввода цвета в HEX (как на видео).
Пример использования:
<field type="radio"
name="is_color"
label="Атрибут является цветом?"
class="btn-group btn-group-yesno"
description="Если да, то указываем код цвета в HEX или CSS-класс"
default="0">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field type="color"
name="attr_color_code"
label="Код цвета в HEX"
showon="is_color:1"/>
Если поле is_color имеет значение "1", то поле с атрибутом showon="is_color:1" будет видно пользователю. Поддерживается логика И, ИЛИ, НЕ и несколько полей в условии. Работает даже для текстовых полей. Например, если не заполнен пароль для подключения к внешнему сервису - нет смысла показывать все остальные поля.
Манипуляция временем транзакции в блокчейне Hyperledger Fabric - уязвимость (теперь официально). Мне удалось добиться назначения идентификатора CVE (CVE-2024-45244) уязвимости, связанной с манипуляцием времени транзакции (о чём писал на Хабре) в блокчейне с открытым исходным кодом Hyperledger Fabric. Разработчик выпустил исправление, но не счёл это уязвимостью (о чём я узнал в переписке, по моему обращению на HackerOne). В итоге, мне пришлось самостоятельно заниматься процессом назначения CVE (воспользовавшись найденной мной на Хабре статьёй). Между обращением в MITRE и назначением CVE прошло чуть менее 2-х недель. UPD 13.09.2024 разработчик пытался оспорить, что это уязвимость - не вышло (подробнее в статье Как я зарегистрировал CVE и разозлил вендора).
Существует достаточно много open source моделей - LLama от запрещенной Meta, Mistral, DeepSeek, Grok 1 от Twitter. Если говорить про предыдущие, не самые мощные версии моделей - есть Gemma от Google, специализированные модели от OpenAI. Это хорошо, так как дает возможность подключения к разработке моделей команд, не имеющих большого числа GPU. Дообучение моделей (fine tuning) дешевле первичного обучения. Запуск обученной модели - тоже. Плюс open source - это гарантия, что к AI будет доступ даже если конкретный сервис по тем или иным причинам закроется. И Мета выделяется тем, что отдала в open source последнюю тяжелую (большое число параметров) версию модели.
Второй момент: в тестах и в новостях сравниваются модели общего назначения и специализированные. Общего назначения - ChatGPT, Claude, Gemini, Llama, Grok, DeepSeek, Mistral, YandexGPT. Специализированные, на примере разработки - DeepSeek-Coder-V2, Codestral, CodeLlama, Phind, GigaCode. Можно сделать вывод, что модели последнего поколения достаточно мощные, чтобы хорошо справляться со специализированными задачами. Но любую модель можно подтюнить, и тогда она или превзойдет модель общего назначения или будет сравнима с ней требуя меньше железа.
Еще тренд - разделение моделей на легкие и тяжелые. Например, LLama 8b, 70b и 405b, это число параметров в billions. Т.е. большие модели - это дорого в облуживании, при этом во многих случаях применяются для "стрельбы из пушки по воробьям".
Анадысь TDF объявил о релизе LibreOffice 24.8. Вот ссылка на новость на опеннет, мне лень писать то же самое своими словами, тем более там достаточно много добавили всего в этот раз.
Из реально полезных фич, которые зашли лично мне, это:
Куча новых функций в Calc - LET, XLOOKUP, XMATCH, FILTER, RANDARRAY, SEQUENCE, SORT, SORTBY и UNIQUE
Вставка перекрестных ссылок на объекты в текстовом документе в Writer с использованием перетаскивания объектов из Навигатора в текст. Это для тех, кто пишет объемные тексты, просто мегаудобно.
А поговорить я хотел ещё о такой штуке, как вечный вопрос "кто пишет опенсорц?". Вот диаграмма, где внутренний круг - это сколько разработчиков, а внешний - сколько от них коммитов. Три основных движущих силы проекта - парни из Collabora (26 человек), allotropia (их 13) и сотрудники фонда TDF (этих 7 человек):
Диаграмма вклада в LibreOffice от разработчиков из компаний и волонтеров
Как вам соотношение? Причём, если бы TDF не нанял год назад пару программистов - соотношение было бы ещё более печальное =)
Совет по Joomla: использование методов плагинов в любом месте Joomla 4 / Joomla 5.
Нередко расширения Joomla в готовом виде состоят из пакета - комплекта плагинов, модулей, библиотек. Расширения из одного пакета могут нуждаться в одном и том же методе. В Joomla 4 и старше новая (хм-м, 2 года уже прошло...) архитектура плагинов позволяет обращаться к методам плагина откуда угодно, что может стать удобным решением задачи.
Обращение к методу "Сделать хорошо"
Такой подход можно использовать везде: в компонентах, плагинах, библиотеках, модулях и т.д. Например, если в настройках компонента можно переключить источник данных - плагин-провайдер, то один путь - триггерить событие для группы этих плагинов. А можно вызвать нужный метод напрямую.
<?php
use Joomla\CMS\Factory;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Plugin\PluginHelper;
// Получим параметры компонента
$component_params = ComponentHelper::getParams('com_mycomponent');
// Получим имя плагина-провайдера
$plugin_name = $component_params->get('data_provider');
// Проверим, а включён ли плагин?
if(PluginHelper::isEnabled('system', $plugin_name))
{
// Загрузим плагин
$plugin_provider = Factory::getApplication()->bootPlugin($plugin_name, 'system');
// Получим данные из него напрямую
$external_data = $plugin_provider->getExternalData($any_id);
}
Как сократить расходы на инференс LLM? Кейс компании «Актион»
Вместе с коллегами из Compressa и «Актион» обсудим способы оптимизации open-source LLM-моделей на своем сервере и преимущества использования облака для инференса LLM. Сравним производительность LLM и стоимость токенов до и после оптимизации. Разберем кейс «Актион» и Compressa по обработке 100 000+ генераций в день всего на одной GPU-карте и узнаем, как удалось сократить расходы на инференс LLM.
Production ML: как настроить GPU-ноды в кластерах Kubernetes?
На практическом вебинаре покажем особенности работы с кластерами Kubernetes c GPU, настройку драйверов на GPU-нодах и масштабирование нагрузки в продакшене ML-сервисов. Обсудим практические кейсы использования GPU-нод в кластерах Kubernetes от клиентов Selectel.
Скриншот панели администратора компонента SW JProjects в Joomla 5
Компонент позволяет создать свой собственный каталог расширений Joomla (и не только) и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей. Для разработчиков Joomla есть возможность для каждого расширения указать сервер обновлений, changelog url для отображения изменений прямо в панелях администратора сайтов ваших клиентов.
v.2.0.0. Что нового?
Joomla 5 ready. Сделан большой рефакторинг. Компонент переписан на архитектуру расширений Joomla 5 и работает без плагина обратной совместимости.
Новый дизайн. Для большинства разделов обновлён дизайн. Вы также можете создать свои собственные макеты и выбрать их в настройках компонента.
Оглавление в документации. Теперь при чтении документации вам доступны все разделы, связанные с данным расширением.
Плагины для вставки проекта в контент. Добавлено 2 плагина: контент плагин и плагин кнопки редактора. Контент плагин позволяет превращать non-SEF ссылки вида index.php?option=com_swjprojects... в SEF. А также обрабатывает шорт-коды вида {swjprojects project_id=1 tmpl=your_tmpl_name}. Таким образом вы можете вставлять информацию о проектах везде, где работают плагины контента. Плагин кнопки редактора позволяет легко вставлять ссылки или шорт-коды с выбранным макетом.
Исправление ошибок. Модуль категорий неправильно работал на мультиязычных сайтах, отображая данные на одном языке. Исправлено.
🎫 Автоматический перевод записи оригинальной презентации с немецкого языка: "BIM Culster BW 2024: Der Kampf um Daten in der Bauwirtschaft | Anwendung von LLM und ChatGPT im Bau" -
В этой презентации мы рассмотрим историю и развитие BIM-технологий и, в частности, появление новых инструментов, которые вносят кардинальные изменения в то, как строительные и проектировочные компании работают с данными и процессами. Мы обсудим, почему использование открытых данных и SDK для обратного проектирования CAD-форматов (BIM) стало неотъемлемым трендом, что позволяет крупным строительным и инжиниринговым фирмам извлекать данные из проприетарных форматов САПР. Также мы обсудим интеграцию структурированных данных и инструментов с открытым кодом в бизнес-процессы и упрощение этих процессов за счет использования современных технологий LLM и ChatGPT.
Это видео предназначено для всех, кто интересуется будущим строительной и проектировачной индустрии и пониманием того, как открытые данные и передовые технологии вроде LLM и ChatGPT могут революционизировать наши методы работы.
Еще не решили, чем займетесь в эти выходные? Тогда приходите на стенд Cloud.ru на ИТ-пикнике в Москве!
Мы подготовили игры на проверку hard skills, творческие задания, облачные коктейли и даже зону для самых маленьких, чтобы вы могли хорошо провести время всей семьей.
Что еще будет на стенде:
Cloud-Man — наша версия легендарной игры Pac-Man, где вы сможете примерить роль облачного провайдера и перенести все on-premise решения клиентов в облако.
Кодинг на скорость — получиться ли выкатить фичу в прод всего за 60 секунд? Проверьте себя!
Физическая викторина — сможете разменять одновременно мозг и тело.
Самые активные участники получат крутой мерч и наборы LEGO 🎁.
А помимо интересных развлечений на стенде можно будет пообщаться с нашими сотрудниками и побольше узнать про Cloud.ru и продукты. Не упустите шанс лично познакомиться с разработчиками Cloud.ru Evolution!
По отзывам для реального решения проблемы медленного Ютуба в РФ на Линуксах весьма неплохо себя показал специально настроенный под эту задачу "zapret", но по тем же отзывам у рядового пользователя тонкости настроек этого ПО вызывают трудности.
С учетом изложенного, внося свой посильный вклад, написал, для ускорения Ютуба, скрипты на bash: скрип-установщик, который автоматически качает исходники с GitHub, ставит зависимости, компилирует, устанавливает и настраивает zapret на настольном ПК с Ubuntu-based и Red-Hat-based Линуксами, скрипт обновления zapret(не изменящий его настройки), и скрипт деинсталятор.
Обновление от 22.09.2024 и zapret-a и его настроек (запускать скрип-установщик) Скрипты для Ubuntu-based ОС, скрипты для Red-Hat-based ОС. Проверенно на Linux Mint 20.1 "Ulyssa" и "Fedora 40" соответственно.
Ставится все в пару кликов. Берите пользуйтесь, адаптируйте к другим Линуксам! Конструктивная критика приветствуется.
Скрипт для отключения расширений, не входящих в ядро Joomla 3 (для обновления на Joomla 5+)
Перед обновлением сайта с Joomla 3 на Joomla 4 и выше нужно обновить все старые расширения до последних (для Joomla 3) версий. Затем отключить их, особенно системные плагины. Это делается для того, чтобы ничто не мешало процессу обновления. Для того, чтобы сделать это быстро - накидал скрипт, который отключает нестандартные расширения в Joomla 3.
Файл disable_non_joomla3_extensions.php нужно положить в папку administrator вашего сайта и перейти по нему в браузере - yoursite.ru/administrator/disable_non_joomla3_extensions.php. Если всё успешно отключилось - выйдет сообщение.
XXX extensions that are not included in the Joomla 3 core have been detected and disabled. Make sure that they are disabled in the Site Admin Panel: Extensions - Extension Manager - Management.
Проверяем работу в менеджере расширений и после этого обновляем Joomla до Joomla 4 с помощью пакета обновлений Joomla 4.0.0. Обновляем Joomla 4 находясь на PHP 7.4 до конца. Меняем базу данных на MySQL 8+ (импорт-экспорт базы), поднимаем PHP до 8.1.
⚠️ Всё это делаем находясь ещё на Joomla 4. Обновиться нужно минимум до Joomla 4.4.0. Только после этого можно обновляться на Joomla 5 пакетом обновления 5.0.0. Затем обновляем все расширения и постепенно включаем их.
Представлен выпуск Aura 4.0.0. Это проект пакетного менеджера для дистрибутива Arch Linux, расширяющий возможности штатного пакетного менеджера Pacman.
Проект создан в 2012 году и изначально был нацелен на предоставление средств для сборки пакетов для репозитория AUR (Arch User Repository), применяемого для распространения сторонними разработчиками своих пакетов, не входящих в основные репозитории дистрибутива Arch Linux.
Кроме специфичных для AUR функций в Aura также предоставляются и другие возможности, расширяющие функциональность Pacman (в настоящее время только 1/3 расширенных возможностей Aura связаны с AUR). Например, доступны средства для наглядного анализа зависимостей, работы со снапшотами наборов пакетов (для сохранения и восстановления состояния), управления остаточными зависимостями и отката отдельных пакетов или всей системы на прошлые версии.
Aura полностью обратно совместим с Pacman и поддерживает все его команды и опции. Связанные с AUR дополнительные возможности вызываются через указание опции командной строки «‑A», а средства работы со снапшотами и версиями через опции «‑B» и «‑С», не пересекающиеся с опциями Pacman.
В Aura 4.0.0 переведена вся кодовая база с Haskell на язык Rust. Смена языка позволила значительно повысить производительность, упростить установку, задействовать готовые Rust-биндинги к libalpm, сделать проект более привлекательным для новых разработчиков.
Совет по Joomla: как получать данные из суперглобальных массивов $_POST, $_GET и других?
На основе данных из $_GET, $_POST порой строится логика работы кода начиная от шаблона Joomla и кончая модулями и плагинами. Для работы с этими данными используется объект Input, который мы получаем из Приложения Joomla.
Приведу пример, часто использующийся при разработке шаблонов Joomla
<?php
/** @var \Joomla\CMS\Application\CMSApplication $app */
$app = Factory::getApplication();
/** @var \Joomla\Input\Input $input */
$input = $app->getInput();
// Имя параметра и его значение по умолчанию
$option = $input->get('option','');
$view = $input->get('view', 'category');
$layout = $input->getCmd('layout', 'edit');
$task = $input->getString('task', '');
$itemid = $input->getInt('Itemid', '');
В методе $input->get() 2-й аргумент - это значение по умолчанию на случай, если данных не обнаружено. 3-й аргумент - параметры фильтрации данных - будьте с ним внимательны. Например, вы хотите получить данные, отправленные на ендпоинт в виде JSON.stringify.