Архив за 01 марта 2020

Кроме того что я айтишник, я ещё и историк техники, и именно этим обусловлена моя реакция на новости об очередных достижениях в области цифровых технологий. Месяц назад я принял решение начать писать книжку для людей далёких от IT и близких к историческим исследованиям и источникам («Цифровое источниковедение — специфические проблемы» — пишется на сайтах книжных черновиков ), в которой расскажу им о том, чем для них обернулось развитие цифровых технологий.

Через через пару дней после этого по интернету пронеслась новость « «Прибытие поезда» улучшили с помощью нейросетей — фильм 1896 года теперь можно посмотреть в 4K и 60 кадрах в секунду », и это хороший повод рассказать айтишникам о том же самом.

Исходного фильма «Прибытие поезда» у меня нет, поэтому в качестве тестовых образцов я использовал современные фотографии (уменьшенные или обесцвеченные) + фото из 1930-х (предположительно)

Когда я слышу слова «нейросеть восстановила», я лезу проверять бэкапы
Читать полностью »

В Монголии помещен в карантин съездивший в КНР президент

Как сообщает «Интерфакс», президент вернулся на родину 27 февраля вечером. У него и у остальных членов делегации взяли анализы на коронавирус. Президента после этого изолировали в одной из клиник Улан-Батора, а сопровождавших его министров, советников и военных — в санаторий в столичном районе Хан-Уул.

Читать полностью »

Если вы работаете с одной базой данных которая поддерживает транзакции вы даже не задумываетесь о консистентности — база все делает за вас. Если же у вас несколько баз, распределенная система или даже к примеру MongoDB до 4 версии — все не так радужно.

Рассмотрим пример — мы хотим сохранить файл в хранилище и добавить ссылку на него в два документа. Конечно же мы хотим атомарности — либо файл сохранен и добавлен в документы либо ни то ни другое (тут и далее используется cats-effects IO):

saveDataToFile(data) // (1)
  .flatMap { file =>
    addFileRef(documentId, file) // (2)
      .flatMap { result =>
        addFileRef(fileRegistry, file) // (3)
          .flatMap { result =>
            ??? // (4, 5, ...)
          }
          .handleErrorWith { error =>
            // revert (2)
            removeFileRef(documentId, file).attempt >> IO.raiseError(error)
          }
      }
      .handleErrorWith { error =>
        // revert (1)
        removeFile(file).attempt >> IO.raiseError(error)
      }
  }

Уже непросто? Легко представить как количество операций растет и образуется Pyramid of doom.

Но мы же программисты! Давайте обобщим проблему и напишем код, который позволит избежать ненужной сложности и возможных ошибок.

Читать полностью »

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №404 (24 февраля — 1 марта 2020) - 1

Читать полностью »

Сегодня компания Huawei официально представила бюджетный смартфон Enjoy 10e. Новинка отличается аккумулятором большой емкости – 5000 мА·ч, но это не единственное ее достоинство.

Представлен Huawei Enjoy 10e – ответ на Redmi 7 за $135

Читать полностью »

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

Как это сделать средствами самого git: зафиксировать состояние в ветке для ревью, затем в merge request к этой ветке оставить свои замечания.

В общем суть метода уже изложена, ниже лишь немного подробностей.

Читать полностью »

Baidu опередила Waymo в калифорнийском рейтинге автономности робомобилей - 1

Департамент транспортных средств Калифорнии каждый год публикует отчет по автономности робомобилей. Список составляется на основании множества данных о вмешательстве операторов в работу автономных транспортных средств.

Удивляться тому, что в Калифорнии публикуется такой отчет, не приходится — именно здесь максимальная концентрация робомобилей. А все потому, что в штате очень лояльное законодательство, которое позволяет испытывать автомобили с ИИ колесить по дорогам общего пользования.
Читать полностью »

Redmi вовсю готовится к премьере своего нового флагмана Redmi K30 Pro, но пока особо не спешит с публикацией рендеров. Но то, что не делает сам производитель, готовы сделать инсайдеры.

На этой фотографии – реальный Redmi K30 Pro. Точнее, его тыльная панель. Увы, объективы камеры скрыты от глаз, но инсайдер опубликовал вторую картинку с примером того, как выглядит сам блок камеры, опоясанный кольцом: в ее составе три модуля, разрешение датчика основного – 64 Мп.

Читать полностью »

Как превратить любой велосипед в электрический

Новая разработка появилась в стране, где велосипеды пользуются особой популярностью, — во Франции. Стартап Teebike разработал способ сделать любой велосипед электрическим. Для этого не нужно избавляться от имеющегося педального друга или отдавать его на дорогостоящую доработку.

Читать полностью »

Intel Core i9-10900K вновь протестирован в 3DMark: небольшое отставание от AMD Ryzen 3900X

Почти что и дня не проходит без каких-либо слухов или утечек относительно готовящихся настольных процессоров Intel Comet Lake-S. На этот раз флагман будущего поколения — Core i9-10900K — был снова обнаружен в базе данных бенчмарках 3DMark Fire Strike. Находкой отметился сетевой источник с псевдонимом _rogame.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js