Обновить
342.45

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга

E-mail шаблоны Joomla 5: добавление и просмотр своих переменных

В Joomla 5 появились настраиваемые email-шаблоны, как системные, так и сторонних компонентов. Их нельзя (пока что) добавить самостоятельно, они добавляются расширениями при установке. Но их можно отредактировать в Система - Шаблоны - Шаблоны писем. В настройках шаблонов писем (кнопка настроек компонента в верхнем правом углу) мы выбираем формат писем текст или HTML. Тогда становятся доступны настройки макетов шаблонов писем Joomla. Эти глобальные параметры можно переопределить в каждом конкретном email-шаблоне. Таким образом для каждого из email-шаблонов можно указать свою вёрстку и настройки логотипа.
Это, конечно, требует отдельной подробной статьи...

Для разработчиков: как добавить свои переменные для e-mail шаблонов Joomla?

Полезны окажутся 2 триггера для плагинов: onMailBeforeTagsRendering и onMailBeforeRendering.

onMailBeforeRendering - триггер, который позволяет добавлять свои шорт-коды для строковой замены в плагине. Отдать туда надо массив вида [ variable_name => variable_value ]. Из админки свои переменные нужно добавлять уже с фигурными скобками: {variable_name} заменится на variable_value. Аргументом $event плагина является экземпляр класса BeforeRenderingMailTemplateEvent, в котором есть кроме прочих 2 метода: getTemplate() (получение объекта мейлера, куда можно добавлять свои данные) и getTemplateId() (получение id шаблона письма вида com_users.registration.admin.new_notification), по которому мы определяем нужный ли это для нас email-шаблон или нет. Аналогично контексту в контент-плагинах.

Также полезное свойство класса для передачи данных из плагина в лейаут письма для рендера - $layoutTemplateData. Это ассоциативный массив.

// Получаем текущий мейлер 
$mailTemplate = $event->getTemplate();
$data = [
   'variable_name' => 'variable_value'
];
// с Joomla 4 для всех типов писем. 2-й аргумент - plain - текстовый формат письма 
$mailTemplate->addTemplateData($data, false);
// с Joomla 5.2 - для HTML-писем
$mailTemplate->addLayoutTemplateData($data);

// пример из ядра Joomla
// Add additional data to the layout template
$this->addLayoutTemplateData([
    'siteName' => $app->get('sitename'),
    'lang'     => substr($this->language, 0, 2),
]);

onMailBeforeTagsRendering - триггер, который добавляет ваши переменные в список доступных переменных для замены в окне редактирования email шаблона Joomla. Отдать туда нужно массив с переменными, но без их значений.

Чат Joomla-сообщества в Telegram

Мой личный Telegram-канал

Теги:
Рейтинг0
Комментарии0

Быль.
Во времена древние приходит к нам "по знакомству" один важный клиент и просит помочь - заказал он типа сайт, а сайт получился какой-то плохой. Вот оценить, почему? Ведь в офисе у вебстудии всё было очень хорошо, а тут деньги заплатили, на хостинг выложили - а там г... какое-то.

Идем смотреть. Сайт - куча красивых картинок, десяток страниц, на каком-то "PHP хостинге" - и тормозит, потому что картинки - на весь экран, в формате BMP.

А времена - когда аналоговый модем 57600 кбит/с - роскошь. И вот тянуть эти мегабайтные BMP по модему...

Обьяснили, "мягко говоря, неоптимально сделан сайт", вроде понял.
Спрашиваем: а как так получилось, вы когда смотрели - что видели?
Да, говорит, в вебстудии на компьютере запустили, всё очень красиво, быстро, чётко было...

Зачем люди ссорится будут, пошли по знакомству проблему утрясать.
А там действительно, "вебстудия" в одно лицо, стоит навороченный комп, сидит молодой человек дизайнерской наружности и ваяет красивое. Фотошоп, Корел, вот это всё.
Прикручивает к какой-то CMS, всё - картинками, большими, красивыми, и рамки вокруг текста картинками (кто помнит как это делалось до CSS border).
И вот прямо как в Windows сохраняет - в BMP, так и прикручивает. БезУчетаРегистра.TXT имен файлов.

