rufact

10 минут(ы) чтения


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

Добавить комментарий