Mac, Заметки > 3 недели на MacBook Pro Retina

Итак, прошло 3 недели, как я вновь начал использовать macbook. Уже чуть легче, но до обещанного «просветления» ой как далеко. Попробую (в первую очередь для себя) сформулировать что нравится и что не нравится в данной ОС за прошедшее время. Само железо описывать не буду, обычный macbook pro retina mid 2013. Что удивительно (и что я до сих пор понять не могу), mid 2013 в продаже был дешевле, чем mid 2012. Не критично, но не понятно…
3 недели на MacBook Pro Retina >

Заметки > Оптимизация кривых рук

Дело было вечером, делать было нечего… Ну, почти. Как бы там ни было, но я случайно открыл исходный код главной страницы своего блога и охр..нел. Вот что я увидел в подвале:

<!-- 25.98MB; 413 запросов. 4.343 сек. -->

Сначала не поверил глазам: удалил кеш, перепроверил содержимое файлов, удалил плагины — не помогло. Как так?
Оптимизация кривых рук >

Заметки, Проекты > MD5 и скорость выборки

Пару дней назад завязался небольшой диалог в твиттере по поводу шифрования паролей в веб-сервисах. На фразу «кто не использует — идиот» мне ответили в стиле:

Шифрование создает сильную дополнительную нагрузку для веб-сервиса и большие проекты избегают подобного.

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

Собственно, сам тест очень простой. Я создал таблицу, в которой 3 поля:

  1. id — привычка;
  2. str — данные в открытом виде (в тесте совпадает с id);
  3. pass — хешированные данные (md5(id)).

Таблицу заполнил 10000-ми строками. Теперь сами тесты:

mysql_connect('openserver', 'root', NULL) or die('err connect');
mysql_select_db('md5') or die('err select db');

$start = microtime(TRUE);
for($i=1;$i<=10000;$i++)
{
mysql_query('SELECT FROM `str` WHERE `str`="'.$i.'" LIMIT 1');
//    mysql_query('SELECT FROM `str` WHERE `pass`=MD5("'.$i.'") LIMIT 1');
//    mysql_query('SELECT FROM `str` WHERE `pass`="'.md5($i).'" LIMIT 1');
}

echo microtime(TRUE) - $start;

Из кода видно, что я проверяю 3 типа запросов:

  1. запрос по не хешированной строке;
  2. запрос по md5, хеширование внутри mysql;
  3. запрос по md5, хеширование в php.

MD5 и скорость выборки >

Заметки, Проекты > Ленивые программисты

В последние несколько дней изучаю движки инет-магазинов, хочу сделать для супруги инет-магазин. В процессе изучения натыкаюсь на много интересных вещей, о которых расскажу как-нибудь потом. А сегодня меня ОЧЕНЬ СИЛЬНО удивил движок инет-магазина, стоимостью почти 400$. Вдумайтесь — в некоторых местах нашей родины столько получают за месяц работы! Ну, думаю, раз такая стоимость — продукт должен быть отличный…
Ленивые программисты >

Kohana, Заметки > Kohana: Bug Report #4638

Вчера в твиттере Иван скинул ссылку, на баг в kohana 3.3 под №4638. В поисках проблеммы, сегодня, убил почти 2 часа времени и все-равно сам бы не нашел корень проблемы. Спасибо хорошему человеку (Трин, привет :)). Давайте по порядку разберем суть проблемы, источник проблемы и ее решение…

ВНИМАНИЕ! На абсолютные цифры не смотрите, смотрите на процентное изменение. По поводу абсолютных цифр выскажусь в конце поста.
Kohana: Bug Report #4638 >