Доклад с SPb IT Club Meetup №3
Фреймворк, который нельзя называть

Веб-разработка *
Делаем веб лучше
🎉 Релиз MoonShine v3 админ панели для Laravel! 🎉
Друзья, у нас праздник!
10 декабря наконец-то зарелизили MoonShine v3 (open-source панели администратора для проектов на Laravel).
Кто не вкурсе, вот статьи:
Это было непросто. Пришлось отложить дату релиза, но зато успел всё сделать что запланировано. 🔥
Что было на стриме:
🕰 Краткая история создания MoonShine — от первых шагов до сегодняшнего дня.
🚀 Релиз на GitHub, деплой новой версии лендинга и документации.
🛍 Демонстрация маркетплейса приложений для MoonShine
Обязательно посмотрите запись стрима! Вы не только узнаете больше о MoonShine, но и вдохновитесь на свои проекты.
Немного выдохну, и сделаю подробный разбор по возможностям MoonShine v3.
Сайт проекта - https://moonshine-laravel.com/
Чат в телеграм - https://t.me/moonshine_ru
#MoonShine #релиз #CutCode
Подготовка расширений к Joomla 6: CMSObject -> stdClass

В Joomla 6 метод getItem() в Adminmodel будет возвращать \stdClass вместо CMSObject. Это означает, что все устаревшие функции этого класса будут недоступны.
Разработчики в Joomla 6 должны напрямую работать со свойствами объекта item и не использовать устаревшие методы set() и get().
Устаревший способ
<?php
$article = $app->bootComponent('content')->getMVCFactory()->createModel('Article', 'Administrator')->getItem(1);
echo $article->get('title');Как будет в Joomla 6
<?php
$article = $app->bootComponent('content')->getMVCFactory()->createModel('Article', 'Administrator')->getItem(1);
echo $article->title;Соответствующий Pull Request уже принят в ветку Joomla 6.
Чат-боты стали неотъемлемой частью цифровых взаимодействий, однако их эффективность во многом зависит от восприятия пользователями их производительности и стиля общения. Исследования показывают следующее:
Ошибки подрывают пользовательский опыт: Ошибки негативно влияют на восприятие чат-бота с точки зрения простоты использования, полезности, социальной значимости и удовольствия от взаимодействия. Проще говоря, чем больше ошибок совершает чат-бот, тем меньше у пользователей желания с ним взаимодействовать.
Человечный стиль общения повышает удовольствие: Хотя человеческий стиль общения (например, эмпатия, шутки, эмоциональные реакции) не оказывает существенного влияния на восприятие простоты использования или полезности, он значительно увеличивает ощущение удовольствия от взаимодействия, делая общение с чат-ботом более приятным.
Для максимизации эффективности чат-ботов дизайнерам следует сосредоточиться на минимизации ошибок, одновременно внедряя элементы человеческого взаимодействия. Комбинация компетентности и доступности позволяет создавать чат-ботов, которые не только работают эффективно, но и вызывают доверие и удовольствие у пользователей.

https://www.tandfonline.com/doi/epdf/10.1080/10447318.2023.2175158
Исследовал интернет и наткнулся на GitHub Unwrapped. Он на основе активности в GitHub создаёт видео, где можно увидеть часто используемые языки, часы спонтанной работы, звёзды и всё остальное. Достаточно ввести только имя профиля, чтобы получить видео. Код открыт.
Сделано с использованием Remotion — тоже с открытым кодом, которая позволяет автоматизировать создание видео на React в веб. Документация хорошая, но надо разбираться. Увидел это и решил, что круто, надо поделиться!
P.S. Моя активность в этом ролике, если кому-то будет интересно.
Запуск выполнения задач планировщика задач Joomla из консоли (CLI)
Чтобы запустить выполнение задач планировщика с помощью CLI Вам нужно подключиться к своему серверу по SSH и выполнить команду:
php /path/to/site/public_html/cli/joomla.php scheduler:runЕсли требуется запустить конкретную задачу, то посмотреть список можно с помощью команды
php /path/to/site/public_html/cli/joomla.php scheduler:listа затем запустить задачу по её id
php /path/to/site/public_html/cli/joomla.php scheduler:run --id=XXXВ некоторых случаях на сервере может быть не доступна просто команда php и может потребоваться указание пути к php. Начиная с Joomla 4 у неё под капотом консоль от Simfony.

Инвентаризация визуальной эстетики веб-сайтов (VisAWI) — это проверенный инструмент, широко используемый в исследованиях UX для оценки эстетики, понимаемой как субъективный и приятный опыт, направленный на объект, не опосредованный логическим рассуждением.
VisAWI предлагает структурированный подход к оценке эстетики веб-сайтов, включающий 18 элементов, разделённых на четыре подшкалы:
Простота (Simplicity): Оценивает ясность и минимализм.
Разнообразие (Diversity): Анализирует визуальное разнообразие и богатство.
Цветность (Colorfulness): Уделяет внимание использованию и привлекательности цвета.
Мастерство исполнения (Craftsmanship): Изучает воспринимаемое качество исполнения дизайна.
Изначально разработанный на выборке из 2027 участников, говорящих на немецком языке, VisAWI продемонстрировал высокую психометрическую надёжность и сильную теоретическую обоснованность, что делает его надёжным инструментом как для научных исследований, так и для практического применения в веб-дизайне.
Теперь доступна версия VisAWI с позитивными формулировками утверждений, валидированная на английском языке, что расширяет его применимость для международных исследований и профессиональных задач.

