Новый модуль — WWW::Ruler

Сегодня разместил на CPAN свой второй open source модуль — WWW::Ruler. Не буду описывать то, как с ним работать. Напишу лишь краткое его представление.

WWW::Ruler помогает легко формировать рулетку стиля Google (её функционирование) , а также помогает программисту получить нужные смещения для обрезания массива данных. То есть, мы указываем модулю размер всего массива, что мы имеем (например сколько всего товаров в категории), количество элементов на одной странице (категория разбита на страницы), желаемое количество кнопок «рулетки» и номер текущей страницы, для которой надо показать релетку. Модуль формирует массив элементов рулетки и вычисляет start & end позиции в массиве, которые можно использовать для вырезания данных из массива. Массив рулетки проходится обычным for оператором и отталкиваясь от значений, легко рисуются кнопки [<], [>], […] и [1], [2] и т.п..

Где взять:

CPANhttp://search.cpan.org/dist/WWW-Ruler/

GitHub репозитарий — https://github.com/Perlover/WWW-Ruler.git

Визуализация графиков на JavaScript

Сегодня решил немножко «пробить» вопрос визуализации на JavaScript разного рода графиков. Самые лучшие графики получаются средствами HTML5 и её расширением SVG. Также нашёл отличный пост про 20 библиотек визуализации. Вот ссылка на тот пост:

http://sixrevisions.com/javascript/20-fresh-javascript-data-visualization-libraries/

А также вот сам несколько демок разных библиотек. И всё это без всякого Flash, работает в Firefox! 🙂

http://www.highcharts.com/demo/
http://www.highcharts.com/stock/demo/

И ещё классную библиотечку нашёл сейчас — http://raphaeljs.com/ — там даже есть 3D шутер, типа Quake 🙂

Перед началом использования какой либо библиотеки обратите внимание на лицензии — тема новая, инструментов мало, и сильно коммерцианализирована. Многие разработчики дают free версии только как Demo. Простой пример такой библиотеки — http://wijmo.com/demos/

Несколько полезных jQuery модулей от Odyniec

Сегодня посмотрел страничку одного разработчика по ник — имени Odyniec. Очень понравились его разработки. Спешу поделиться с вами 🙂

  • imgAreaSelect — jQuery плугин для кропинга (cropping images) картинок (точнее, выделение области — кропинг делайте сами ;-)) — (пример)
  • imgZoom — Красивое листание картинок с анимацией, ротацией и приближением из далека (пример)
  • selectListмультивыборочный select лист, показывающий выбранные опции отдельно с возможностью легкого их удаления (пример)

Также, автор написал несколько полезных статей по CSS (как создать «деревья», «табы»)

Также, автор написал несколько модулей на perl для Dancer (его сайт также работает под Dancer): Dancer::Plugin::DebugToolbar, Dancer::Plugin::DirectoryView

История с левыми сертификатами затронет не только Google

Перепечатано с BugTraq:

История, конечно, замечательная. Голландский CA (авторизационный центр сертификатов, сертификат которого заверяют другие сертификаты низшего порядка) DigiNotar (прикупленный в июне Vasco Data Security International) в июле этого года выдал неизвестно кому новый SSL-сертификат для домена google.com. Всплыл он только в минувшее воскресенье, и, по словам Google, атакующая схема, включающая этот сертификат, была направлена против иранских пользователей. Google работает с совершенном другим CA, информация о котором прошита в Chrome, так что пользователи Chrome все равно получали соответствующуу предупреждение.

Кроме того, расследование показало, что тогда же атакующие получили сертификаты для еще «нескольких дюжен» сайтов — и им уже никакой Chrome не поможет.

В понедельник все левые сертификаты были отозваны, а Google, Mozilla и Microsoft дружно вычеркнули (или вот-вот вычеркнут) DigiNotar из списка корневых CA в своих браузерах. А это означает отдельный очень большой подарок для всех тех сайтов, кто имел неосторожность купить у DigiNotar свой сертификат. Vasco в своем заявлении говорит о том, что рассматриваются разные варианты — от перевыпуска этих сертификатов у других CA до убеждения производителей браузеров вернуть к ним доверие (три ха-ха).

А теперь немного от себя 😉 Кто еще не понял — все броузеры имеют хранилище сертификатов цетров (CA), и если какой либо сайт имеет сертификат для своего домена, подписанный ими — тогда броузер автоматом считает такой сайт доверенным для пользователя. А значит — получает  поблажки в плане отключения разных security опций. Правда, я не совсем понял из новости — если был для домена google.com, то и мог работать только когда пользователь заходил на google.com. Разве что, если бы писали про домен gooogle.com какой нибудь, тогда было бы более понятно, зачем что и кому это надо.

