Page Nav

HIDE
HIDE
GRID_STYLE

Gradient Skin

Gradient_Skin

Pages

rufact


26 янв. 2012 Доделал RSS на сайте

Сегодня была проделана работа по внедрению RSS потока на сайт Интересности. Выглядит все это как-то так
http://interesnosti.16mb.com/main/rss/feed_rss.php

28 янв. 2012 Доделал систему навигации

Сегодня доделал систему навигации для сайта интересности. Теперь нет никакого мусора, никаких битых ссылок и прочего барахла. Все тихо и спокойно работает :)

8 февр. 2012 Установил плагин shadowbox

Решил использовать плагин shadowbox.js вместо устаревшего простого открытия в новом окне

23 февр. 2012 Стиль сайта

Закончил работу над стилем сайта. CSS3 работает на полную катушку. Трансформация, масштабирования, тени блоков и текста и плавные градиенты

1 мар. 2012 Подключил phpmorphy

Решил использовать для поисковых запросов библиотеку phpmorphy. Эта библиотека морфологического анализа написанная на PHP.

2 мар. 2012 Опять PRO дизайн

На этот раз решил не заморачиваться с дизайном и построить на подобие "листков заметок". В идеале все должно обрабатываться через child из jquery

5 мар. 2012 Выделение слова поискового запроса

При поисковом запросе важно чтоб посетитель четко видел результаты своего поиска. Для этого пришлось поработать с регулярками и сделать выделение текста. В будущем, планируется изменение жирного шрифта на изменение заливки слова

6 мар. 2012 Доделал стиль для ShadowBox

Взял немного стиля из ВК, из Хабра и еще пары сервисов

11 мар. 2012 Добавил кнопку "вверх", и доделал стиль для input

Кнопка вверх. При нажатии, происходит скроллинг к началу страницы. Работает на всех браузерах, вплоть до IE 5. На чистом JS. Использовал scrolltopcontrol.

Наконец-таки доделал стиль для кнопок input. Пришлось порядком переписать код, изменил уже устаревший вариант
text-indent: -9999px;

На более продвинутый, о котором узнал на хабре
 text-indent: 100%;
 white-space: nowrap;
overflow: hidden;

Предполагается, что при таком стиле кнопки никогда не смогут выехать к границе экрана. Так что, к мониторам over 9000px в ширину, я уже готов :)

14 мар. 2012 Про стиль для футера

Кардинально изменил стиль футера.
Привязал его к низу экрана, убрал ненужную прозрачность, сменил шрифт.


Так выглядит стиль при наведении мыши

16 мар. 2012 Отслеживание данных пользовательской деятельности

Сперва выбор пал на создание отдельной таблицы для MySql, в которой хранились ip адреса. Но этот выбор оказался со множеством недостатков. На данный момент используется протокол ipv4, который морально устаревает на глазах. Моя версия Php плохо работала с протоколами ipv6. А вместе со слабым mysql на сайте эта затея оказалась слишком затратной. К тому же сейчас стараются экономить на адресах пользователей и давать либо динамические адреса, либо через прокси юзать один адрес.
По этому пришлось присмотреться к cookies. На первый взгляд решение было очевидным - использовать cookies где угодно. Но реальность оказалась слишком суровой. Многие пользователи стараются выключать cookies, другие удаляют, третьи могут постоянно менять браузеры. Ну и к тому же место под cookies очень ограниченное - около 4кб.
Оставалось два варианта - web sql и local storage.
Web sql - отличная вещь, к тому же большинство браузеров уже умеют с ними работать. Но после просмора сайта W3C - узнал, что рекомендация одна - не использовать его.
Для отслеживания пользовательской деятельности на сайте решил использовать localStorage. Это локальное хранилище данных, созданное специально для HTML 5 и имеющая множество достоинств, таких как - увеличенный объем хранилища (на разных браузерах варьируется между 5мб до 10мб), полное взаимодействие с javascript.
Opera 11+, IE 8+, Firefox 4+ уже умеют работать с localStorage. Самое сложное оказалось подружить его с php через ajax. Т.к. local Storage это клиентский инструмент, я не нашел ничего удобнее чем при помощи jQuery передавать данные на сервер, который генерировал и выдавал мне нужный id.
В конечном итоге, пришлось писать также и поддержку Cookies - мало ли что. Объем кода оказался не большим. А вот тестирование с незнакомой технологией всегда идет на пользу.

