Docker для Mac v17.12: изменилась ли скорость доступа при монтировании томов

Долгое время пользователи Mac страдали от низкой производительности в контейнерах докера, где использовались тома. К примеру, если вы монтируете ваше приложение в виде тома в папку /app, то получите деградацию производительности по операциям I/O в контейнере. Дело тут в использовании qcow формата (реализация copy-on-write механизма) внутри образа виртуальной машины докера для Mac OS и использовании виртуальной машины самим докером.

Читать далее

Nginx Unit

Не так давно от команды Nginx была представлена новая разработка Unit. Это Application Server, который позволяет запускать приложения на нескольких языках, при этом предоставляя простую конфигурацию и настройку посредством REST API. На данный момент Unit находится в стадии beta. Посмотрим же на основные возможности, которые предлагает этот продукт. Читать далее

PHP — анализ производительности кода и поиск узких мест

blackfireНастоящим переворотом в мире PHP стал PHPUnit, который вышел в 2004 году (появилась версия 1.0). До появления этого инструмента тестировать по сути приходилось вручную, каждый раз проверяя, что ничего не поломалось. В такой схеме баги непреднамеренно появлялись на production серверах.

В настоящее время помимо PHPUnit существуют другие фреймворки для тестирования, такие как PHPSpec, Behat, Codeception.

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

Логирование в PostgreSQL

postgresql logsЗачем вообще нужно логирование в базе данных? Для начала попробуйте ответить себе сами на этот вопрос.
У вас были когда-нибудь ситуации, когда кто-то изменил строку в таблице и на вопрос, почему система стала выдавать странные результаты, разработчики только разводили руками?
А была ли ситуация, когда кто-то случайно удалил таблицу и потом приходилось ее восстанавливать с бэкапа. Вы ведь делаете бэкапы, правда?
А иногда еще хочется посмотреть, кто соединился с базой. Ну и в добавок, когда что-то пойдет не так, логи могут помочь вам разобраться с этой ситуацией.

Читать далее

MongoDB 3.2

mongodb

Совсем недавно вышла новая версия популярной NoSQL базы данных MongoDb. Что же нового принесла нам эта версия, случился ли прорыв и как новая версия сможет повлиять на текущую разработку в проектах, где используют NoSQL подход. Обо всех изменениях читайте под катом.

Читать далее

Mercurial Diff — как сделать удобно

icdiff-css-demo-tall-2x

hg diff — показывает, что изменилось в файле. Однако не очень удобно смотреть на изменения в файлах при этом.

Всегда хотелось, чтобы diff’ы в mercurial были более наглядными и понятными. К счастью, это можно сделать. Нам потребуется одна небольшая утилита, и скрипты, которую сделают нашу работу еще лучше. Читать далее

MacOS X Ошибка с CURL при работе с SSL

OpenSSL

В MacOS X если вы попытаетесь сделать запрос по протоколу https с использованием сертификата, то вероятно всего получите следующую ошибку

* Hostname was NOT found in DNS cache
* Trying xx.xx.xx.xx...
* Connected to example.com (xx.xx.xx.xx) port abcd (#0)
* WARNING: SSL: CURLOPT_SSLKEY is ignored by Secure Transport. The private key must be in the Keychain.
* WARNING: SSL: Certificate type not set, assuming PKCS#12 format.
* SSL: Can't load the certificate "/path/to/folder/cert.test.pem" and its private key: OSStatus -25299
* Closing connection 0

Проблема описана тут http://curl.haxx.se/mail/archive-2013-10/0036.html.

Читать далее