Архив за 01 июня 2016 - 4

PHP 7.1: Грядущие изменения - 1

Ниже приведены основные изменения, привнесенные PHP 7.1. Для получения полного списка утвержденных и обсуждаемых на текущий момент изменений проверьте официальный PHP RFC.

  • Перехват нескольких типов исключений за раз
  • Поддержка Curl HTTP/2 server push
  • Области видимости для констант классов
  • Возвращаемый тип void
  • Единое поведение строковых функций
  • Поддержка строковых параметров в функции list() и новый синтаксис c []
  • Выброс предупреждения при невалидных строках в арифметике
  • Объявление устаревшим mcrypt() и его последующее удаление

Перехват нескольких типов исключений за раз

В некоторых случаях мы обрабатываем различные исключения одинаково и нет возможности унаследовать их от общего предка, что приводит к дублированию кода. Например:

try {
    // to do something
} catch (MyException $e) {
    // Handle this exception
} catch (AnotherException $e) {
    // Handle this in the same way as MyException
} catch (Exception $e) {
    // Handle this in a different way
}

В PHP 7.1, оба исключения, обрабатываемые в примере одинаково, можно поймать одновременно:
Читать полностью »

Компания LG представила смартфон LG Stylus 2 Plus. Его основой служит неназванная однокристальная система с восьмиядерным процессором, работающим на частоте 1,4 ГГц под управлением Android 6.0 Marshmallow.

На Тайване смартфон LG Stylus 2 Plus уже можно купить примерно за $340

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

image

Всем привет. Я начал заниматься веб-дизайном 6 лет назад (если считать от самого-самого первого кривого макета для несуществующей туристической компании). Первые 2 года я работал в маленькой студии, потом ушел на фриланс и пока что жив-здоров.

Рекомендации ниже вовсе не аксиомы, не правила, и не обязательны к исполнению. К некоторым я пришел сам, некоторые подсмотрел у других. Что-то я часто не могу сам себя заставить выполнять (отчасти поэтому я решил их выписать и структурировать). Если вы только начинаете заниматься веб-дизайном, вам, скорее всего, пригодится хоть часть и нижесказанного. Если вы уже в деле, ваше мнение приветствуется в комментариях.

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

Революция, которую нельзя слить: почему робототехника может стать нашей новой космонавтикой - 1

Статья от гендиректора Mail.Ru Group Дмитрия Гришина.

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

Да, советская космическая программа требовала гигантского количества ресурсов, и возможной ее сделала плановая экономика. Но кроме того она создавала мечту. А эта мечта стала тем топливом, на котором была создана великолепная инженерная школа. Не буду даже на этом останавливаться, но понятно, что и эту мечту, и эту школу мы во многом утратили. Да, многие российские инженеры по-прежнему получают качественное фундаментальное образование, но это остатки былой роскоши.

Мы перестали быть страной мечтателей, мы стали циничными и приземленными.
Читать полностью »

micro:bit может быть интересен как детям, так и взрослым

Микрокомпьютер micro:bit от BBC уже можно купить - 1
Фото: BBC

Около года назад компания BBC сообщила о намерении раздать миллион миниатюрных ПК школьникам Великобритании. Понятно, не для развлечений, а для учебы (разработка Touch Develop, Python, и C++). Целевой аудиторией проекта выступали школьники в возрасте 11-12 лет. Было также обещано сделать этот мини-ПК совместимым с Raspberry Pi, Arduino, Galileo и другими мини-ПК.

В этом году обещанное было реализовано, и 22-го марта компания начала рассылать устройства всем школам, которые подписались на программу micro:bit. Авторы проекта считают, что такого рода электронное устройство позволит развивать в молодом поколении интерес к изучению современных технологий. Интересно, что это уже второй такой проект от ВВС, первый был реализован в 1980-х годах, назывался он BBC Micro.
Читать полностью »

Эта статья — выражение моей личной боли. Кнопочные решения портят мне жизнь, я трачу время на споры и обоснования.

Когда мы общаемся с коллегами, заказчиками или пользователями, я использую фразу «кнопочное мышление». Что я имею ввиду под этим термином? Текущая статья — развернутый ответ на этот вопрос.

Синонимами кнопочного мышления я считаю «экранное мышление» или преждевременную концептуализацию. Я раскрою мышление кнопками на десятке примеров из практики. А здесь для начала история, которая наверняка случалась с каждым. Представьте к вам приходят и рассказывают о падении конверсии на сайте. А вы ему сразу: «Давайте кнопку покупки сделаем побольше и поярче!». Что произошло? В бизнесе возникла проблема. Вместо погружения в детали, вместо исследования причин, вы играете с размерами кнопки. Вот в таких случаях я говорю о кнопочном мышлении.

Для тех, кто любит смотреть, а не читать, есть видео и слайды.
Читать полностью »

