В этом выпуске: инструменты для тестирования поведения приложения при нетсплитах, падениях сети, высоком проценте потери пакетов и тд, всякие полезняшки, связанные со Scala и JVM, самописный GitHub на языке Go, как не убить здоровье к 27-и годам, и не только. Предыдущие выпуски: декабрь 2014, ноябрь 2014, сентябрь и октябрь 2014, август 2014.

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

Ansible — это средство управления конфигурациями, аналогичное Chef, Puppet и Salt. Если вам нужно раскатывать deb-пакеты и конфиги по множеству машин в разных окружениях (всякие dev, stage, prod), то следует серьезно задуматься об использовании одного из этих средств. Сам по себе Ansible представляет собой CLI. Ansible Tower — это веб-интерфейс для Ansible. CLI можно использовать бесплатно, веб-морда стоит 99$ в месяц.

Теперь, когда мы рассмотрели многие интересные квантовые алгоритмы (для тех, кто пропустил, прошу внимательно и последовательно ознакомиться с ранними заметками: один, два, три и далее по ссылкам), мы можем перейти к обзору всего того хозяйства, которое имеется в области квантовых вычислений на текущий момент. Если кто-то считает, что алгоритмом факторизации Шора всё и ограничивается, то это далеко не так.

В первом приближении Vagrant — это такой CLI для VirtualBox. То есть, утилита, которая говорит «создать виртуалку», «запустить виртуалку» и так далее. На самом деле, Vagrant представляет собой нечто куда большее. В частности, помимо VirtualBox есть немало других так называемых провайдеров — VMWare, Amazon EC2, LXC и libvirt.

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

Когда я начинал работать с Amazon Web Services (AWS), самой большой проблемой для меня было не запутаться во всех этих EC2, S3, RDS, SQS и прочих странных непонятных названиях. В данной заметке вы найдете краткий перечень основных терминов такого рода. Заметка предназначена для новичков и предположительно должна упростить начало работы с облаком Амазона.

Бывает, натыкаешься на сайт с интересным шаблоном. Смотришь HTML, и оказывается, что сайт работает на WordPress, а следовательно определить название шаблона несложно. Или приходит тебе очередная идея для сайта, начинаешь подбирать домен, искать шаблон. На идею в итоге забиваешь, а шаблон-то хороший нашелся, еще может пригодиться! Таким вот образом я какое-то время собирал список тем для WordPress, которые мне нравятся, и наконец-то решил этим списком поделиться.

В этом выпуске: сервисы для посылки SMS (что удобно не только для спама, но и для нотификаций, валидации телефонов и тд), все необходимое для программирования под Android, пишем на Си и ассемблере, всякие полезняшки для Scala, и не только. Предыдущие выпуски: ноябрь 2014, сентябрь и октябрь 2014, август 2014, июль 2014.

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