Монада Maybe на стероидах

Автор: admin от 29-10-2015, 19:55, посмотрело: 399

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

Я не буду расписывать, что такое монада, я просто покажу одну забавную реализацию монады Maybe (мы же в хабе «Ненормальное программирование»?).

Категория: Программирование

 

Обзор Certificate Transparency

Автор: admin от 29-10-2015, 18:51, посмотрело: 459

Обзор Certificate Transparency
Принцип работы протокола SSL/TLS основан на криптографии с открытым ключом. Одна или обе стороны взаимодействия обладают сертификатами и соответствующими закрытыми ключами. Это позволяет производить аутентификацию и шифрование трафика.

Категория: Системное администрирование, Информационная безопасность

 

Cемидесятилетний программист пытается сохранить устаревший язык программирования на GitHub

Автор: admin от 29-10-2015, 18:32, посмотрело: 337

Примечание переводчика: В нашем блоге на Хабре мы много пишем о построении облачного сервиса 1cloud и опыте работы с инфраструктурой других компаний. Однако серьезный вклад в развитие технологий делают инженеры-энтузиасты, и об этом важно помнить. Сегодня мы представляем вашему вниманию рассказ о языке программирования SPITBOL, который был разработан несколько десятков лет назад, позднее использовался для анализа украденных персональных данных сайта Ashley Madison, но может просто исчезнуть, если усилия его создателя не увенчаются успехом.

Cемидесятилетний программист пытается сохранить устаревший язык программирования на GitHub


Дэйв Шилдс (Dave Shields) пытается спасти умирающий язык программирования.

Шилдс занимался программированием более 50-ти лет. Он на протяжении десятилетий работал программистом-исследователем в Нью-Йоркском университете и IBM, где «раздвигал границы» разработки программного обеспечения. За свою долгую карьеру Шилдс многого достиг, например, он был одним из разработчиков Jikes, компилятора Java – первого проекта IBM с открытым исходным кодом.

Сейчас Шилдсу семьдесят лет. На пенсии он занимается малоизвестным языком программирования SPITBOL – Шилдс разработал его в 70-х годах, но по каким-то причинам забросил на 30 лет.

Категория: Программирование, Веб-разработка

 

Ghost Methods в Ruby (перевод)

Автор: admin от 29-10-2015, 16:54, посмотрело: 418

Предлагаю вашему вниманию перевод фрагмента книги Metaprogramming Ruby 2 за авторством Паоло Перротта (Paolo Perrotta).

Что такое method_missing?


В Руби мы можем вызывать методы которые не существуют, но это будет возвращать нам ошибку. Для примера:

class Lawyer; end
nick = Lawyer.new
nick = talk_simple

NoMethodError: undefine method 'talk_simple' for #<Lawyer:0x007f801aa81938>

Помните ли вы как работает поиск методов? Когда вы вызываете метод talk_simple, Ruby идет в класс объекта nick, и перебирает там методы. Если он не может найти метод там, он ищет его в родителей данного класса, потом в Object и наконец в BasicObject. Ну и поскольку Ruby не может нигде найти метод talk_simple, он запускает метод method_missing для nick’a. Ruby знает что этот метод есть, потому, что это приватный метод BasicObject от которого наследуются все объекты.

Категория: Программирование, Веб-разработка

 

Как мы искали баг в поисковом Балансере, а нашли в Chromium

Автор: admin от 29-10-2015, 16:00, посмотрело: 509

Некоторое время назад коллеги стали получать от пользователей жалобы на то, что иногда при использовании Поиска и Яндекс.Браузера они видят ошибку SSL connection error. Расследование того, почему это происходило, на мой взгляд, получилось интересным, поэтому я хочу поделиться им с вами. В процессе разбора ситуации мы несколько раз меняли «подозреваемый» софт, изучили множество дампов, вспомнили устройство машины состояний TLS и в итоге даже разбирались в коде Хромиума. Надеюсь, вам будет интересно это читать не меньше, чем нам было исследовать. Итак.

Как мы искали баг в поисковом Балансере, а нашли в Chromium

Через некоторое время у нас были записи логов ошибок и pcap-файлы со схожим содержимым:

Как мы искали баг в поисковом Балансере, а нашли в Chromium

Всё выглядит так, будто сервер ответил некорректно и клиент прекратил хендшейк. Проанализировав «корректные» (принятые клиентом) и «некорректные» ответы сервера, мы поняли, что они идентичны.

Категория: Информационная безопасность, Яндекс, Сетевые технологии

 

3 дня до повышения стоимости билетов на конференцию мобильных разработчиков MBLTdev

Автор: admin от 29-10-2015, 15:55, посмотрело: 376

Меньше чем через месяц, 17 ноября, в Москве пройдет Конференция мобильных разработчиков MBLTdev. Программа конференции будет поделена на несколько треков, нацеленных на mid+ мобильных разработчиков и руководителей IT-компаний.

3 дня до повышения стоимости билетов на конференцию мобильных разработчиков MBLTdev