- У меня - говорит - всё работает! Вот, видите, быстро и красиво!
- а у клиента на сайте?
- а это у него хостинг там кривой, на дурацком юниксе, это не моя проблема!
- но почему картинки в BMP??
- а что, работает же? В PSD не работает, в jpg мылится.
- про то, что File.TXT и file.txt - разные файлы, знаешь?
- у меня - одно и то же, а у него там хостинг кривой!

В общем, "я художник, я так вижу!". Человек освоил Фотошоп, Ворд, и стал вебмастером.
Еле убедили, что в его же интересах изучить еще jpeg и доработать сайт, а то клиент нервный, еще из этих, малиновых пиджаков, может обидеться и предьявить за развод.
Ну вроде как доработал потом.

А проблема тут в том, что позже не раз попадалось подобное: разработчик чего-либо разрабатывает это на топовой машине, тестирует на топовом сервере, который стоит тут же, за спиной, подключен гигабитным кабелем, показывает это творение заказчику - стороннему или своему же руководству, получает одобрение и продукт идет в работу.

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

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

(это все к вопросу о пуристах, требующих быстрые легковесные программы и сайты на HTML)

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии7

Установка "вечной" темы на хабре

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

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

Сперва я подумал: "Наверняка это защита от отслеживания в Firefox. Попробую добавить хабр в исключения". Не сработало. Но все равно казалось что проблема кроется где-то рядом. У меня куча всяких расширений, блокировщиков и прочей ерунды. Что-то из этого могло удалять какую-нибудь сессию, куку или что-то еще, о чем я и не слышал. Решил проверить на хроме и edge: на одном тоже куча расширений, на втором — ни одного. Проблема оказалась и там.

Подумал: "Когда тёмная тема только появилась, там был анонс о ней в духе беты, мол кликни и получи эксклюзивную темную тему, которой еще нет на хабре". Я тогда кликнул, не понравилось, вернулся на светлую. Может быть дело в этом, и я привязал свой акк на веки-вечные к темной теме?

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

Шли дни, менялись сезоны, пока в какой-то момент мне не потребовалось ковыряться в куках браузера по не связанной с данной проблемой теме. Одновременно с этим опять слетела тема и во мне снова что-то дернулось, потому что ну бесит же. Решил спросить у GPT без всякой надежды на решение очень уж специфичной проблемы. Он не сказал ничего нового в общем-то, но предложил проверить в браузере срок действия кук на хабре и мол если дело в этом, то тут уже ничего не сделать, срок валидности кук определяет сам сайт. Средствами фф проверить срок действия кук у меня не вышло, но я ведь как раз ставил расширение "Cookie-Editor", позволяющее читать и редактировать значения кук. Открыл я его на хабре и нашел куку "theme", на вкладке "advanced" которой была вожделенная дата истечения куки, совпадающая тем самым днем.

Я сменил тему еще раз, и посмотрел как изменилась кука — число перепрыгнуло на неделю вперед. Т.е. срок действия настройки темы на хабре: 1 неделя. После этого тема вновь устанавливается на "системную", а в системе у меня стоит темная тема. Я решил провести эксперимент, и отредактировал эту дату, поменяв 2024 на 2025 (не меняя число и день недели, очевидно день недели будет неверным, но главное, что дата заведомо далеко впереди). Идёт уже третья неделя, тема не слетает, а я счастлив. Поставил expiration date на 3000-ый год.
Не знаю, есть ли еще кто с такой проблемой, если есть — надеюсь им поможет этот пост.
Но вообще, возможно для этой куки хабру стоит отмерить какой-то больший срок жизни.

UPD. Ув. @Mirnin подсказал в комментах где в Firefox можно найти срок годности куки:
Инструменты разработчика → Хранилище → Куки. Там же его можно и отредактировать, без всяких расширений.