https://www.tandfonline.com/doi/epdf/10.1080/10447318.2023.2258634
Цвет в веб-дизайне — это не просто эстетический выбор, а мощный психологический сигнал с глубокими эволюционными корнями.
Данные нейровизуализации и самоотчётов предоставляют убедительные доказательства влияния цвета на восприятие:
Когнитивная обработка и умственная нагрузка: Просмотр веб-сайтов с красным дизайном активировал левую дорсолатеральную префронтальную кору (dlPFC), область мозга, связанную с умственной нагрузкой. Это указывает на то, что красный цвет требует большего количества когнитивных ресурсов из-за своей ассоциации с угрозой и повышенным вниманием.
Недоверие к бесцветным сайтам: Веб-сайты без цвета вызывали ещё более сильную активацию правой dlPFC по сравнению с цветными сайтами, что свидетельствует о большей когнитивной нагрузке. Данные самоотчётов подтвердили этот вывод: пользователи испытывали большее недоверие, меньшее удовольствие и более негативное отношение к бесцветным дизайнам. Это, вероятно, связано с неопределённостью, которую создаёт отсутствие цвета.
Эти результаты подчеркивают важность цвета в формировании пользовательских восприятий. Красный цвет может усиливать вовлечённость, но за счёт увеличения когнитивной нагрузки, в то время как бесцветные дизайны могут непреднамеренно вызывать чувство неопределённости и недоверия.

В 2010 году сайт Bitcoin Faucet раздавал по 5 биткоинов каждому посетителю, который пройдёт капчу. Если бы вы тогда потратили 5 минут своего времени и дважды прошли капчу, сейчас бы были долларовым миллионером. В общей сложности тогда сервис раздал 19 700 BTC или $1,97 млрд по текущему курсу.
5 декабря 2024 года курс биткоина впервые превысил $100 тыс. (более 10 млн рублей).

Наткнулся у себя в закладках на статью из 2017 года о создании web-приложения на Ассемблере - https://habr.com/ru/articles/318916/ - и решил напомнить об этом приложении. Для многих это приложение будет необычным вариантом использования Ассемблера, как и для меня.
Вот прямая ссылка на исходники проекта - https://asm32.info/fossil/asmbb/index
Как установить ThisArgument вручную?
Пришло время зафиналить тему контекста исполнения: в новом выпуске нашего открытого курса по JavaScript веб-разработчик Василий Новиков рассказывает про способы вызова функции и методы bind, call и apply.
Из одиннадцатой серии вы узнаете:
как автоматически установить thisArgument для функций;
как работают методы bind, call и apply при ручной установке;
как ведут себя стрелочные функции при привязке this через bind, call и apply.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Современные пользовательские интерфейсы часто требуют значительных усилий при использовании из-за того, что представляют обширные объёмы разнородной информации. Это создает значительную нагрузку на управление вниманием и когнитивные ресурсы пользователей.
Исследования показывают, что общий показатель интеллекта (Full-Scale IQ), являющийся агрегированным измерением когнитивных способностей, коррелирует с успехом выполнения задач, более быстрым их завершением и снижением субъективного восприятия ментальной нагрузки при работе с компьютерами. Особенно важно, что объём рабочей памяти объясняет значительную часть различий в эффективности выполнения компьютерных задач, подчеркивая её ключевую роль в успешной работе с интерфейсами.
Кроме того, исполнительные функции, такие как выбор целей, планирование действий и выполнение задач в правильной последовательности, оказываются критически важными для успешного взаимодействия с такими интерфейсами.
Для обеспечения равного доступа к преимуществам использования цифровых технологий необходимо совершенствовать дизайн пользовательских интерфейсов. Они должны минимизировать зависимость от исполнительных функций и объёма рабочей памяти, что сделает их более доступными для широкого круга пользователей.

Доклад Особенности фреймворка $mol (+ слайды) с PiterJS #72.
О фичах $mol, которых нет в других фреймворках, и о том, зачем они нужны.
Автор - Станислав Яременко. Герой Hyper Dev, Синьор $mol-разработчик.
Писал на Vue, Svelte. Пробовал и другие фреймворки. Как-то раз я загуглил "лучший ui фреймворк", и на первом месте в выдаче оказался $mol. Конечно, я не поверил и начал разбираться...
Ближайшие события
На текущий момент отсутствуют механизмы, которые позволяли бы индивидуальным создателям контента явно регулировать использование их материалов для обучения ИИ.
Существующие решения больше ориентированы на интересы крупных организаций, защищающих свои обширные базы данных и контента.
Большинство создателей не управляют собственными веб-серверами и вынуждены полагаться на интерфейсы, предоставляемые хостингами. Однако такие интерфейсы редко предлагают возможность легко управлять доступом для ИИ-ботов.
Лишь немногие хостеры дают возможность прямого редактирования файла robots.txt, который мог бы использоваться для блокировки веб-сканеров. Также отсутствуют простые и понятные механизмы, которые могли бы помочь авторам выразить желание ограничить использование их контента ИИ.