Организации IEEE и IEEE Standards Association (IEEE-SA), занимающиеся разработкой стандартов для электронной отрасли, объявили о запуске двух проектов IEEE 802.3 и изменении существующего проекта IEEE P802.3bs, в рамках которого идет разработка стандарта на передачу данных в сети Ethernet со скоростью 400 Гбит/с. Задачей новых проектов, одобренных советом IEEE-SA в начале мая, названо удовлетворение растущей потребности со стороны отрасли в стандартизации дополнительных скоростей Ethernet для различных приложений.

ЦОД от Huawei / Хабрахабр

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

Входящий в «Газпром-медиа» телеканал ТНТ запускает собственную игровую платформу, где будут представлены, в частности, продукты Mail.ru Group и Wargaming, сообщила газета «КоммерсантЪ». Среди партнеров проекта также Alawar, Innova, и другие разработчики игр для социальных сетей и мобильных устройств.

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

Про реактивное программирование уже написаны сотни статей. Фронтенд не смог избежать этого тренда, но интерес к теме до сих пор очень и очень высок. Поэтому мы просто не могли не взять интервью у одного из наших будущих докладчиков.
Итак, прошу любить и жаловать, Виктор Русакович. Родом из Минска, работает в компании GP Software.travel.
Виктор последние пять лет занимается (в основном) фронт-енд разработкой. Ну а начинал, как и большинство из нас, с jQuery.
Потом был backbone, angular v1. Последние полгода он работает в проекте на Redux/React.js (часто их путают с RxJS, но это немного другое).
RxJS: реактивное расширение для фронтенд разработки - 1

В твоем проекте активно используется реактив. Можешь объяснить, что это такое и с чего это движение началось? Сейчас у всех на слуху RxJS, RxJava, RxPython, RxBasic, ну и разве что RxBrainfuck нет.

Действительно, один из моих предыдущих проектов был насквозь пронизан использованием библиотеки RxJS. Все AJAX-запросы, работа с DOM-событиями, порой просто обработка статичных данных — всё это проходило через RxJS.

Для начала пара слов о «реактивном программировании» как таковом. Например, в жизни с «реактивностью» вы сталкиваетесь в Excel:
RxJS: реактивное расширение для фронтенд разработки - 2

Как видите, для автоматического вычисления суммы были созданы ячейки с формулами. На языке реактивного программирования это можно изобразить в виде двух потоков данных, gross и taxes, и третьего потока net, который будет собирать данные из net и gross и аггрегировать их по нашей формуле, превращая в итоговое значение.
Я буду пользоваться очень удобным онлайн-редактором, чтобы показывать все свои примеры. Этот редактор хорош тем, что прямо в брузере рендерит результат работы приложения. Ну и самая классная фича радактора в том, что потом все сниппеты останутся доступными по прямой ссылке. Мой первый пример тут.

var gross = Rx.Observable.just(5000)
var taxes = Rx.Observable.just(13)
var net = gross.combineLatest(taxes, (g, t) => g - t / 100 * g)

net.subscribe(money => document.getElementById('out').value = money)

В интернете можно найти много вариантов определения «реактивного программирования»: в Википедии, здесь, на Хабре. Тема серьёзная, даже существует специальный манифест, который можно подписать, если вы согласны с его идеями — только зачем? Лично мне все эти определения не нравятся, и я придумал свое:

Реактивное программирование — это когда ты вместо обработки событий по одному объединяешь их в поток и затем работаешь уже только с ним.
(Дата, Подпись, Печать).

RxJS: реактивное расширение для фронтенд разработки - 3

Если же говорить о том, как все это зародилось, то история появления RxJS такая.
Году в 2010-2011 ребята из Microsoft, которые работали c .NET, решили, что неплохо было бы и для JS сделать реактивную библиотеку. Дело в том, что в .NET уже достаточно давно был популярен LINQ. Например, вот так с помощью LINQ можно подсчитать количество вхождений определенного слова в строке.

       string searchTerm = "data";
       //Convert the string into an array of words
        string[] source = text.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);
        // Create the query.  Use ToLowerInvariant to match "data" and "Data" 
        var matchQuery = from word in source
                         where word.ToLowerInvariant() == searchTerm.ToLowerInvariant()
                         select word;
        // Count the matches, which executes the query.
        int wordCount = matchQuery.Count();

Нам посчастливлось начать работать с самой первой версии библиотеки. Код тогда ещё был не в GitHub, а в каком-то собственном репозитории от Microsoft. Кроме того, особенности лицензии не позволяли включать в проект неминифицированную версию. Огромной проблемой была документация — приходилось читать статьи, написанные для .NET, и пытаться понимать на уровне концепций, невзирая на различия в языках. Именно тогда я понял, что могу писать на любом языке программирования. :)

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


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