Теги:
Всего голосов 8: ↑8 и ↓0+12
Комментарии7

🌐 HTTP-метод QUERY: новый метод для поисковых запросов

В мире HTTP давно существует проблема с передачей сложных поисковых запросов. Когда разработчику нужно передать большой набор параметров для поиска или фильтрации, у него есть два не самых удачных варианта.

Можно использовать GET и передавать всё в URL:

GET /feed?q=foo&limit=10&sort=-published&filters[]=status:active&filters[]=type:post

Но URL дефакто имеет ограничения по длине, а кодирование сложных параметров становится громоздким.

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

Именно поэтому появился новый метод QUERY. Он позволяет отправлять поисковые параметры в теле запроса:

QUERY /feed

Content-Type: application/json
{
  "q": "foo",
  "limit": 10,
  "sort": "-published",
  "filters": ["status:active", "type:post"]
}

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

Метод официально получил статус PROPOSED STANDARD, что означает скорое появление поддержки в браузерах и веб-фреймворках.

Если вам интересны подобные посты, подписывайтесь на tg-канал Cross Join

Теги:
Всего голосов 7: ↑6 и ↓1+6
Комментарии14

Представлен проект капчи DOOM CAPTCHA, где нужно убить минимум трёх монстров на карте secret level E1M9 в режиме Nightmare. Стрейфиться нельзя, управление - стрелки вперёд. назад, вправо, влево, стрельба - пробел.

Теги:
Всего голосов 9: ↑9 и ↓0+13
Комментарии0

Обновления января 2025 года в Amvera Cloud

Многие ждали, писали, но нет, мы цены повышать не будем!)

Зато сразу после 1 января праздников, ориентировочно 13—17 января

  1. Выкатим новый фронт. Надеемся, все станет понятнее.

  2. Появятся преднастроенные RabbitMQ и Memcached.

  3. Расширенные алерты и пробы. Можно будет настроить алерты на падение проекта, превышение заданного потребления ОЗУ и CPU и появления определенных ошибок в логах. Дополнительно появятся liveness и readiness пробы.

  4. Мы вводим SLA. Осенью 2024 были инциденты с падением сервисов. Мы готовы нести ответственность за безотказность работы сервиса. Начиная с января 2025, если наша надежность окажется ниже 99,5% в месяц, можно будет претендовать на компенсации с нашей стороны.

SLA действует с 1 января 2025

Amvera Cloud  это облако для простого деплоя приложений через git push. Встроенный CI/CD, бэкапы и мониторинг позволяют развернуть проект тремя командами в IDE и не думать о настойке инфраструктуры. Amvera проще, чем использование VPS или Kubernetes-кластера.

Теги:
Рейтинг0
Комментарии0

Не иди в стартап, не совершай ошибки… или совершай?

Всем привет!

Меня зовут Данил, и я работаю старшим специалистом веб-разработки в компании ООО «Увеон» (Группа компаний Астра). Сегодня я бы хотел поговорить о своем опыте вхождения в айти через стартапы.

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

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

После пары недель поиска основатель стартапа, о котором пойдет речь, нашел меня сам, провел техническое собеседование, которое тогда показалось мне довольно легким. Сам проект представлял собой соцсеть для финансистов: пользователи могли доверять свои средства опытным игрокам валютного рынка, чьи операции затем автоматически копировались. Идея заключалась в том, чтобы все участники оказывались "в плюсе". Моей задачей была разработка модуля копирования операций MT5.

У проекта был заказчик, который оплатил бюджет целиком, а не по спринтам, что вскоре создало проблемы. Через некоторое время начались сложности. Руководство заявило, что моя зарплата завышена и её нужно сократить на 30%. Не обошлось без сравнений с другими сотрудниками, которые якобы "работают лучше". Атмосфера в команде стала напряжённой.

