Брешь в базовых шаблонах известных cms

За время моего ознакомления с некоторыми популярными CMS я заметил такую тенденцию, что в некоторых базовых шаблонах отсутствуют многие базовые настройки. Т.е. отключение таких параметров как: вывод даты публикации материала, вывод категории и т.д. может в итоге ни к чему не привести. Это я имею в виду именно популярные CMS, а не те, которые имеет довольно небольшую аудиторию разработчиков. Если честно, то это меня сильно удивило. Во-первых, их же разработчики как впрочем, и положено борются за конкурентоспособность. Во-вторых, эти самые CMS создаются с целью минимизировать трудозатраты конечного разработчика для создания сайта и в то же время не требовать от него неких специфических знаний. Читать далее

Подключение Asus Nexus 7 к Windows XP

В этой статье описывается процесс настройки Windows XP для возможности подключения к ней планшета Asus Google Nexus 7. Прошу обратить внимание на то, что все указанные шаги предпринимаются на чистой операционной системе. Поэтому если у вас Windows XP была установлена из некой сборки, то вам, возможно, некоторые предложенные действия придется пропустить.

Для того чтобы иметь возможность соединения планшета с ПК, потребуется включить у него “Режим отладки”. Этот пункт находится в разделе меню “Параметры разработчика”. Но дело в том, что разработчики ОС Android с версии 4.2 этот пункт убрали, вернее скрыли. И вот как нам его предлагают снова вернуть: Читать далее

DOMPDF – экспорт данных из PHP в PDF

С помощью библиотеки DOMPDF можно создавать PDF файлы из HTML кода. Нужно только сверстать некий HTML шаблон и передать его DOMPDF и уже на выходе получить сгенерированный PDF файл. Но не надо забывать и то, что эта библиотека не движок для обработки веб-страниц, а значит и шаблоны должны быть сверстаны с использованием самых базовых средств: HTML тегов и CSS стилей. Хотя разработчики заявляют, что их библиотека поддерживает стандарты CSS 2.1 и даже некоторые свойства CSS 3. С полным их перечнем можно ознакомиться здесь. Есть, кстати, один минус – она является довольно “прожорливой” к оперативной памяти. Поэтому возможно придется задуматься об аренде виртуального выделенного сервера. Но это зависит от содержания и объема планируемых PDF документов. С другой стороны она вам может помочь сэкономить много времени на разработку различных отчетов в формате PDF. Читать далее

Сложные запросы используемые в MySQL

Всего лишь пару лет назад, в проектах, которые предусматривали работу с базами данных и построением статистики, основным изобилием используемых SQL-запросов, преобладало в основном множество запросов, ориентированных на стандартную выборку данных и нечасто можно было увидеть другие, которые безо всяких сомнений можно было бы отнести к “эксклюзиву”. Хотя сложность запроса и зависит от количества используемых таблиц, но если мы всего лишь возьмем и выведем данные полей трех или более таблиц имеющих стандартное объединение, то явная сложность такого запроса не выйдет за пределы стандартной.

В данной статье по мере возможности будут рассматриваться те запросы, примеры которых мне найти не удалось и которые, по моему мнению, не относятся к классу простых. Читать далее

Компонент календаря на PHP

Существуют ситуации когда нельзя воспользоваться компонентом календаря созданном на JavaScript. Как правило, это те случаи когда требуется возможность не автоматизировать выбор даты в HTML форме, а возможность привязки неких произошедших или планируемых событий к датам в будущем. Это может быть количество новостей на определенную дату, количество заказанных товаров или совершенных покупок в интернет-магазине и т.д. Т.е. в таких случаях становится очевидной необходимость в наличии связи календаря с базой данных, для получения тех или иных сведений за определенную дату. Конечно, можно было бы создать календарь на JavaScript и для получения данных о наличии тех или иных событий использовать Ajax, но как показывает практика такое решение не является оптимальным. Поэтому данный компонент календаря будет разработан на PHP. Читать далее

Данные от аккаунтов Яндекса попали в сеть

