воскресенье, 11 декабря 2011 г.

Microsoft Mathematics

Дело началось с того, что я вспоминал как активировать функцию калькулятора в MS Word. Вспоминая с помощью поисковых систем, нашёл большее, более функциональный инструмент - Microsoft Mathematics. Эта программа существует как надстройка к приложениям Microsoft Word и OneNote (Надстройка Mathematics) или как независимое приложение Microsoft Mathematics 4.0. В обоих вариантах инсталятор имеет скромный объем: 7 Мб надстройка и 17 Мб приложение.
Мне часто приходится оформлять документы, содержащие расчётные формулы, решать уравнения в символьном виде, строить графики функций. И дополнении под названием Microsoft Mathematics я нашёл то, чего не хватает всем гигантам математических САПР (MathCAD, Maple и даже MatLAB) - они не умеют строить графики по ГОСТ! Их возможности не позволяют поставить стрелочки на концах осей и там же (рядом со стрелочками) указать имена переменных!

Калькулятор в Microsoft Word 2007, Word 2010

Функция полезная. Недавно переустанавливал MS Office и долго пытался вспомнить как использовать калькулятор в документах MS Word. Появился он в текстовом редакторе давно. В версии от 2000 года уже был. При переходе на Office 2007/2010 функция изменила своё название.
Калькулятор позволяет вычислить результат простого арифметического выражения. Например, в тексте документа вводим выражение
  1. 143/11 и выделяем его 143/11;
  2. вызываем калькулятор, который вычисляет выделенное выражение и помещает результат в буфер обмена;
  3. вставляем результат в документ командой "вставить" (ctrl+v).
Теперь к делу. Чтобы воспользоваться калькулятором в MS Word 2007/2010 необходимо
добавить кнопку вызова функции на панель быстрого доступа. Как это сделать показано на рисунках ниже.

четверг, 1 декабря 2011 г.

Dropbox

Dropbox - сервис хранения файлов в сети Интернет с большим количеством функций. Отличительная особенность сервиса  Dropbox - удобная синхронизация файлов и простой обмен информацией между пользователями сети Интернет.
Основные функции Dropbox:
  • управление файлами с помощью десктопного приложения, установленного на компьютер;
  • синхронизация файлов;
  • история изменения файлов за последние 30 дней с возможностью восстановления;
  • общий доступ к файлам в заданных папках (аналог файлообменного сервиса);
  • совместная работа над определенными файлами нескольких пользователей сервиса.
Возможно использование сервиса как на платной так и на бесплатной (что важно!) основе. Стоимость хранения данных приведена в таблице ниже.
Тарифный план Объем, ГБ Цена, $/месяц Реферальная программа
Basic 2 Бесплатно + 8 ГБ (+ 16 для студентов)
Pro 50 50 9,99 + 16 ГБ (+ 32 для студентов)
Pro 100 100 19,99 + 16 ГБ (+ 32 для студентов)

Компания Dropbox Inc. активно использует программы привлечения новых клиентов и программы поощрения лояльных пользователей своего сервиса. Даже используя тарифный план "Basic" (плата за него отсутствует) можно получить в пользование более 10 Гб дискового пространства. Алгоритм получения бесплатного хранилища файлов объемом 10,25 Гб описан ниже.

Теперь о главном.
  1. Если вы регистрируетесь самостоятельно - вы получаете 2 Гб дискового пространства.
  2. Регистрируясь по ссылке http://db.tt/ZpRM3jkA вы получаете свои базовые 2 Гб и ещё 250 Мб дополнительно.
  3. За каждого своего реферала вы получаете дополнительно 250 Мб дискового пространства.
Верхний предел выделенного пространства - 10,25 Гб.
О том, как ещё увеличить доступное дисковое пространство читайте на сайте сервиса Dropbox.

пятница, 26 августа 2011 г.

500 - PHP regular expression limit reached joomla

Проблема

Опубликовал на сайте под управлением CMS Joomla объёмный материал (более 10 тыс. слов). При попытке просмотреть его со стороны fronend получил сообщение об ошибке
500 - PHP regular expression limit reached joomla

Решение