Далее выяснилось, что все работники подписали краткосрочные партнерские договоры на три месяца (испытательный срок) и получали деньги через самозанятость. Контракты не продлевались, а трудовые договоры считались "невыгодными". Через несколько месяцев поступило предупреждение: денег не хватает, возможны задержки оплаты. Однако уверяли, что ситуация наладится. Увы, я был слишком наивен и начал искать новое место лишь спустя два месяца после первых признаков кризиса.

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

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

  1. Подработка. Стартап может быть отличным вариантом, если вы ищете дополнительный доход, особенно при формате 0.5 ставки или работы через ИП.

  2. Рост. Участие в стартапе ускоряет профессиональное развитие. Из-за ограниченных ресурсов вы осваиваете новые навыки и роли.

  3. Значимость. В стартапе каждый сотрудник играет ключевую роль, чего не всегда можно сказать о корпорациях.

  4. Доля в компании. Возможность получить опцион или бонусы за вклад в развитие продукта.

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

НО есть и минусы:

  1. Отсутствие корпоративных бонусов. Обычно нет ДМС, оплачиваемого оборудования или других стандартных "плюшек".

  2. Риски с оплатой труда. Возможны задержки, сокращения или даже отсутствие зарплаты.

  3. Риск банкротства. Стартап может закрыться в любой момент, а сотрудники останутся без компенсаций.

  4. Сложности с менеджментом. Часто в стартапах не хватает структурированного управления, что приводит к хаосу.

  5. Большая нагрузка. Вам придётся совмещать несколько ролей, что ведёт к выгоранию.

Как вам мои выводы? Пишите свое мнение и делитесь своим опытом в комментариях.

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии3

Объектно-ориентированное программирование и его реализация в JavaScript

Именно так звучит тема нового выпуска нашего открытого курса по JavaScript. В 12 серии вместе с веб-разработчиком Василием Новиковым разберёмся:

  • что такое объектно-ориентированное программирование (ООП) и его функции;

  • как реализовывать ООП на конкретном примере;

  • как применять метод проверки getPrototypeOf.

Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Недавнее исследование выявило и классифицировало 68 уникальных типов «тёмных паттернов» в дизайне пользовательских интерфейсов. Эти паттерны были организованы в пять основных категорий:

  • Препятствия (Obstruction): Намеренное усложнение или запутывание процессов.

  • Укрывательство (Sneaking): Сокрытие или искажение информации с целью введения пользователей в заблуждение.

  • Интерференция интерфейса (Interface Interference): Манипуляции элементами интерфейса для влияния на поведение пользователей.

  • Принуждение (Forced Action): Обязательное выполнение пользователем определённых действий для достижения желаемого результата.

  • Социальная инженерия (Social Engineering): Использование социальных норм или давления для манипуляции поведением пользователей.

Кроме того, таксономия включает 8 новых подкатегорий и 24 дополнительных типа тёмных паттернов, таких как:

  • Новые подкатегории: Ложная информация, сложно закрыть, откровенно злой дизайн, принудительная реклама, автоматическое выполнение и др.

  • Новые тёмные паттерны: Принудительный льготный период (Forced Grace Period), только первоначальные выплаты (Only Initial Payouts), бесконечная прокрутка (Infinite Scrolling) и другие.

Таксономия была проверена с участием представителей индустрии, и более 87% опрошенных одобрили её за полноту, ясность и практическую полезность.

https://arxiv.org/pdf/2412.09147

Теги:
Рейтинг0
Комментарии0

🎉 Релиз MoonShine v3 админ панели для Laravel! 🎉

Друзья, у нас праздник!

10 декабря наконец-то зарелизили MoonShine v3 (open-source панели администратора для проектов на Laravel).

Кто не вкурсе, вот статьи:

Первый взгляд на MoonShine

MoonShine 2.0. Что нового?

Это было непросто. Пришлось отложить дату релиза, но зато успел всё сделать что запланировано. 🔥

Что было на стриме:

  • 🕰 Краткая история создания MoonShine — от первых шагов до сегодняшнего дня.

  • 🚀 Релиз на GitHub, деплой новой версии лендинга и документации.

  • 🛍 Демонстрация маркетплейса приложений для MoonShine