Раз в год-два мне приходится вспоминать, что Python — не C++.
В этот раз я наткнулся на случай, когда отформатировать и склеить колонки результата запроса на стороне PostgreSQL и распарсить Python-ом оказалось эффективнее, чем запрашивать колонки как отдельные значения.
Конкретнее, при переходе от этого запроса:
SELECT * FROM o_relations ORDER BY id DESC LIMIT %(limit)s
к этому:
SELECT CONCAT(entry_id::text, '|', tag_id::text) AS ids FROM o_relations ORDER BY id DESC LIMIT %(limit)s
скорость извлечения данных увеличилась примерно в 4 раза.
Причиной тому тяжёлая конвертация данных из формата С в формат Python внутри Psycopg.
За подробностями можно сходить ко мне в блог: https://tiendil.org/ru/posts/fun-case-of-speeding-up-data-retrieval-with-psycopg
Extended-use designs (EUD) - что-то похожее на dark patterns в вебе - оказались весьма распространены среди популярных онлайн платформ, таких как Booking или AliExpress. Эти практики можно сгруппировать в четыре категории, отражающие лежащие в их основе стратегии:
давление (pressuring)
соблазнение (enticing)
ловушка (trapping)
усыпление бдительности пользователей для вовлечения (lulling users into engaging)
EUD манипулируют эмоциональным опытом пользователей (например, давление, соблазнение) и когнитивной нагрузкой (например, усыпление, ловушка). Они работают в сочетании, чтобы эмоционально и когнитивно вознаграждать пользователей за продолжение вовлеченности и наказывать их за попытки прекратить взаимодействие.

Результаты исследования показывают, что GDPR негативно повлиял на количество пользователей, причем этот эффект усиливается со временем. В краткосрочной перспективе (через 3 месяца после введения GDPR) еженедельные посещения на сайте снизились на 4,88%, а в долгосрочной (через 18 месяцев) уменьшение достигло 10,02%. Эти данные подчеркивают важность отслеживания последствий GDPR на протяжении длительного периода для полного понимания его влияния.
GDPR создал две основные проблемы для веб-сайтов: им становится сложно либо привлекать пользователей, либо удерживать их внимание. Анализ показывает, как оценить экономический ущерб для сайтов, выявляя средние потери в доходах примерно в $7 миллионов для сайтов электронной коммерции и $2,5 миллиона для сайтов, основанных на рекламе, за 18 месяцев после введения GDPR.

Как инициализировать контекст исполнения?
Об этом веб-разработчик Василий Новиков рассказывает в новой серии нашего открытого курса по JavaScript. Из десятой серии вы узнаете про:
три вида записей окружения: LexicalEnvironment, VariableEnvironment и PrivateEnvironment;
шаги каждого из четырех алгоритмов контекста исполнения;
инициализацию глобального контекста исполнения.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Как защититься от самых популярных кибератак: советы экспертов из крупных компаний
Масштабы киберугроз в России растут: только за 9 месяцев 2024 года зафиксировано более 100 утечек данных. Атаки злоумышленников становятся всё более изощренными. Но есть конкретные шаги, которые помогут уберечь ценные данные и выстроить верную защиту ваших систем.
В новой статье на New Retail эксперты из OZON, F.A.C.С.T, Flowwow и AGIMA рассказали о самых типичных схемах мошенников и методах борьбы с ними. Вот главные тезисы:
📌Атакуют всех: злоумышленники используют старые утечки данных, анализируют оборот компаний и шифруют ценные данные для выкупа. Группировка Conti, к примеру, требует до 4% оборота за расшифровку.
📌 Security by Design. Это принцип разработки, при котором безопасность системы закладывается еще на этапе планирования архитектуры. Он помогает исключить уязвимости и защитить продукт еще до запуска.
📌 Фишинг — одна из главных угроз. Имитация фишинговых атак и проведение тестов на проникновение (пентестов) помогут подготовить команду к реальным угрозам. Строго проверяйте отправителей во входящих письмах и заведите правило не переходить по подозрительным ссылкам.
📌 Автоматизация мониторинга. ИИ-решения и системы автоматической обработки угроз помогут быстро выявлять аномалии и реагировать на них за считаные минуты вместо часов.
Эти и другие советы из статьи помогут защитить корпоративную инфраструктуру и данные, минимизировать риски утечек и сохранить репутацию вашей компании.
