Архив за 07 мая 2018 - 4

Функциональное программирование пронизывает большую часть основного мира программирования — экосистема JavaScript, Linq для C#, даже функции высокого порядка в Java. Так выглядит Java в 2018-м:

getUserName(users, user -> user.getUserName());

Функциональное программирование настолько полезно и удобно, что, насколько я вижу, проникло во все современные распространённые языки.

Но не всё так радужно. Многие разработчики сопротивляются этому тектоническому сдвигу в нашем подходе к ПО. Честно говоря, сегодня трудно найти работу, связанную с JavaScript, которая не требует знания концепций ФП.
Читать полностью »

В ряду популярных и известных потребительских электронных устройств особенно выделяются некоторые — такие, как первые электронные часы или сотовый телефон, кассетный проигрыватель или компьютер IBM PC/XT. На место в этом списке вполне может претендовать представленный 20 лет персональный компьютер Apple iMac.

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

19—20 мая в Университете Иннополис соберутся разработчики, чтобы создать рабочие прототипы технологий обработки данных дистанционного зондирования Земли в сфере машинного обучения и фотограмметрии. Призовой фонд — 400 000 рублей. Заявки на участие принимаются до 18 мая.

image

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

Приветствую уважаемое сообщество.

Последнее время я уделял некоторое внимание теме синтаксического анализа (с целью в том числе улучшить собственные знания и навыки), и у меня создалось впечатление, что почти все курсы по компиляторам начинают с математических формализмов, и требуют сравнительно высокого уровня подготовки от изучающего. Либо там используется в большом количестве формальная математическая запись, как в классической Dragon Book, в которой, например, написано:

Пузырьковый вычислитель выражений: простейший синтаксический LR-анализатор вручную - 1

Это может с непривычки напугать. Нет, с какого-то момента формальная запись становится удобной и даже необходимой, но для “человека с улицы”, который хотел бы, чтобы ему “на пальцах” объяснили, “в чем тут дело”, это может быть сложно. А вопрос “что такое LL и LR — анализ, и в чем между ними разница” программисты задают довольно часто (потому что не все программисты имеют формальное образование в области Computer Science, как и я, и не все из них проходили там курс по компиляторам).

Мне более близок подход, когда сначала мы берем задачу, пытаемся ее решить, и в процессе решения сначала вырабатываем интуитивное понимание принципа, а потом уже для этого понимания создаем математические формализмы. Поэтому я на очень простом примере в этой статье хочу показать, какая идея лежит в основе восходящего синтаксического анализа (он же bottom-up parsing, он же LR). Будем вычислять арифметическое выражение, в котором для еще большего упрощения будем поддерживать только операторы сложения, умножения и скобки (чтобы не усложнять пример отрицательными числами и поддержкой унарного минуса).

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

Security Week 16: Twitter, пароли, страдания - 13 мая Twitter попросил всех своих пользователей сменить пароль (новость). Причиной тому была не хакерская атака, как это обычно бывает, а некий глюк в системе регистрации событий. Снаружи пароли были не видны, но из-за неправильной настройки в лог они записывались в открытом виде.

Проведенное компанией внутреннее расследование исключило возможность неправомерного использования открыто хранящихся паролей кем-либо — неважно, сотрудником компании или третьим лицом. По данным Reuters, во внутренние логи в течение нескольких месяцев успели записать пароли более чем 330 миллионов пользователей.
Читать полностью »

Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыдущие выпуски: апрель 2010-март 2018.

Дайджест продуктового дизайна, апрель 2018

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

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

И все же конференции – полезны, а участие в них позволяет обмениваться знаниями и узнавать, чем дышит и в какую сторону двигается отрасль. А если конференция проходит в другом городе или стране, это еще и прекрасный повод посмотреть мир. Главное, чтобы участие не превратилось в «академический туризм», спонсируемый работодателем.

Об истории и культуре процесса мы рассказывали в прошлых статьях, а сегодня под катом мой рассказ о том, как одна поездка может изменить мировоззрение или, по крайней мере, оставить след в душе DevOps пионера.
Читать полностью »

Компания Xiaomi только готовится к официальной премьере смартфона Redmi S2 (она ожидается 10 мая), но устройство уже обзавелось собственной страничкой на сайте AliExpress. Благодаря этому теперь не надо гадать ни о ценах, ни о, например, поддерживаемых смартфоном частотах LTE.

Xiaomi Redmi S2 представлена в каталоге AliExpress

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

Роскомнадзору не удалось подвести правовую базу под массовую блокировку IP-адресов - 123 апреля 2018 года Роскомнадзор опубликовал на правительственном портале Regulation.gov.ru проект приказа «Об утверждении Порядка идентификации информационных ресурсов в целях принятия мер по ограничению доступа к информационным ресурсам». Согласно проекту, в документ добавили ещё одно основание для внесения информационного ресурса в реестр запрещённых ресурсов: это «судебные решения и постановления по делам об административных правонарушениях, вступившие в законную силу». Согласно документу, Роскомнадзор получает право самостоятельно устанавливать сетевой адрес, доменное имя и указатель страницы, содержащие запрещённую информацию, «в случае выявления ошибок».

По мнению экспертов, таким образом Роскомнадзор пытается легализовать действия, которые он осуществляет с 16 апреля 2018 года, блокируя миллионы IP-адресов ради поставленной задачи — деградации мессенджера Telegram на территории Российской Федерации. Сам Роскомнадзор уверяет, что единственная цель нового документа — исправлять ошибки в неправильном написании доменных имён в решениях судов, а «иных целей приказ не преследует».
Читать полностью »

Протокол Casper — как добиться консенсуса и решить проблему доверия

Дружелюбный Casper — как добиться консенсуса и решить проблему доверия в распределенных вычислительных системах - 1
Так выглядит граф сети доверия в протоколе Casper, который отвечает за надежность данных и вычислений в блокчейн-проекте "RChain". Ядро его разработчиков живёт в Сиэтле, но в кооперативе RChain.coop есть девелоперы из Азии, Африки и Европы. Этот текст основан на посте одного из ведущих разработчиков проекта, Майкла Бёрча (Michael Birch), посвященный консенсус-протоколу Casper.

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


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