Обязательно посмотрите запись стрима! Вы не только узнаете больше о MoonShine, но и вдохновитесь на свои проекты.

🎥 Ссылка на стрим

Немного выдохну, и сделаю подробный разбор по возможностям MoonShine v3.

Сайт проекта - https://moonshine-laravel.com/

Чат в телеграм - https://t.me/moonshine_ru

#MoonShine #релиз #CutCode

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Подготовка расширений к 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.

PR на GitHub

Теги:
Рейтинг0
Комментарии0

Ближайшие события

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

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

  • Человечный стиль общения повышает удовольствие: Хотя человеческий стиль общения (например, эмпатия, шутки, эмоциональные реакции) не оказывает существенного влияния на восприятие простоты использования или полезности, он значительно увеличивает ощущение удовольствия от взаимодействия, делая общение с чат-ботом более приятным.

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

https://www.tandfonline.com/doi/epdf/10.1080/10447318.2023.2175158

Теги:
Рейтинг0
Комментарии1

Исследовал интернет и наткнулся на GitHub Unwrapped. Он на основе активности в GitHub создаёт видео, где можно увидеть часто используемые языки, часы спонтанной работы, звёзды и всё остальное. Достаточно ввести только имя профиля, чтобы получить видео. Код открыт.

Сделано с использованием Remotion — тоже с открытым кодом, которая позволяет автоматизировать создание видео на React в веб. Документация хорошая, но надо разбираться. Увидел это и решил, что круто, надо поделиться!

P.S. Моя активность в этом ролике, если кому-то будет интересно.

Теги:
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Запуск выполнения задач планировщика задач 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.

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

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

VisAWI предлагает структурированный подход к оценке эстетики веб-сайтов, включающий 18 элементов, разделённых на четыре подшкалы:

  • Простота (Simplicity): Оценивает ясность и минимализм.

  • Разнообразие (Diversity): Анализирует визуальное разнообразие и богатство.

  • Цветность (Colorfulness): Уделяет внимание использованию и привлекательности цвета.

  • Мастерство исполнения (Craftsmanship): Изучает воспринимаемое качество исполнения дизайна.

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

Теперь доступна версия VisAWI с позитивными формулировками утверждений, валидированная на английском языке, что расширяет его применимость для международных исследований и профессиональных задач.

https://www.tandfonline.com/doi/epdf/10.1080/10447318.2023.2258634

Теги:
Рейтинг0
Комментарии0

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

Данные нейровизуализации и самоотчётов предоставляют убедительные доказательства влияния цвета на восприятие:

  • Когнитивная обработка и умственная нагрузка: Просмотр веб-сайтов с красным дизайном активировал левую дорсолатеральную префронтальную кору (dlPFC), область мозга, связанную с умственной нагрузкой. Это указывает на то, что красный цвет требует большего количества когнитивных ресурсов из-за своей ассоциации с угрозой и повышенным вниманием.

  • Недоверие к бесцветным сайтам: Веб-сайты без цвета вызывали ещё более сильную активацию правой dlPFC по сравнению с цветными сайтами, что свидетельствует о большей когнитивной нагрузке. Данные самоотчётов подтвердили этот вывод: пользователи испытывали большее недоверие, меньшее удовольствие и более негативное отношение к бесцветным дизайнам. Это, вероятно, связано с неопределённостью, которую создаёт отсутствие цвета.

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

https://pdf.sciencedirectassets.com/271802/1-s2.0-S0747563224X00023/1-s2.0-S0747563224000359/main.pdf

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

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

5 декабря 2024 года курс биткоина впервые превысил $100 тыс. (более 10 млн рублей).

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии4

Наткнулся у себя в закладках на статью из 2017 года о создании web-приложения на Ассемблере - https://habr.com/ru/articles/318916/ - и решил напомнить об этом приложении. Для многих это приложение будет необычным вариантом использования Ассемблера, как и для меня.
Вот прямая ссылка на исходники проекта - https://asm32.info/fossil/asmbb/index

Теги:
Рейтинг0
Комментарии0

Вклад авторов