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

Делаем веб лучше
Представлен проект капчи DOOM CAPTCHA, где нужно убить минимум трёх монстров на карте secret level E1M9 в режиме Nightmare. Стрейфиться нельзя, управление - стрелки вперёд. назад, вправо, влево, стрельба - пробел.
В сети появился онлайн-скринсейвер Screensaver Chess, который решает шахматные головоломки.
Обновления января 2025 года в Amvera Cloud
Многие ждали, писали, но нет, мы цены повышать не будем!)
Зато сразу после 1 января праздников, ориентировочно 13—17 января
Выкатим новый фронт. Надеемся, все станет понятнее.
Появятся преднастроенные RabbitMQ и Memcached.
Расширенные алерты и пробы. Можно будет настроить алерты на падение проекта, превышение заданного потребления ОЗУ и CPU и появления определенных ошибок в логах. Дополнительно появятся liveness и readiness пробы.
Мы вводим SLA. Осенью 2024 были инциденты с падением сервисов. Мы готовы нести ответственность за безотказность работы сервиса. Начиная с января 2025, если наша надежность окажется ниже 99,5% в месяц, можно будет претендовать на компенсации с нашей стороны.
SLA действует с 1 января 2025
Amvera Cloud — это облако для простого деплоя приложений через git push. Встроенный CI/CD, бэкапы и мониторинг позволяют развернуть проект тремя командами в IDE и не думать о настойке инфраструктуры. Amvera проще, чем использование VPS или Kubernetes-кластера.
Не иди в стартап, не совершай ошибки… или совершай?
Всем привет!
Меня зовут Данил, и я работаю старшим специалистом веб-разработки в компании ООО «Увеон» (Группа компаний Астра). Сегодня я бы хотел поговорить о своем опыте вхождения в айти через стартапы.
В моем окружении разработчики делятся на два типа: те, кто работают в стартапах, и те, кто трудятся в корпорациях. Каждый может привести весомые аргументы за свою позицию. Я успел побывать в обоих легионах и готов поделиться своей историей работы в стартапе. Буду рад вашим мнениям и комментариям.
Спустя год после окончания университета и работы на Ижевском Радиозаводе python-программистом, я понял, что уперся в потолок как технический, так и зарплатный, хотелось изменений. Плюс впереди планировался переезд в Питер, нужно было искать удаленный формат, что завод никак не мог предложить.
После пары недель поиска основатель стартапа, о котором пойдет речь, нашел меня сам, провел техническое собеседование, которое тогда показалось мне довольно легким. Сам проект представлял собой соцсеть для финансистов: пользователи могли доверять свои средства опытным игрокам валютного рынка, чьи операции затем автоматически копировались. Идея заключалась в том, чтобы все участники оказывались "в плюсе". Моей задачей была разработка модуля копирования операций MT5.
У проекта был заказчик, который оплатил бюджет целиком, а не по спринтам, что вскоре создало проблемы. Через некоторое время начались сложности. Руководство заявило, что моя зарплата завышена и её нужно сократить на 30%. Не обошлось без сравнений с другими сотрудниками, которые якобы "работают лучше". Атмосфера в команде стала напряжённой.
Далее выяснилось, что все работники подписали краткосрочные партнерские договоры на три месяца (испытательный срок) и получали деньги через самозанятость. Контракты не продлевались, а трудовые договоры считались "невыгодными". Через несколько месяцев поступило предупреждение: денег не хватает, возможны задержки оплаты. Однако уверяли, что ситуация наладится. Увы, я был слишком наивен и начал искать новое место лишь спустя два месяца после первых признаков кризиса.
Хочу отметить, что не все стартапы такие. Многие работают честно, создают интересные проекты и открыты перед сотрудниками. Однако мой опыт заставляет быть осторожным.
Опираясь на свой опыт и наблюдения моих коллег, я бы хотел выделить следующие плюсы работы в стартапе:
Подработка. Стартап может быть отличным вариантом, если вы ищете дополнительный доход, особенно при формате 0.5 ставки или работы через ИП.
Рост. Участие в стартапе ускоряет профессиональное развитие. Из-за ограниченных ресурсов вы осваиваете новые навыки и роли.
Значимость. В стартапе каждый сотрудник играет ключевую роль, чего не всегда можно сказать о корпорациях.
Доля в компании. Возможность получить опцион или бонусы за вклад в развитие продукта.
Свобода. Меньше корпоративных ограничений, например, связанных с географией работы.
НО есть и минусы:
Отсутствие корпоративных бонусов. Обычно нет ДМС, оплачиваемого оборудования или других стандартных "плюшек".
Риски с оплатой труда. Возможны задержки, сокращения или даже отсутствие зарплаты.
Риск банкротства. Стартап может закрыться в любой момент, а сотрудники останутся без компенсаций.
Сложности с менеджментом. Часто в стартапах не хватает структурированного управления, что приводит к хаосу.
Большая нагрузка. Вам придётся совмещать несколько ролей, что ведёт к выгоранию.
Как вам мои выводы? Пишите свое мнение и делитесь своим опытом в комментариях.
Объектно-ориентированное программирование и его реализация в JavaScript
Именно так звучит тема нового выпуска нашего открытого курса по JavaScript. В 12 серии вместе с веб-разработчиком Василием Новиковым разберёмся:
что такое объектно-ориентированное программирование (ООП) и его функции;
как реализовывать ООП на конкретном примере;
как применять метод проверки getPrototypeOf.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Недавнее исследование выявило и классифицировало 68 уникальных типов «тёмных паттернов» в дизайне пользовательских интерфейсов. Эти паттерны были организованы в пять основных категорий:
Препятствия (Obstruction): Намеренное усложнение или запутывание процессов.
Укрывательство (Sneaking): Сокрытие или искажение информации с целью введения пользователей в заблуждение.
Интерференция интерфейса (Interface Interference): Манипуляции элементами интерфейса для влияния на поведение пользователей.
Принуждение (Forced Action): Обязательное выполнение пользователем определённых действий для достижения желаемого результата.
Социальная инженерия (Social Engineering): Использование социальных норм или давления для манипуляции поведением пользователей.
Кроме того, таксономия включает 8 новых подкатегорий и 24 дополнительных типа тёмных паттернов, таких как:
Новые подкатегории: Ложная информация, сложно закрыть, откровенно злой дизайн, принудительная реклама, автоматическое выполнение и др.
Новые тёмные паттерны: Принудительный льготный период (Forced Grace Period), только первоначальные выплаты (Only Initial Payouts), бесконечная прокрутка (Infinite Scrolling) и другие.
Таксономия была проверена с участием представителей индустрии, и более 87% опрошенных одобрили её за полноту, ясность и практическую полезность.
🎉 Релиз 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, который мог бы использоваться для блокировки веб-сканеров. Также отсутствуют простые и понятные механизмы, которые могли бы помочь авторам выразить желание ограничить использование их контента ИИ.