Подписка на RSS

Рубрика «программирование»

Хочу порекомендовать отличный сайт об оптимизации производительности баз данных use-the-index-luke.com. По большей  части  описана оптимизация при помощи индексов. Все описанное на сайте применимо к  DB2, MySQL, Oracle, PostgreSQL. На сайте sql-performance-explained.com можно взять версию для электронных книг. И обязательно пройдите небольшой тест на знание баз данных.

Эта фича хорошо описана в мануле по Postgres, но, тем не менее, я не знал о такой возможности. При работе в консоле вы можете указывать различные опции форматирования вывода при помощи команды \pset. У этой команды есть короткие алиасы, например \x включает режим расширенного форматирования таблицы, так очень удобно просматривать вывод с большим количеством колонок. \H позволяет отформатировать результат запроса в виде HTML-таблицы. Это особенно полезны при использовании совместно с командой \o, так можно легко сохранить таблицу в HTML. А вообще посмотрите полный список опций доступных для работы с \pset.

Перевод поста On Error Handling and Closures 

Оператор подавления ошибок («@») часто бывает неизбежным злом. Многие функции возвращают не только значение, которое говорит, что произошла ошибка, но так же вызывают E_NOTICE или E_WARNING, хотя вы предпочли бы вызвать исключение самостоятельно.
И иногда получается такой код:

if (false === ($fh = @fopen($filename, 'r'))) {
    throw new RuntimeException(sprintf(
        'Could not open file "%s" to read', $filename
    ));
}

Вроде бы все довольно просто, но такой подход ошибочен, по многим причинам.

Функция is_file может вести себя очень неожиданно . Когда вы пользуетесь этой функцией, то у директории, в которой находится проверяемый файл, должен быть флаг executable, +x.  Вас может ввести в замешательство то, что другие функции, например readdir(), будут работать корректно, и вы сможете вывести  список файлов. Но is_file() будет возвращать false. Так же ведет себя функция file_exists().

Перевод поста INSERT ON DUPLICATE KEY UPDATE and summary counters.

INSERT … ON DUPLICATE KEY UPDATE — это мощный механизм, но, к сожалению, часто забываемый разработчиками. Он появился в MySQL 4.1, но все равно я часто сталкиваюсь с людьми, не знакомыми с этой фичей. Мне очень нравится эта фича, потому что она сделана в стиле MySQL — очень эффективно, и в то же время, просто в использовании.

Перевод статьи What problem does dependency injection solve?
Zend Framework 2 поставляется с контейнером внедрения зависимостей (dependency injection container, далее DIC), как Symfony 2, и другие фреймворки, поддерживающие PHP 5.3 или выше. Эта статья исследует проблемы, которые решает DIC.

Вышел Webstorm/PhpStorm 4.0 EAP. Так как это не стабильная, то не все обещанные изменения вогли в этот релиз, но появилось достаточно много новинок

  • Множество улучшений интрефейса
  • Поддержка traits и других фич PHP 5.4
  • Встроенные инструменты для показа покрытия php-кода тестами
  • Новый анализатор PHP и JS-кода
  • Поддрежка редактором EcmaScript 6
  • Добавлены различные фичи для работы с SASS и LESS
  • Генерация проектов на основе HTML5 бойлерплет и Twitter-бутстрап.

Разработчики планируют выпустить в своем блоге несколько статей по использованию новых фич.

Часто htc-файлы помогают добавить недостающую функциональность для браузера Internet Explorer. Известное применение — включение поддержки прозрачности в png-файлах, добавление псевдокласса :hoverко всем элементам, а не только к ссылкам.
Но иногда бывает такое: браузер получает htc-файл,  но никакого эффекта не происходит. В таких ситуациях стоит посмотреть заголовки, которые передает сервер.

В SQL сравнение любого значения с  NULLвсегда возвращает false. Даже сравнение NULLс NULL!

Этот пост — чторая часть перевода статьи 20 Helpful jQuery Methods you Should be Using

ts_twitter_widgetbb_videos_cat