Архив за 16 октября 2019 - 3
Божественные инновации. Ватикан представил фитнес-чётки с умным крестом
2019-10-16 в 15:02, admin, рубрики: НовостиВатикан представил на специальной пресс-конференции умное носимое устройство под названием eRosary со слоганом Click to Pray (нажми и молись).
Доступный неубиваемый флагман, за который вам не будет стыдно
2019-10-16 в 14:58, admin, рубрики: НовостиВ начале этого года китайский производитель телефонов Ulefone выпустил защищенный телефон флагманского уровня Ulefone Armor 6, который получил ряд привлекательных характеристик.
Обновленная модель получила название Ulefone Armor 6S, сегодня стартовал прием предварительных заказов, который завершится 21 октября. На данной стадии вы можете приобрести устройство за 280 долларов. Давайте взглянем, что предлагает новинка за эти деньги.
Snapdragon 730G и «акулий плавник» по цене OnePlus 7T. Представлены смартфоны Oppo Reno2
2019-10-16 в 14:52, admin, рубрики: НовостиКомпания Oppo только что в Лондоне провела мероприятие, на котором представила смартфоны Reno2 и Reno2 Z. Модели интересны тем, что уже послезавтра, то есть 18 октября, появятся в продаже в России по цене 39 990 и 29 990 рублей соответственно.
При этом при покупке в официальном онлайн-магазине покупатели получат в подарок рюкзак для ноутбука (при покупке Reno2) либо колонку Olike и сертификат на 2000 рублей в «Декатлон» (при покупке Reno2 Z). Подарки будут дарить и крупные сторонние продавцы.
Современные подогревы сидений состоят из множества резисторов, которые нагреваются при прохождении через них электрического тока. Для охлаждения кресел используется более сложная система с подачей к ним охлажденного воздуха, проходящего сквозь перфорированную обивку. Система нового поколения предлагает иной подход.
Самая мощная версия Xiaomi Mi 8 получила стабильную прошивку MIUI 11
2019-10-16 в 14:38, admin, рубрики: Новости, метки: новостиКомпания Xiaomi начала распространять стабильную версию фирменной оболочки MIUI 11 для пользователей смартфонов Xiaomi Mi 8 Explorer Edition. Об этом начали сообщать пользователи в Китае.

Прекрасный весенний цветок после победителя. Подробности о наследнике складного смартфона Samsung Galaxy Fold
2019-10-16 в 14:17, admin, рубрики: НовостиКомпания Samsung Electronics уже готовит к выпуску наследника своего первого складного смартфона Galaxy Fold с гибким экраном. Информацией о нём поделился корейское издание The Bell.
Can I haz? Ударим программированием на типах по дженерикам
2019-10-16 в 14:01, admin, рубрики: haskell, Программирование, функциональное программированиеПривет.
В прошлый раз мы описали Has
-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов:
instance HasDbConfig AppConfig where
getDbConfig = dbConfig
instance HasWebServerConfig AppConfig where
getWebServerConfig = webServerConfig
instance HasCronConfig AppConfig where
getCronConfig = cronConfig
Выглядит неплохо. Какие тут могут возникнуть сложности?
Ну, давайте подумаем, какие ещё инстансы нам могут понадобиться. В первую очередь конкретные типы с конфигурацией сами по себе хорошие кандидаты на (тривиальную) реализацию этих тайпклассов, что даёт нам ещё три инстанса, где каждый метод реализуется через id
, например
instance HasDbConfig DbConfig where
getDbConfig = id
Они позволяют нам легко писать отдельные тесты или вспомогательные утилиты, не зависящие от всего AppConfig
.
Это уже скучновато, но таки продолжим. Легко представить, что некоторые интеграционные тесты проверяют взаимодействие какой-то пары модулей, и мы всё ещё не хотим зависеть от конфигурации всего приложения целиком, так что теперь нам надо написать шесть инстансов (по два на тип), каждый из которых будет сводиться к fst
или snd
. Например, для DbConfig
:
instance HasDbConfig (DbConfig, b) where
getDbConfig = fst
instance HasDbConfig (a, DbConfig) where
getDbConfig = snd
Ужас. Остаётся надеяться, что нам никогда не понадобится тестировать работу трёх модулей одновременно — а то ведь придётся писать девять скучнейших инстансов. В любом случае, лично мне уже очень некомфортно, и я скорее потрачу несколько часов на автоматизацию этого дела, чем пару минут на написание десятка лишних строк кода.
Если интересно, как решить эту задачу в общем виде, причём тут зависимые типы, и как всё это в итоге будет выглядеть на хаскеле — велкам под кат.
Стала известна возможная схема наименования процессоров AMD Ryzen Threadripper третьего поколения
2019-10-16 в 13:46, admin, рубрики: Новости, метки: новостиВ ноябре AMD хочет вывести на рынок первых представителей третьего поколения процессоров Ryzen Threadripper. Пока известно только то, что младшая модель будет иметь 24 ядра. Указание на возможную схему именования этих процессоров обнаружено в документах организации Serial ATA International Organization (SATA-IO) .
Google больше не считает VR на смартфонах перспективным направлением
2019-10-16 в 13:26, admin, рубрики: Новости, метки: новостиНесмотря на то, что виртуальная реальность всё же уже является отдельным полноценным рынком, рынок этот не особо стабилен. Популярных продуктов очень мало, все они так или иначе связаны с играми. И даже небольшая цена — не залог популярности, если пользователи не видят особого интереса в продукте.
К примеру, проект Google под названием Daydream так и не снискал популярности, поэтому компания от него попросту отказалась. Новые смартфоны Pixel не поддерживают Daydream, а сама Google прекратила продажи своих гарнитур и сертификацию сторонних.