Немного о супер направлениях в Web на Perl

Немогу не поделиться своими выводами об изучении нескольких новых технологий в Perl и в Web программировании. Немного предистории.

Я сам программирую динамические веб сайты (CGI) только на Perl. Никогда не использовал PHP. Это не только потому, что я фанат Perl, но и дань эффективности — под Perl много модулей, много возможностей, и при грамотном подходе сайты на Perl будут работать быстрее PHP — ведь Perl код после компиляции хранится в памяти в виде байт кода (типа «Пи кода» кода в Pascal). А если знаешь Perl, то и разработка может идти гораздо быстрее. Читать далее Немного о супер направлениях в Web на Perl

Firefox 5.* — обновлённые плагины…

Уже после написания этой заметки нашел более подходящий способ запуска несовместимых Add-ons — читайте здесь.

Вместе с Firefox 5 перестали работать некоторые мои любимые плагины. Я постарался оперативно обновить их и выложил у себя на блоге, так как авторы этих Add-ons не спешат их обновлять для Firefox 5.*. Я взял оригинальные версии и только подправил файлики install.rdf, где указал любую максимальную версию. Вот эти расширения (мои патченные файлы — внутри статеек):

  • Copy All Urls (копирует в буфер линки открытых табов, а также открывает табы с линками из буфера)
  • Copy Plain Text (копирование текста без аттрибутов форматирования, нужен для Auto Copy — очень хорошая «связка» плагинов для оптимизации работы с web страницами)

Хорошая статейка по CSS и Float блоки (поплавки)

Вот искал и нашел эту статейку со всеми премудростями обращения с блоками — поплавками (float) в CSS. Спешу с вами поделиться 😉

http://designformasters.info/posts/css-float-theory-and-practice/

Для тех, кто хочет иметь этот адрес всегда под рукой в мобильнике, вот QR-Code:

DOCTYPE & Images в таблицах — почему разваливается дизайн?

Это будет краткий обзор моего исследования на тему DOCTYPE (подробнее о DOCTYPE я напишу как нибудь позднее) и поведения <IMG> элементов. Итак, если вы еще не знаете, а являетесь вебдизайнером или верстальщиком HTML страниц, вам надо знать, что лучше указывать тип документа для HTML диррективой DTD в начале любого HTML документа: <!DOCTYPE …>. Потому как иначе, ваша страница может выглядеть и работать не так, как вам хочется (например, без этого определения не работает CSS «position: fixed»). Я долго мучался с этим DOCTYPE, чтобы все работало так, как хотелось бы, и пришел к выводу, что лучше делать именно такое объявление типа: Читать далее DOCTYPE & Images в таблицах — почему разваливается дизайн?

Еще немного о Roboform и LastPass

Написал мне недавно суппорт, что они таки устранили баг, о котором я так долго писал! Надо же… Предложили мне протестировать новую версию (7.1.2). Но я так долго ждал (реально баг есть более года, но последний штурм на саппорт я осуществлял в августе 2010), что это мне надоело, терпеть, пока Firefox тормозит и зависает на сайтах с JavaScript, что удалил я этот косячный плагин, тем более, что 7-ая версия (в которой и устранен этот баг) для пользователей 6-ой версии снова стала платной (тут кстати, если помыслить, становится понятно, почему они так тянули с исправлением и исправили во вновь ставшей платной версии…). Теперь я перешел на LastPass Читать далее Еще немного о Roboform и LastPass

Чуть улучшенный Live HTTP Headers

Я часто пользуюсь Live HTTP headers, но постоянно раздражают установленные каждый раз флажки во вкладке Generator -> Show «images» & «CSS». Обычно, Live HTTP headers используется для перехвата GET & POST запросов HTTP трафика броузера, но при этом в 99% случаев не нужны данные о перехвате графики и CSS стилях. Постоянно приходится их отключать, так как они «засоряют» поток других, более важных, данных. Решил покончить для себя с этим, поправив чуть чуть этот плагин. Кому надо — пользуйтесь. Правда, когда плагин выпустят с новой версией, эта будет перетерта и все перестанет работать. Как это произойдет, постараюсь придумать более лучшее решение. Исправлена пара строк, но зато так стало удобнее… 🙂

К тому же, эта версия адоптирована для Firefox 3.6.* & 4.*

Правленный Live HTTP headers v0.17