PHP выделяет 100 000 байт для использования функций поиска по регулярным выражениям (в формате PCRE). Это ограничение и является причиной ошибки.
Необходимо увеличить количество памяти, выделяемое для работы с регулярными выражениями. Требуемый объем памяти зависит от объема обрабатываемого текста.
Я увеличил лимит до 150 000 байт.
За выделяемый для обработки регулярного выражения объем памяти отвечает директива pcre.backtrack_limit из конфигурационного файла php.ini.
Её можно изменить непосредственно редактируя конфигурационный файл php.ini, файл .htaccess либо через команду ini_set из php скрипта. Я выбрал последний вариант, так как доступ к конфигурационным файлам сервера провайдера у меня отсутствует.
В CMS Joomla я поместил команду в файл configuration.php:
ini_set('pcre.backtrack_limit', 150000);

Результат

После изменения конфигурации php ошибка исчезла.

PS

А ещё можно разбить большой текст на страницы. Такая возможность реализована во всех версиях Joomla - в текстовом редакторе вставьте "Разрыв страницы".

PPS

Если вы часто изменяете конфигурацию через панель управления Joomla (что приводит к потере вручную внесенных в файл configuration.php изменений), то предпочтительным способом является установка директивы через файл конфигурации веб сервера Apache .htaccess.
В файл .htaccess, расположенный в корне сайта, необходимо добавить команду:
php_value pcre.backtrack_limit 150000

четверг, 25 августа 2011 г.

Скрытие адресов электронной почты (email cloaking plugin) на статических страницах сайта под управлением CMS Joomla

Задача

Защита почтовых ссылок вида

<a href='mailto:mailbox@mailserver.com'>почта</a>
на статических страницах (например, "Контакты") сайта под управлением Joomla от сканирования спам-роботами.

Стандартное решение

В Joomla присутствует стандартный плагин "Скрытие электронной почты" ("email cloaking plugin"). Он автоматически преобразует email ссылки в javascript код.
В моем случае (Joomla 1.6.6 и Joomla 1.7.0, браузеры IE8, Firefox 4, 5, 6, Google Chrome 13) преобразование производилось с ошибкой: при клике на ссылку производился запуск почтового клиента, но вместо почтового адреса вида mailbox@mailserver.com в поле адресата подставлялся код

('span>'); //--> </script>
Модифицировать плагин Joomla "Скрытие электронной почты" я не стал.

Моё решение

Для решения задачи я использовал
сторонний модуль Mod HTML, который позволяет публиковать javascript код в любой позиции шаблона, и утилиту Blackman's E-mail encoder, с помощью которой я закодировал email адрес кодом javascript.

Содержимое плагина Mod HTML выводится в скрытую позицию сайта, а в контент вставляется ссылка на эту скрытую позицию сайта. Настройка Joomla для
вывода содержимого модуля в позиции контента производится с помощью стандартного модуля "Контент - Загрузка модулей".

Плагин Mod HTML настраивается на вывод закодированного с помощью javascript почтового адреса в позицию с именем module_name (Панель управления Joomla -> Менеджер модулей -> Mod HTML). Сама позиция module_name не должна присутствовать в активном шаблоне сайта.
В тексте, где необходим вывод содержимого модуля Mod HTML, вставляется конструкция

{loadposition module_name}
loadposition - вызов модуля "Контент - Загрузка модулей";
module_name - позиция, в которую выводится содержимое модуля.

Результат

Данным способом можно закодировать от сканирования спам-роботами почтовые адреса на статических страницах сайта под управлением CMS Joomla.

пятница, 12 августа 2011 г.

Инструменты разработчика сайтов

Статистика поисковых запросов

Любой продукт труда имеет своих потребителей. Перед наполнением интернет сайта контентом нужно определиться с аудиторией. В Интернете это требует оптимизации сайта по ключевым словам, по которым сайт будет выдаваться поисковыми системами.
Статистика поисковых запросов Яндекса.
Статистика Google для подбора ключевых слов.
Статистика поиска Google.
Популярные запросы Google - тенденции в области поисковых запросов.


Анализ сайтов

CY-PR.com — комплексный анализ сайта.
teldery.ru — биржа сайтов.

Backup

PHP Filesystem Management Tool — php файловый менеджер в одном файле, с поддержкой компрессии.
Sypex Dumper — Скрипт резервного копирования баз MySQL.

пятница, 22 июля 2011 г.

Использование Apache Ant в Eclipse PDT

Чем может помочь Apache Ant PHP разработчику? Apache Ant - мощный инструмент, используемый для выполнения рутинных задач при работе над проектом. Впервые я воспользовался его возможностями для формирования zip пакета компонента Joomla из файлов проекта Eclipse PDT.
Требовалось собрать все файлы компонента в zip архив, который устанавливался стандартными средствами CMS Joomla. Проект содержал различные файлы, в том числе и такие, которые не должны были быть включены в архив. Ant справляется с таким типом задач с легкостью.
О том, как использовать Ant в качестве программы-сборщика можно прочитать в базе знаний IBM.
Чтобы получить представление о сценариях Ant ознакомьтесь со статьей, понятно рассказывающей об азах.
При составлении сценариев нельзя обойтись без справочной информации от разработчиков.
Но перед тем как использовать Ant его необходимо установить.
По умолчанию в Eclipse PDT инструмент для сборки проектов Apache Ant отсутствует. Установка инструмента проста.
Этой информации мне было достаточно, чтобы создать требуемый сценарий сборки проекта.

понедельник, 11 июля 2011 г.

Юмор

Из насекомых уважаю только самку богомола. Молодец, баба! Полюбила. Погубила. Сожрала.
Посмотрите на цены на бензин и на меня, снова на цены на бензин и снова на меня. ДА! Я НА КОНЕ!

понедельник, 6 июня 2011 г.

Номера FDN

Нашёл в своем мобильном телефоне в телефонной книге раздел "Номера FDN". Список этих номеров пуст. Для редактирования списка необходим пароль PIN2.

Выяснил. FDN - это функция телефона (и, следовательно, не связана с оператором, который предоставляет услуги связи). FDN список телефонных номеров хранится на SIM карте. Для активизации/отключения функции FDN номеров необходим пароль PIN2.

Функция FDN наиболее часто задействуется при использования мобильного телефона детьми и позволяет родителям ограничить список номеров дозвона номерами из списка "белых номеров" FDN.

пятница, 7 января 2011 г.

Установка принтера Lexmark Z705 в Ubuntu Linux

Задача
Установить принтер Lexmark Z705 в Ubuntu Linux 10.10.

Пытался найти подходящий драйвер на сайте Lexmark. Для моего принтера не нашёл. Документ с их сайта также не помог.
Провел поиск по форумам Ubuntu. Там рекомендуют поставить драйвер для Lexmark Z600, которая подходит ко многим моделям принтеров Lexmark. Вариант также не сработал.
Установил принтер по следующему алгоритму:
  1. Устанавливаем необходимые утилиты и библиотеки alien и libstdc++5.
    sudo apt-get install alien
    sudo apt-get install libstdc++5
  2. Получаем из сети Интернет драйверы принтера в формате rpm (в моем случае z700llpddk-2.0-1.i386.rpm и lexmark-z700-cups-driver-1.1.1-1.i586.rpm). Я нашёл их по ссылке Lexmark Z700/P700/P3150 linux printer driver.
  3. Помещаем полученные два rpm файла, например, в папку /tmp/lexmark.
  4. Преобразуем rpm пакеты в формат deb и устанавливаем их:
    sudo alien -v --to-deb *.rpm
    sudo alien -v --install *.deb
  5. На этом установка драйверов в систему завершена. Обновляем конфигурацию командой
    sudo ldconfig
  6. Устанавливаем принтер с помощью мастера из меню Система -> Администрирование -> Печать (см. рис. 1) -> Добавить. В списке доступных моделей принтеров после предварительно проделанных манипуляций по пп. 1-5 должен появиться Z700 и Z700 Color Jetprinter (см. рис. 4).
Рисунок 1 - Доступные принтеры
 Рисунок 2 - Выбор устройства (принтер подключен к USB порту)
 Рисунок 3 - Выбор производителя
 Рисунок 4 - Выбор модели
 Рисунок 5 - Описание принтера
 Рисунок 6 - Установленный в системе принтер

В моем случае для установки принтера Lexmark Z705 в Ubuntu 10.10 потребовалось минимум усилий. В случае проблем рекомендую изучить методики установки принтера, описанные здесь и здесь.