MySQL ошибка: The password hash doesn’t have the expected format

mysql

Если вы получили такую ошибку, то скорее всего у вас в конфиге my.cnf, есть запись old_passwords=1.

Нет необходимости больше использовать old_passwords, эта переменная делает алгоритм хэширования паролей в соответствие с нормами MySQL 4.0, который был выпущен 9 лет назад. Читать дальше…

Yii2: ajax в ActiveForm

yii

Использования ajax в ActiveForm поможет сделать ваше приложение более юзабильным и приятным пользователю, а еще меньше ресурсов будет затрачено вашим сервером, что тоже несомненно является большим плюсом.

В этой статье я постараюсь показать основные примеры использования ajax ActiveForm в Yii2, а также разберем все подводные камни, так как их очень много. Читать дальше…

Ускоряем memcached через unix.socket

memcached

Этот способ ускорения хорош для мелких проектов(например блог) у которых нет необходимости работать с несколькими Memcached серверами, то есть работаем только с localhost. Так как сокеты всегда были быстрее чем TCP/IP, то грех не переделать наш Memcached на работу через сокеты. Читать дальше…

Основы масштабирования веб-приложений

highload

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

Установка и настройка Memcached в Ubuntu

memcached

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

Импорт GeoIP2 CSV от maxmind в MySQL

mixmind php geodata

Очень часто в больших и малых проектах необходимо определять страну клиента по IP адресу. Допустим на основании этой информации можно выбирать автоматически язык веб сайта или у нас своя собственная статистика или еще что-то. Есть конечно куча сервисов с API у которых можно определить страну по IP — но в таком случае мы теряем время на запрос в сторонний сервис, а при сборе статистики это крайне критичные затраты и нам необходимо вычислять это своими ресурсами.

Для этого давайте разберем как импортировать csv geodata от MaxMind в нашу базу данных MySQL. Читать дальше…

Оптимальная настройка Nginx

nginx

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

В этой статье рассмотрим все важные настройки Nginx.

Читать дальше…

Чистим базу WordPress от ревизий в wp_posts

wordpress

Наверное каждый блогер сталкивался с ситуацией, что база WordPress блога стала слишком много занимать места на жестком диске. Причин может быть очень много, но мы разберем только один конкретный случай это захламление таблицы wp_posts. На самом деле проблема в том, что при написании статей, WordPress сохраняет резервные копии каждой статьи и если у вас блог с большим количеством статей то скорее всего у вас собралось приличное количество мусора. Читать дальше…

Портативная батарея Xiaomi 10000mAh Silver

xiaomi mi power bank

Недавно сделал отличное приобретение, заказал с китайского сайта aliexpress — портативную батарею Xiaomi 10000mAh Silver и не прогадал. Существует довольно много портативных зарядных устройств, но решил купить именно Xiaomi, так как не хочется покупать неизвестных производителей у которых непонятно что внутри и нет никакой уверенности что оно не повредит заряжаемый девайс. Читать дальше…

Как подключить Android и iOS девайсы к Fiddler

Fiddler

Что такое FiddlerFiddler — прокси, который работает с трафиком между вашим компьютером и удаленным сервером.

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