20 мар. 2012 Установка Google Analytics

Сегодня с успехом прикрутил к сайту данные от Google Analytics



Вот скрин того, что получилось
Но в дальнейшнем, думаю, придется переделать под графики написанные для HTML5. Уж больно я не люблю этот flash.

6 апр. 2012 Гугл гаджет

Гаджет устанавливается на панель iGoogle.
Установить можно тут


9 апр. 2012 Yandex Виджет

Случайный факт

Случайный факт в вашем Яндексе

добавить на Яндекс    


10 апр. 2012 Завершил создание "Интересных фактов"

Главное

Итак, спустя около 3 месяцев работы в свободное время, завершил создание interesnosti.16mb.com сайта. Первый мой проект на PHP получился достаточно интересным.

Решения

При создании были использованы достаточно технологичные решения как:
  • морфологический разбор слова с помощью библиотеки phpmorphy
  • RSS Atom рассылка
  • html 5 и css 3 отвечают за плавное появление и другие эффекты без использования javascript
  • jQuery
  • VKApi - одновременный постинг текста на серверы вконтакта и собственно на сайт, а также считывание лайков с высокой периодичностью
  • shadowbox - открывает iframe страницу с включенными скриптами социальных сетей и закладок. Это позволило уменьшить главную страницу в размере на, около, 400 кб.
  • amcharts.com отображает графики с Google Analytics, причем данные обновляются каждый день.публичная страница http://vk.com/rufact
    гаджеты для Yandex и Google
гаджеты для Yandex и Google


13 апр. 2012 Купил домен rufact.info

Специально для интересностей, купил доменное имя rufact.info

22 июн. 2012 Что означает "плохо протестировал"

Итак, прошло около 2 месяцев спустя выкладывания interesnosti.16mb.com.

В день на сайте от 3-7 человек!

И как назло нашлась ужасно дебильная моя ошибка - все из-за плохого тестинга (было бы лучше, если хостинг предлагал возможность работать с удаленной mySQL базой не только через свой домен).
Сам я вообще-то не нахожу факты, их просто парсит "мудренный" скрипт при помощи библиотеки simple_html_dom.

Ну а проблема в следующем - скрипт не кидает в БД различные строки в ANSII кодировки. Думаю, проблема в следующей регулярке на PHP, либо в дурацкой поддержки UTF-8 на PHP 5.3.

PHP код

function DelTags($text) {
    $text = strip_tags($text);
    $text = preg_replace("/&\S+;/i", "" ,$text);
    $text = trim($text);
       
    return $text;
}

function GetFacts($siteurl) {
    $html = file_get_html($siteurl);
    $str;
   
    switch ($siteurl) {
        case "http://www.censored.ru/" : {
            $txt = $html->find('div[id=main] #content');// находим факт   
           
            //Проверка
            if($txt != "")
            {
                $str = DelTags($txt[0]);
            }
        } break;
           
        case "http://www.censored.ru/random/" : {
            foreach($html->find('small, span, br, a, .share') as $tmp)
                    $tmp->outertext = ''; //удаляем мусор    
                      
            $txt = $html->find('.fact h1', 0)->innertext;// находим факт
              
            if($txt != "")
            {
                $str = DelTags($txt); 
            }         
        } break;
     
        default: break;
    } 
   
    // подчищаем за собой
    $html->clear();
    unset($html);
   
    return $str;
}
Результат позорной работы скрипта :(

P.S. В любом случае переделывать скрипт лень, лето, как-никак :D
P.S.S Хорошо что хоть на Vk группе постится все нормально (однако в этой группе до сих пор 0 человек :))