Новый сервис статистики

Случайно попал на сайтик Clicky, впринципе меня всегда устраивал Google Analytics, но посмотрев на табличку сравнения Clicky c другими сервисами, очень им заинтересовался. Я тут перевел табличку с сайта и предлагаю вам оценить возможности этого сервиса.

 

Clicky

Google Analytics

SiteMeter

StatCounter

Mint

FeedBurner

Настраиваемая панель инструментов
API для разработчиков
Детальная информация о каждом посетители
Работа с https сайтами
Информация о загрузках
Посетители организации (напр., Microsoft Corp)
Наиболее активные посетители
IP tags*
Виджет «наиболее популярное»
Представление информации в виде «облака»
Экспорт данных в CSV, XML, JSON
Работа с пользователями, отключившими JavaScript
Официальный плагин к WordPress для легкой интеграции с блогом
Интеграция с Google Maps
Публичная статистика
Бесплатность
Партнерская программа

= Реализуется хаками или плагинами

Буду пробовать…

Fork me on GitHub Далее

Самые полезные разширения к Firefox

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

Adblock PlusAdblock Plus (Установить) — наверное, один из самых популярных плагинов к Firefox, что в принципе вполне понятно, так как он помогает избавится от назойливой рекламы в любом виде. Но тут вступает в дело так сказать этическая сторона: ведь многие товарищи блогеры зарабатывают на кликах по рекламе… Лично я решил так, что те блоги, которые я посещаю регулярно, буду добавлять в фильтр Adblock Plus :) Может быть это конечно глупо, но меня устраивает.

ColorZillaColorZilla (Установить) — это реализация так называемой «пипетки», которая служит для определения цвета находящегося под курсором. Бывает нужно скопировать цвет элемента, но лезть в код не хочется, спасает «пипетка». Также плагин предоставляет кучу функций по преобразованию в разные формы представления цвета и тому подобное…

Extended Statusbar (Установить) — этот плагин добавляет в строку состояния информацию о количестве загруженных изображений, скорость и время загрузки страницы. Статистика никогда не бывает лишней.

Fancy Numbered TabsFancy Numbered Tabs (Установить) — про этот экстеншен я прочитал на каком-то блоге, не помню уже на каком, но идея мне понравилась: на каждом табе вместо красных крестов появляются цифры, также добавляются горячие клавиши для перемещения по табам: CTRL + [1-8] или Alt + [1-8]. Удобно.

FirebugFirebug (Установить) — расширение являющееся консолью, отладчиком, и DOM-инспектором Javascript, DHTML, CSS, XMLHttpRequest. Firebug показывает в консоли вызвавшую ошибку функцию, стек вызовов функций, вызвавших эту ошибку. Он предупреждает, что CSS-правило или Javascript-метод/свойство, которое вы пытаетесь использовать, не существует. Вообщем, я даже не знаю как я бы без него жил. К этому расширению есть дополнение разработанное парнями из Yahoo! — YSlow, измеряющее скорость загрузки страницы и её отдельных компонентов. Кроме измерения скорости, проводится анализ всех компонентов: есть ли заголовки, вынесены ли стили и скрипты в отдельные файлы, используется ли компрессия, перенаправления, анализируется даже взаимное расположение компонентов на странице и даются рекомендации по оптимизации, основанные на собственных исследованиях и тестах Yahoo! в этой области. Информация на русском о Firebug.

Firefox Google Bookmarks (Установить) — добавляет в основное меню Firefox подменю для интеграции с Гугловыми закладками. Кроме возможности добавления/редактирования/сортировки закладок есть и импорт/экспорт нативных Firefox'овых закладок.

FireFTP

FireFTP (Установить) — это полноценный ftp-клиент прямо в браузере.

Кроме того он обладает рядом полезных фич, таких как сравнение директорий, удаленное редактирование, SSL шифрация и т.д.

FireShotFireShot (Установка, только для windows :- ( -это дополнение к обозревателю Mozilla Firefox, которое позволяет создавать скриншоты открываемых вами страниц. В отличие от других средств подобного рода, это дополнение предоставляет в распоряжение пользователя целый ряд инструментов для редактирования скриншота и добавления графических и текстовых аннотаций. Подобная функциональность будет полезна для веб-разработчиков, тестеров и редакторов. Скриншоты могут быть сохранены на диске (в форматах PNG, JPEG, BMP), скопированы в буфер обмена, отправлены по электронной почте или экспортированы во внешний редактор для последующей обработки.

GreasymonkeyGreasemonkey (Установить) — это расширение предлагает вам широкие возможности доработки внешнего вида и функционала веб-сайтов с помощью скриптов, которых уже написано, наверное больше десятка тысяч. Также вы сами можете написать скрипт, ведь эти скрипты не что иное как JavaScript.

Ну на сегодня хватит, продолжение следует :)

Далее

Создание RSS потока в CodeIgniter

У нас (в Linux-Online) есть система управления репозиториями и системы сборки iso-образов с вебмордой на CodeIgniter'e. Естественно ведутся логи, сегодня подумал, что было бы удобно чтобы логи транслировались в RSS — ставим любой RSS ридер с поддержкой нотификаций в треи, красота. Естественно велик не стал изобретать — нашел вариант от Delek Allard'a. Изложу его на русском :)

Итак начнем с контроллера, который я назвал «feed»:

PHP:
  1. <?php
  2. class Feed extends Controller
  3. {
  4.  
  5.     function Feed()
  6.     {
  7.         parent::Controller();
  8.         $this->load->model('posts_model', '', TRUE);
  9.         $this->load->helper('xml');
  10.     }
  11.    
  12.     function index()
  13.     {
  14.         $data['encoding'] = 'utf-8';
  15.         $data['feed_name'] = 'DerekAllard.com';
  16.         $data['feed_url'] = 'http://www.derekallard.com';
  17.         $data['page_description'] = 'Code Igniter, PHP, and the World of Web Design';
  18.         $data['page_language'] = 'en-ca';
  19.         $data['creator_email'] = 'Derek Allard is at derek at derekallard dot com';
  20.         $data['posts'] = $this->posts_model->getRecentPosts();   
  21.         header(«Content-Type: application/rss+xml»);
  22.         $this->load->view('feed/rss', $data);
  23.     }
  24. }
  25. ?>

Важно заметит, что без объявления заголовка (строка #18) браузер проинтерпретировал бы вывод как обычный текст или как xml файл и предложил бы его загрузить, естественно нам такого результата не хотелось. Также в строке #17 мы обращаемся к методу getRecentPosts из модели posts_model, который содержит следующий код:

PHP:
  1. function getRecentPosts ()
  2. {
  3.         $this->db->orderby('post_date', 'desc');
  4.         $this->db->where('post_visible', 1);
  5.         $this->db->limit(10);
  6.         return $this->db->get('posts');
  7. }

Выборка с условием, что колонка 'post_visible' должна содержать 1, необходима если вы не хотите отдавать пост на публику, например если это черновик. Теперь посмотрим шаблон (view) 'rss':

PHP:
  1. <?php
  2. echo '<?xml version="1.0" encoding="utf-8"?>';
  3. ?>
  4. <rss version=«2.0»
  5.     xmlns:dc=«http://purl.org/dc/elements/1.1/»
  6.     xmlns:sy=«http://purl.org/rss/1.0/modules/syndication/»
  7.     xmlns:admin=«http://webns.net/mvcb/»
  8.     xmlns:rdf=«http://www.w3.org/1999/02/22-rdf-syntax-ns#»
  9.     xmlns:content=«http://purl.org/rss/1.0/modules/content/»>
  10.  
  11.     <channel>
  12.    
  13.     <title><?php echo $feed_name; ?></title>
  14.  
  15.     <link><?php echo $feed_url; ?></link>
  16.     <description><?php echo $page_description; ?></description>
  17.     <dc :language><?php echo $page_language; ?></dc>
  18.     <dc :creator><?php echo $creator_email; ?></dc>
  19.  
  20.     <dc :rights>Copyright <?php echo gmdate(«Y», time()); ?></dc>
  21.     <admin :generatorAgent rdf:resource=«http://www.codeigniter.com/» />
  22.  
  23.     <?php foreach($posts->result() as $entry): ?>
  24.    
  25.         <item>
  26.  
  27.           <title><?php echo xml_convert($entry->post_title); ?></title>
  28.           <link><?php echo site_url('blog/post/' . $entry->url_title) ?></link>
  29.           <guid><?php echo site_url('blog/post/' . $entry->url_title) ?></guid>
  30.  
  31.           <description><![CDATA[
  32.       <?= str_replace('/img/post_resources/', base_url() . 'img/post_resources/', $entry->post_body); ?>
  33.       ]]></description>
  34.       <pubdate><?php echo date ('r', $entry->post_date);?></pubdate>
  35.         </item>
  36.  
  37.     <?php endforeach; ?>
  38.    
  39.     </channel>
  40. </rss>

В шаблоне я использовал PHP функцию echo для вывода строки «<?xml version="1.0"?>» , т.к. интерпритатор мог воспринять «<?» и «?>» за открывающиеся и закрывающиеся тэги PHP.
И наконец строка:

PHP:
  1. <?= str_replace('/img/post_resources/', base_url() . 'img/post_resources/', $entry->post_body); ?>

которая с помощью функции замены строк str_replace преобразует относительные пути к изображению в абсолютные.

Вот так всё оказалось просто. :)

Далее

Добрый Бобр в FeedBurner

На официальном русскоязычном блоге FeedBurner'a появиласть новость о том, что сервис закладок Бобрдобр опубликовал свой модуль FeedFlare. Теперь пользователи FeedBurner могут добавить в свои фиды кнопку «забобрить!». Читатели вашей RSS-ленты, использующие БобрДобр будут одним движением сохранять ссылки на ваши статьи. Осталось, чтобы остальные  русские сервисы закладок поддержали эту тенденцию...

Далее

Поделись своей историей Gmail.com

Сегодня Google предложил рассказать свою историю о Gmail. Это может быть просто забавный случай связанный с почтовиком или пример его необычного использования представленный в виде видео файла. Я так подозреваю самые интересные истории получат новогодние призы от Google. В качестве примера можно посмотреть историю разработчиков Gmail:

Далее

Языковый процессор

Попал по ссылке на хабре на сайтик с рекламой нового языкового процессора (наверняка пробовали подобные программы, где вводится текст, а компьютер затем его читает). В качестве пробы можно ввести фразу размером не более 200 символов. Честное слово я не ожидал такого качественного чтения, вам стоит заглянуть и послушать своими ушами. Можно представить какие возможности открываются с таким мощным движком:

  • наконец то слепые люди смогут реально пользоваться интернетом и не мучится разбирая невнятные мямленья движков прошлого поколения
  • представьте какие замечательные mashup'ы можно придумать
  • новый тип рекламы на сайте, уж не знаю плюс это или минус, но в скором времени зайдя на сайты вы будете слушать рекламную болтавню :)

С помощью этого движка я приготовил небольшое представление своего блога и повесил в шапке страницы, жалко что пока отсутствует русский язык, но и на английском звучит тоже ничего :) Как вариант еще одно применение нового движка.

Далее