Буквально на днях было объявлено, что Яндекс, Mail.ru и вроде бы еще некий сервис будут “сливать” данные. Ну а кому, я думаю, объяснять не стоит, так как и так все ясно. И буквально сразу же становится известно о появлении в сети базы, содержащей данные от более миллиона аккаунтов пользователей Яндекса. Судя по обсуждениям, к примеру, на том же habrahabr.ru, база была именно “слита”. Потому что по утверждению некоторых, они имели не особо сложные пароли, но все-таки явно не для подбора. Конечно и “фишинг” тоже нельзя исключать.

И, тем не менее, данные от аккаунтов пользователей присутствуют далеко не все, хотя и много. Я вот, к примеру, проверил два своих аккаунта и аккаунты своих друзей, и их в базе к счастью не нашлось. Хотя если честно, там не было чем поживиться. Читать далее

Подводные камни в API Google Analytics

Попросил меня как-то раз очень давний знакомый написать ему небольшое веб-приложение по обработке отчетов полученных через API Google Analytics. Конечно сервисы Google, вещи то серьезные и соответственно ничто не предвещало никаких проблем.

Разработку предполагалось производить на PHP версии 5.2. После успешной находки пары примеров на PHP по взаимодействию с API Google Analytics и скачиванию уже разработанного клиента для работы с самим API, я начал разбираться, как и что работает. Пришлось для начала активировать сервис API Google Analytics и зарегистрировать приложение, ну а затем привязать его к своему аккаунту. Затем после небольшой модификации найденного мною примера исходного кода выяснилось, что нужна версия PHP 5.3. Хотя в документации было указано, что требуется использовать версию PHP 5.2.x или выше. Но и сотрудники службы поддержки Google заявляют тоже о необходимости использования PHP версии 5.3. Да, эта новость, конечно, не принесла радости, но все же было принято решение PHP обновить. Тем более что раньше уже было подобное желание, а тут еще и стимул появился. Читать далее

Нейронная сеть в PHP на Denwere 3

С переходом на новую версию Denwera, а соответственно вместе с ним и на новую версию PHP, возникла необходимость в обновлении некоторых расширений. В частности это коснулось и библиотеки – FANN (Fast Artificial Neural Network). Что, конечно же, особо не радовало. Поскольку как было описано в этой статье, изначальная установка данной библиотеки на Denwer 2 c версией PHP 5.2 – радости не принесла. Так как не было ясности: где искать расширение, какие нужны библиотеки и т.д. На первом месте был, конечно же, вопрос: а как обстоят дела с библиотекой FANN для PHP 5.3 под Windows? Но очень быстро был найден ресурс, где есть скомпилированные библиотеки для PHP под Windows от версий 5.3 и выше. Причем как было видно, имелся даже выбор разрядности. А также выбор типа PHP NTS(Non thread safe) или TS(Thread safe). Для того чтобы узнать тип PHP и остальную о нем информацию, необходимо воспользоваться функцией phpinfo(). Читать далее

PHP и формат передачи данных JSON

JSON (JavaScript Object Notation) – формат для обмена данными в текстовом виде. Позволяющий передавать сложные структуры данных в сериализованном виде. Этот формат передачи данных стал настолько популярен, что уже в ядро PHP начиная с версии 5.2.0, были добавлены функции по обработке данных в этом формате. А это значит, что нет необходимости в подключении дополнительных расширений. Формат данных JSON хорошо понятен человеку. Кроме того данный тип обмена данными широко используется между различными API сервисами. А при корректной разработке алгоритмов для обмена информацией, можно получить очень высокий прирост скорости чем, к примеру, при работе с данными в формате XML. Читать далее

Работа с zip-архивами в PHP

Уже долгие годы самым распространенным форматом сжатия данных, является формат ZIP. Данный формат широко используется в разработках под web. Поэтому многие языки для web-программирования имеют либо встроенные средства или возможности подключения необходимых библиотек для работы с zip-архивами.

Непосредственно в самом PHP функций для распаковки и создания zip-архивов нету. Хотя это зависит, от вариантов его сборки. Но они присутствуют в PHP расширении “php_zip”. И именно оно позволяет работать с архивными zip-файлами. Читать далее