Мы собрали для вас 5 причин, почему стоит посетить это мероприятие:


  • Доклады от экспертов мобильной разработки таких компаний, как Wunderlist, Runkeeper, Spotify, Tinkoff, Rambler&Cо, Microsoft и других известных компаний;

  • Семинары по кроссплатформенной разработке, виртуальной реальности и безопасности мобильных устройств;

  • Развлекательные активности и розыгрыши на стендах партнеров;

  • Сотни единомышленников и профессиональный нетворкинг;

  • After-party в ресторане Coin, где можно в неформальной обстановке пообщаться со спикерами и участниками конференции.


  • Предварительное расписание опубликовано на официальном сайте конференции.

    Категория: Веб-разработка, Game Development, Android, Windows, iOS

     

    Локализация IT-сайта силами пользователей и возможностями GitHub

    Автор: admin от 29-10-2015, 15:20, посмотрело: 334

    Локализация IT-сайта силами пользователей и возможностями GitHub

    Краткое содержание


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

    Однако услуги сторонних переводчиков стоят денег. Хуже того — наш контент бурлит программированием и математикой, поэтому годится не любой переводчик.

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

    Я попробую рассказать о том решении к которому мы пришли, а именно:


    • как мы дешево-сердито использовали github для пользовательских переводов

    • как специфика сайта мешает при переводе

    • насколько реально получить помощь от пользователей

    • как отметить переводы для поисковика Google

    • наконец, насколько виден (или не виден) эффект от переведенного контента


    За подробностями добро пожаловать под кат!

    Категория: Веб-разработка, Google

     

    Блейд-коммутация в шасси Dell PowerEdge M1000e

    Автор: admin от 29-10-2015, 14:18, посмотрело: 920

    Сегодня мы расскажем о коммутаторах Dell Networking MXL и PowerEdge M I/O Aggregator для установки в модульное шасси для блейд-серверов Dell PowerEdge M1000e, предназначенных для скоростной связи серверов как в пределах шасси, так и с соседними группами серверов, системами хранения данных и для подключения к ядру сети. Они поддерживают новейшие технологии для систем коммутации и благодаря этому могут быть использованы в составе сложных сетевых архитектур не только для увеличения скорости обмена данными и создания отказоустойчивых конфигураций, но и для конвергенции сетей передачи и хранения данных. Каждый из них обеспечивает производительность 1,28 Тбит/с в дуплексном режиме, поддерживает до 6 портов 40 Гбит/с и оснащен двумя слотами для установки модулей расширения, поддерживающих различные сетевые интерфейсы. Однако, как видно из названия, один из них относится к линейке сетевого оборудования Dell Networking, а другой к серверной Dell PowerEdge. Почему – разберемся при их изучении. Начнем с блейд-шасси.

    Блейд-коммутация в шасси Dell PowerEdge M1000e

    Категория: Программирование, Системное администрирование

     

    Как нам удалось построить видеохостинг за 1?/ГБ

    Автор: admin от 29-10-2015, 12:40, посмотрело: 357

    Почему видеохостинг такой дорогой


    Из всех видов статических файлов, используемых на веб-сайтах, с видеороликами связаны наиболее жёсткие требования к хостингу:


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

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

    • Загружаемое программное обеспечение имеет сравнительно большие размеры, однако скорость доставки не так критична, как в случае видео.


    Аренда серверов для видеохостинга в США значительно дешевле (за исходящий гигабайт), чем во многих других странах. Однако доставка видео с американских серверов на другие континенты редко бывает достаточно быстрой, чтобы фильм можно было смотреть без перерывов на буферизацию, и чтобы время ожидания перед началом воспроизведения было приемлемым. Поэтому хозяевам сайтов с видеороликами, выходящих на международную аудиторию, приходится арендовать местные сервера в разных частях света поближе к своим пользователям. Показ ролика пользователю из России, например, обходится типичному видеосайту в несколько раз дороже, чем показ того же ролика американцу. Приходится или дороже платить, или снижать качество видео для зарубежных зрителей. Вот и выходи после этого на международный рынок.

    Чтобы решить эту проблему, нам пришлось сделать софт умнее.

    Как нам удалось построить видеохостинг за 1?/ГБ

    Категория: Программирование » Веб-разработка

     

    Режимы управления с помощью мыши и с помощью сенсорного экрана в Windows 10 и Windows 8

    Автор: admin от 29-10-2015, 12:05, посмотрело: 810

    В этом проекте демонстрируется определение режима работы ноутбука-трансформера (режим планшета либо режим ноутбука) под управлением Windows 8(.1), а также новый режим управления с помощью мыши и сенсорного экрана в Windows 10. Режим управления с помощью мыши и сенсорного экрана аналогичен режиму планшета и ноутбука, но в Windows 10 пользователи получили возможность вручную переключать режим, тогда как в Windows 8 режим переключается только в зависимости от физического состояния устройства. Поэтому пользователи Windows 10 могут использовать расширенный графический пользовательский интерфейс, предназначенный для сенсорного управления, даже на устройствах, не являющихся трансформерами: важно только наличие сенсорного экрана. Эта новая возможность реализована на основе новых API UWP (Universal Windows Platform). Нужно добавить несколько строк кода в приложения, предназначенные для Windows 8, чтобы воспользоваться этой функцией в Windows 10. В этом документе показана доработка приложений Win32 для использования API UWP с помощью WRL (библиотеки шаблонов C++ среды выполнения Windows) в Windows 10. Сведения о включении приложений UWP см. в образце кода Microsoft.

    Категория: Программирование, Веб-разработка

     
    Назад Вперед