Архивы

  • Еще один велосипед для борьбы с callback hell в JavaScript

    от автора

    Считается, что мир JavaScript бурно развивается: регулярно выходят новые стандарты языка, появляются новые синтаксические фишки, а разработчики моментально все это адаптируют и переписывают свои фреймворки, библиотеки и прочие проекты с тем, чтобы все это использовалось. Сейчас, например, если вы всё ещё пишете в коде var, а не const или let, то это уже вроде как…

  • Умельцы взломали NES Classic, теперь игры можно заливать по USB

    от автора

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

  • Особенности разработки Telegram бота с Google API в Docker

    от автора

    Коротко о боте: получает список YouTube-каналов пользователя и уведомляет о новых видео с возможностью напомнить о нем позже. В статье расскажу об особенностях написания этого бота и взаимодействия с Google API. Я люблю краткость, поэтому в статье будет мало «воды». На какие вопросы ответит статья: Где взять внешний адрес сайта для Webhook Где взять HTTPS-сертификат…

  • Классы типов в Scala (с небольшим обзором библиотеки cats)

    от автора

    При слове "полиморфизм" сразу вспоминается объектно-ориентированное программирование, в котором полиморфизм является одним из столпов (Полиморфизм для начинающих). (Причём, по-видимому, более важным, чем другие столпы.) Оказывается, что можно достичь сходного эффекта и другим путём, который в ряде случаев оказывается более предпочтительным. Например, с помощью классов типов можно приписать новые возможности уже существующим типам, у которых нельзя…

  • О сравнении объектов по значению — 5: Structure Equality Problematic

    от автора

    В предыдущей публикации мы вывели наиболее полный и корректный способ реализации сравнения по значению объектов — экземпляров классов (являющихся ссылочными типами — Reference Types) для платформы .NET. Каким образом нужно модифицировать предложенный способ для корректной реализации сравнения по значению объектов — экземпляров структур (являющихся "типами по значению" — Value Types)? Экземпляры структур, в силу своей…

  • Настройка SPICE-консоли виртуальных машин в OpenStack

    от автора

    Эта статья будет интересна администраторам облачной платформы OpenStack. Речь пойдет об отображении консоли виртуальных машин в дашборде. Дело в том, что по умолчанию в OpenStack используется noVNC консоль, которая с приемлемой скоростью работает в рамках локальной сети, но плохо подходит для работы с виртуалками, запущенными в удаленном датацентре. В этом случае отзывчивость консоли, мягко говоря,…

  • В Elite: Dangerous появились корабли неизвестной расы

    от автора

    Излучение генерируют корабли «чужих». Что это за излучение — пока неясно В июле этого года геймеры Elite: Dangerous стали массово сообщать о странных зондах и сигналах, которые появляются в определенных зонах. Собственно, все бы ничего, ведь пока что игроки освоили не такую уж и большую часть игрового пространства (по словам разработчиков, здесь около 400 000…

  • Беспроводной звук для домашнего кинотеатра: муки выбора — изобилие форматов, возможностей и проблем

    от автора

    Беспроводные стандарты передачи данных быстро и повсеместно отвоёвывают позиции у традиционно кабельных сегментов. Звук не стал исключением, и ежегодно всё большую долю в общем объёме рынка отгрызают беспроводные акустические системы, наушники и пр. Для обладателей домашних кинотеатров беспроводные акустические системы предоставляют массу новых возможностей, но при этом заставляют всерьёз задуматься над выбором стандарта. С одной…

  • Брутальное аниме для бородатых программистов

    от автора

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

  • Малоизвестные Git-команды

    от автора

    У Git есть строгие обязательства по обратной совместимости: многие продвинутые возможности скрыты за разнообразными опциями, а не применяются как поведение по умолчанию. К счастью, Git также поддерживает и алиасы, так что вы можете создавать свои собственные команды, которые делают всю характерную для Git магию. Под катом — подборка полезных (или как минимум забавных) алиасов, определённых…