PDA

Показать полную графическую версию : Делимся опытом


Страниц : 1 2 [3] 4

Prisoner
27-09-2006, 15:35
№32 (юбилейная :))
http://apachedev.ru/ - Довольно любопытный ресурс с углубленным изучением индейских племен. В курсе - анатомия, строение. Рекомендуется как опытным администраторам, так и разработчикам использующим индейскую рабочую силу. к примеру последняя на данный момент статья mod_macro выглядит на первый взгляд очень элегантным решением...

Prisoner
11-10-2006, 17:24
№33
Ввиду сочетания двух вещей: скорым выходом релиза IE7 (http://www.microsoft.com/windows/ie/default.mspx) и невозможностью работать со встраеваемым контентом как обычно (http://forum.oszone.net/post-424920-21.html) следует обратить внимание на неплохое законченное решение (http://blog.deconcept.com/swfobject/). Лично я уже столкнулся с гневом посетителей вынуждаемых "мной" делать 3-4 клика по встраеваемому контенту (flash etc). Интересный факт - даже если объект, к примеру просто flash анимация с бегущими облаками в заголовке страницы, служит только целям наведения красоты, то посетители в 85% (что очень много) все равно его активируют, хотя он и не служит никаким управляющим элементом - просто такова психология: рамка привлекает внимание, а недвусмысленная надпись об активации инициирует действие.

Prisoner
12-10-2006, 13:22
№34
Лаконичный видео-урок по FireBug FireFox add-on (http://www.digitalmediaminute.com/screencast/firebug-js/) (6.5Mb) выполненный в модной сейчас flash обертке.

Prisoner
14-10-2006, 13:46
№35
Online regular expressions evaluator (http://www.rexv.org/), остается только перевести :)

vadimiron
19-10-2006, 19:31
№36
Я в последнее время очень много работаю с графикой, конвертацией картинок и тд.
Всем советую ImageMagick, и именно не классы или Bindings-ы, а обычный command line tool, так как все функции доступны только через саму ютилиту.

А также приходиться читать заголовки JPEG-ов, чтобы организовывать по ним поиск.
Типов Заголовков бывает очень много: все самые основные можно вытаскивать данными функциями (http://www.ozhiker.com/electronics/pjmt/).
Нам же хватает только IPTC, которые парсяться с помощью стандартной функции PHP: iptcparse() или, что более удобно, с помощью классов IPTC, которые написал я :)
Если перед кем встала подобная задача, обращайтесь ко мне, пришлю классы

Prisoner
20-10-2006, 00:48
vadimiron, дык за чем дело стало? Оформляй под любимую лицензию и сюда, только спасибо скажем.

vadimiron
24-10-2006, 02:21
По "многочислиенным" заявкам телезрителей кидаю сюда классы для "удобной" работы с IPTC заголовками JPEG-ов

Всего 4 класса:
IPTCField - поле с информацией в загаловке картинки
IPTCInfo - все поля одной картинки
IPTCReader - для чтения полей из файла
IPTCCodes - расшифровка кодов некоторых полей (можно это было хранить в базе, но решил сделать так, чтобы не зависить от наличия базы данных)

И ещё два класса, на которых другие построены:
Object - для IPTCField, IPTCInfo
ObjectList - for IPTCReader.
Эти оба класса вспомогательны, в моём проекте на работе они служат основой для почти всех других классов
Чтобы Обойтись без них, надо в IPTCField, IPTCInfo свои get и set методы написать, а в IPTCReader дописать член класса массив, который отдельные поля хранит и функцию add_object, которая добавляет новые поля в данный массив, и функции, чтобы эти поля потом поочереди отдавать.


IPTCField:
Состоит из типа поля(его номер) и информации, которая храниться в данном поле. Данный класс нужен только для внутренних целей (для IPTCReader-а)

IPTCCodes:
Расшифровка некоторых кодов, которые встречаются в полях. Коды стран, предполагаю, везде одинаковы, поэтому врядли будут меняться. А вот коды категорий и подкатегорий зависят часто от источника и должны всё время обновляться/дополняться. Например, у меня коды от Associated Press, картинки которых нам приходят.
Все три члена класса устроены как статичные массивы для прямого доступа без создания объекта данного класса.

IPTCReader:
Считывает данные из файла (loadFile) или уже из готового куска хедеров файла(loadData) и сохраняет эти данные во внутреннем массиве, который поэлементно передаётся объекту класса IPTCInfo.

IPTCInfo:
Центральный класс. Он хранит всю извлечённую информацию. В переменных класса сохраняються значения отдельных полей. Главная особенность: мне не нужны были все поля, так как из слишком много и почти никогда они все бывают заполнены. Для этого я придумал статичный массив $varsToFields, в котором содержиться какая переменная класса относиться к какому полю. Все поля, которые не имеют переменной, оседают в массиве $fieldsWithNoVars. То есть, если нам интересно какоето новое поле, нужно просто придумать переменную для этого поля, записать её в список переменных класса и добавить имя данной переменной в массив $varsToFields напротив соответствующего поля.
Класс имеет только одну важную функцию,а именно addField, которая как раз обрабатывает поле, полученное из IPTCReader-а. 4 приватных функции set_* нужны, чтобы исправлять некоторые ошибки, которые допускаються в Associated Press, а также чтобы хранить расшифровки кодов (хранящиеся в IPTCCodes) - для этого в классе есть спец переменные, например $categoryName или $countryName, которые не храняться в полях с информацией, но которые я сам беру из IPTCCodes.


Пример:


$reader=new IPTCReader();
$read=$reader->loadFile($pathToJpeg);

if(!$read)
{
die("No file found or No headers in file");
}


$info=new IPTCInfo();


while($field=$reader->next_object())
{
$info->addField($field);
}


echo "Date: ".$info->get("creationDate")."\n";
echo "Country: ".$info->get("countryName");



P.S.: Так как всё делалось в спешке, вся системе не идеальна с точки зрения дизайна.

vadimiron
23-12-2006, 16:15
Система сбора статистики посещений сайта: phpmyvisites (http://www.phpmyvisites.net/)
Поставили, юзаем, пока нравится

vadimiron
11-01-2007, 20:19
Данная проблема вообщето тривиальна и всем понятна, но её очень сложно найти:

У нас разные подсистемы общаются HTTP запросами, при чём тело сообщения свормировано особым образом: первая строчка статус, начиная со второй - что угодно, само содержание сообщения.
Так вот один раз я не мог долго понять, почему в одном модуле всё время происходит ошибка, а именно весь вывод смещается на одну строку.
После очень долгих мучений оказалось, что в одном классе, код которого подключается в данный модуль, после закрывающего тега ?> было ещё несколько переносов, то есть как бы обычный HTML вывод, и вот как раз этот вывод смещал всё остальное вниз.

Я понимаю, что проблема детская, но искал я её блин долго

vadimiron
26-01-2007, 14:22
Система классов для построения различных графиков, мне понравилось - очень много графиков. Советую. Написано на PHP
ссылка (http://www.aditus.nu/jpgraph/index.php)

vadimiron
26-03-2008, 13:46
Backbase Ajax Framework (http://www.backbase.com/) есть теперь также в бесплатной Community Edition (http://bdn.backbase.com/download_community)
Судя по Демкам - весьма интересный Framework - много различных эелементов

Prisoner
01-03-2009, 18:33
Народ, смысл топика - коллекция полезностей. Просьба общаться или по ЛС или создайте отдельный топик, плиз.

EGORR_TOO
22-06-2009, 20:18
jQuery Табы одной строкой кода
Недавно пришла в голову одна идея.
С её помощью уписал реализацию табов (хотя это могло быть меню, ещё что-нибудь...) в одну строку кода.
Пример здесь http://egorr.site88.net/sample/
Код настолько прост, что не стану комментировать.
Будет интересно, - отвечу на вопросы.

proxy
12-07-2009, 02:15
Скрипт быстрого цитирования (более-менее универсальный).
Перераобтанный вариант с этого форума.
Пример (http://www.webinweb.ru/ftp/quickquote/quickquote.htm) / Скачать (http://www.webinweb.ru/ftp/quickquote/quickquote.js)

интересны пожелания и тесты...

EGORR_TOO
12-07-2009, 10:26
Пробовал. По нажатии "Цитировать" вставляется текст, выбранный первый раз, какой бы новый текст не выбирался.
FF 3.0.11, Ubuntu 8.10

proxy
12-07-2009, 20:39
Пробовал. По нажатии "Цитировать" вставляется текст, выбранный первый раз, какой бы новый текст не выбирался. »
благодарю, как нить поставлю Ubuntu и отлажу.

Igor_I
13-07-2009, 22:17
Freebsd 7.1 r3
FF 3.0.9
Konqueror 4.2.2
Работает. Правда есть различия в результате. Но есть один изъян, слово цитирвать сливается с текстом.

EGORR_TOO
21-07-2009, 21:44
На днях просили меня сделать на одном сайте версию для печати. Хозяин сайта делал вордовский файл из страницы, заливал его, и этот изврат заменял версию для печати.
Проблем никаких особых нет... CSS, media=print, сделаем...
Однако правильно сказано древними программистами: "Чем в чужом коде копаться, легче свой написать!"
Это я понял взглянув на код страниц.
И моя природная лень продиктовала мне одно простое как зевок бегемота решение...
Итак...
Задача версии для печати: скрыть от принтера ненужное: меню, футер, хедлер, информеры, и прочуюю мутьку.
Я заметил, что нужный контент на этом сайте лежит в таблице с классом "content".
Всё просто: надо взять нужное и выкинуть ненужное.
Подключаем jquery.

Забираем все из таблицы
var TableContent = $("table.content");
var TableHtmlContent = TableContent.html();
и переписываем этим содержимым таблицы все тело страницы
$("body").html(TableHtmlContent);
Поскольку все происходит на клиентской стороне, испортить что-либо не странице нам не грозит.
Чтобы восстановить вид страницы достаточно её перезагрузить. Для этого вместе с контентом таблицы вешаем кнопку рефреша страницы.
var InputHtml = "<INPUT TYPE="\button\" VALUE=\"Закрыть версию для печати\" ONCLICK=\"ReloadButton()\"><br>";
И для блондинок, кнопку распечатки
var PrintButton = "<br><input type=\"button\" value=\"Печатать\" onclick=\"window.print();\"> "
Вот и все...
Ну, разумеется все эта нехитрая конструкция висит на кнопке

var TableContent = $("table.content");
var ItsButton = $("span#ItsButton");
var InputHtml = "<br><INPUT TYPE=\"button\" VALUE=\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u0434\u043b\u044f \u043f\u0435\u0447\u0430\u0442\u0438\" ONCLICK=\"ReloadButton()\"><br>";
var PrintButton = "<br><input type=\"button\" value=\"\u0420\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c\" onclick=\"window.print();\"> "

ItsButton.click(function(){
var TableHtmlContent = TableContent.html();
$("body").html(TableHtmlContent);
$("span#GetBack").html(InputHtml);
$("span#Print").html(PrintButton);
$("span#ItsButton").hide();
});


Посмотреть как работает можно например здесь _http://www.tcyar.ru/south/an_beranda.php
В правом верхнем углу центральной колонки текстовая ссылка "Версия для печати", та что без иконки ворда...

EGORR_TOO
13-08-2009, 15:39
Недавно ковырялся рисуя текстовые блоки для одной работы. Скучная, неинтересная работа.
Вот и подумал, - если я эту муку принял, так может плод моих трудов скорбных спасет какую-нибудь светлую голову от рутины для творческого полёта?
Посему, коллеги, забирайте если подойдет. _http://egorr.site88.net/text_block/
Верстка табличная, девять блоков.

gig666
19-12-2009, 12:16
Добрый день ) хочу задать вопрос... у меня на сайте всего 4 пользователя, хотелось бы разместить побольше рекламы на сайт и набить побольше пользователей бесплатно, неподскажите где лучше всего размещать объявления ?




© OSzone.net 2001-2012