Oct 02

Выполняя очередной проект на работе связанный с генерацией отчета в виде Excel, столкнулся с проблемой, что длинная строка записанная в ячейку обрезается, замерил - оказалось ровно 255 символов.

Такая длинна не просто так, а зачастую связана со старыми форматами.

Когда уже все ограничения будут по принципу возможностей железки - мечты, мечты …

Читать далее »

Mar 19

На корпоративном (внутреннем) сайте сейчас иногда появляется следующее. Один или два процесса, каждый из которых отжирает по почти 50% загрузки процессора. Когда 2 процесса существуют одновременно это мешает работе сайта. Процессы эти работают достаточно долго - более суток. Приходится перегружать апач.

Читать далее »

Теги:

Mar 05

Собираю алгоритмы, которые буду использовать в своем проекте “Captcha-E64F”. Начало читайте на странице http://www.e64f.ru/?p=287. Хотя Charnad высказался скептически - типа нечего изобретать велосипед, я все же решил продолжить проект и довести его до стадии релиза, т.е. выпустить плагины для wordpress, phpbb, drupal.

Итак сегодня о волновых искажениях.

Читать далее »

Теги: ,

Sep 10

Лет 5 назад сделал на Perl систему статистики, очень простенькую, просто данные о посещении укладывались в одну таблицу.

CREATE TABLE IF NOT EXISTS `statistics` (
`id` int(10) unsigned NOT NULL auto_increment,
`yy` int(4) unsigned zerofill default NULL,
`mm` int(2) unsigned zerofill default NULL,
`dd` int(2) unsigned zerofill default NULL,
`in_time` varchar(8) default NULL,
`ip` varchar(15) default NULL,
`page_curr` varchar(25) default NULL,
`page_from` varchar(255) default NULL,
`browser` varchar(255) default NULL,
PRIMARY KEY  (`id`)
)

За 5 лет иногда смотрел эту статистику, т.к. достаточно быстро записей становилось много - конечно чистил таблицу.

И вот сейчас созрела необходимость вытащить все поисковые запросы из поля page_from, если пользователь пришел из гугла, то в этом поле будет ссылка по типу: http://www.google.com/search?q=%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BA%D0%B0%D0%BF%D1%82%D1%87%D0%B8&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox

Читать далее »

Теги:

Jun 25

Насколько php устойчив к обработке больших объемов данных, убедился за последние 2 недели. Имели место быть 2 случая.

Читать далее »

Теги: , ,

Jun 05

Автор twitter-tools функционалом своего плагина тискал свои ссылки в каждый мой кроспост из блога. Я конечно понимаю что он потратил время на написание плагина, но он на своей странице держит кнопочку поддержите проект денюжкой и еще такие непотребства со ссылками.

Читать далее »

Теги: , , ,

May 31

Пару тройку месяцев назад установил на втором компьютере Ubuntoo, этот linux мне очень понравился, настолько что захотелось основную работу делать на нем. По роду деятельности php программистом мне нужен редактор для правок файлов на удаленных серверах. И вот тут началось, оказалось что почти ни один редактор не способен подключаться удаленно к серверам по протоколу ftp. На windows платформе я использую Zend Developer, и решил его же установить на linux т.к. он кроссплатформенный.

Читать далее »

Теги: ,

Apr 10

Очень многие владельцы сайтов кроме прочих счетчиков посещений ставят на свои сайты код Google Analytics. Потом на сайте гугла можно смотреть во всяких удобных графиках во всевозможных разрезах данных. Все было бы хорошо если бы …
Читать далее »

Теги: ,

Apr 07

Любой программист любого языка программирования использует функция random, в языке php rand()

int rand ( [int min, int max] ) - функция возвращает целочисленное значение в указанном диапазоне. Все просто и замечательно. На днях мне понадобилось получить случайное число из диапазона чисел, но шансы появления того или иного числа должны быть ранжированы.
Читать далее »

Теги: ,

Mar 01

В последнее время, в моей работе PHP программистом, возникает потребность делать большие по времени обработки данных. Иногда скрипт должен работать день или два, думаю дальше будет больше. Делать такие дела в браузере невозможно, по причине того, что скрипт вылетает по тайм-ауту. Выход конечно же запускать скрипт через крон. Но у данного метода есть свои недостатки. Например мне не нужно запускать скрипт через определенные промежутки времени, а нужно разово. Пробовал дробить задание на части, выход конечно, но пускать эти части на обработку например через каждые 5 минут тоже меня не устраивает, потому что задание может выполниться за 2 минуты, следующее стартует через 3 минуты, получается на каждом цикле задержка 3 минуту, а это плохо. Также плохо, когда задание выполняется за больше чем 5 минут, задания накапливаются занимая процессор сервера. Можно конечно проверять запущено ли задание, ведь это не проблема, но тогда все равно у общего процесса обработки будут простои.
Решение, которое меня полностью устраивает сделал так: запускаю небольшие по времени обработки прямо в браузере, а следующее задание стартую javascript-ом. Таким образом запустив задание на удаленном Windows хосте в браузере в самые короткие сроки получу выполнение задания.

Теги: