• Анализ статистических данных о ДТП с участием пешеходов в США показывает, что количество инцидентов с летальным исходом растет. Число смертей пешеходов за последние несколько лет увеличилось более, чем на 10%, и в этом, как считают эксперты, могут быть виноваты смартфоны.…

  • Уже семь лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-февраль 2017.

  • Краткий обзор Matreshka.js. В посте используется ECMAScript 2017, который можно переписать на ECMAScript 5. Основные функции Функция bindNode связывает свойство и элемент. const object = { name: ‘Brendan’ }; const node = document.querySelector(‘.name’); Matreshka.bindNode(object, ‘name’, node); object.name = ‘Doug’; Если…

  • Настройка непрерывной доставки (Continuous delivery CD) для вашего проекта c github.com Hеобходимо: Репозиторий на github.com Сервер для Ansible (для примера ip: 1.1.1.1) Сервер для развертывания вашего проекта (для примера ip: 2.2.2.2) Локальная машина с настроенным проектом Базовые знания работы в…

  • В начале… … не было ни композиции, ни наследования, только код. И был код неповоротливым, повторяющимся, нераздельным, несчастным, избыточным и измученным. Основным инструментом для повторного использования кода была копипаста. Процедуры и функции были редкостью, подозрительными новомодными штучками. Вызов процедур был…

  • Краткий обзор Matreshka.js. В посте используется ECMAScript 2017, который можно переписать на ECMAScript 5. Основные функции Функция bindNode связывает свойство и элемент. const object = { name: ‘Brendan’ }; const node = document.querySelector(‘.name’); Matreshka.bindNode(object, ‘name’, node); object.name = ‘Doug’; Если…

  • Что gdb можно как-то улучшать на питоне, знает каждый, кто хоть раз заглядывал в документацию. А кто хоть раз просматривал ее по диагонали, знает что про такую штуку как «Pretty Printers» — которые якобы позволят gdb красиво печатать разные сложные…

  • Несмотря на все достижения в области коммуникации, до сих пор личная встреча и личное присутствие позволяют лучше установить контакт и сделать больше, чем на расстоянии. Кроме того, непосредственное присутствие позволяет увидеть больше, чем напишут другие люди в коротких заметках о…

  • Введение Ошибки, увы, неизбежны, поэтому их обработка занимает очень важное место в программировании. И если алгоритмические ошибки можно выявить и исправить во время написания и тестирования программы, то ошибок времени выполнения избежать нельзя в принципе. Сегодня мы рассмотрим функции стандартной…

  • Время от времени у меня возникает желание придумать свой собственный маленький язык программирования и написать интерпретатор. В этот раз я начал писать на scala, узнал про библиотеку parser combinators, и был поражён: оказывается, можно писать парсеры легко и просто. Чтобы…