user-avatar
Today is Четверг
23.02.2012

Category: Веб разработка

19.09.2011

Использование REDIS и Redis php library. Часть 2 – использование библиотеки.

by admin — Categories: Веб разработка — Tags: , , , , , , 1 Comment

Далие следует рассказать про ключ значение. Для работы с redis используется понятие

«Ключ=>значение» как ассоциативный массив. Где ключём является не кий виртуальный массив данных (значений). Представьте себе таблицу

Ключ Значение 1
Значение 2
Значение 3
…..
Значение n

Существует несколько разных типов ключей.

  • Strings
  • Lists
  • Sets
  • Sorted sets
  • Hashes

Самый простой типа это Strings.

Ключ значения которого это просто строки или много строк.

//определим настройки соединения с сервером$options = array(

‘namespace’ => ‘Application_’,

‘servers’ => array(

array(‘host’ => ’127.0.0.1′, ‘port’ => 6379)

)

);

include_once («Rediska.php»); //подключаем библиотеку

$rediska = new Rediska($options);

$key = new Rediska_Key(‘time’);// так мы определим ключ с именем ‘time’

$time = time();

$key->setValue($time); //так мы запишем значение в ключ

echo $key->getValue(); // вывод текущего значения ключа

Замечу что если повторно выполнить запись в ключ setValue то значение перезаписывается.

И работать с данными в таких ключах стоит как со строковыми переменными.

 

Далее рассмотрим пример работы с типом Lists (списки)

$list = new Rediska_Key_List(‘list’); // так мы определим ключ с именем ‘list’

$list->append(‘Apple’);

$list->append(‘Orange’);

Добавляем вконец списка сначала элемент ‘Apple’ затем ‘Orange’

$newarray = $list->toArray(true); //Если установлен параметр в true это означает,

что массив будет иметь итератор

Далее мы можем работать с массивом и удалять элементы из списка.

foreach($newarray as $key=>$item){

$list->remove($item->value); //Таким образом мы удалим все элементы списка

}

Рассмотрим пример работы с типом ключей Sets и Sorted sets

Этот тип особенно интересен так как мы можем использовать так называемые индексы значений

более-ммение в полной мере. Предположим что нам нужно хранить время входа пользователя на сайт.

Создадим сет и будем поочерёдно добавлять логин пользователя и время в формате unix timestamp.

$users = new Rediska_Key_Set(«sets»);

$users->add(‘Alexandr’,time());

$users->add(‘Oleg’,time());

$users->add(‘Ivan’,time());

Таким образом мы сформируем список пользователей с дополнительным полем – индексом в

нашем случае меткой времени.

Теперь допустим нам нужно удалить из сета пользователей. $rows = $users->toArray(true);

foreach($rows as $key=>$item){

$users->remove($item->value); //Таким образом мы удалим все элементы списка

} //Теперь рассмотрим пример удаления пользователей с использованием индекса в нашем случае метки времени.

foreach($rows as $key=>$item){

$users->removeByScore(1258125887,1258135887); //Сдесь укажем диапазон если нужен один пользователь и мы знаем время то укажем 2 одинаковых значения

}

Отличие таких ключей от Sorted sets ключей в том, что в сортированных сетах есть сортировка по полю score Это полезно при выводе данных которые должны быть отсортированы по индексу.

Теперь рассмотрим тип ключей Hashes. Эти ключи подобны ассоциативным массивам в PHP.

$user = new Rediska_Key_Hash(‘user’);

$user->set(array(‘Name’ => ‘Alex’, ‘lastName’ => ‘Ivanov’, ‘viewed’ => 1));

$user->set(array(‘Name’ => ‘Oleg’, ‘lastName’ => ‘Petrov’, ‘viewed’ => 0));

//Так мы добавим массив в данный сет // показать такие данные можно через обычный цикл

foreach($user as $field => $value) {

print «$field => $value»;

}

Все возможные методы можно посмотреть сдесь

ЧАСТЬ 1 Использование REDIS и Redis php library

06.09.2011

Монетизация сайта

Уже много мегабайтов страниц исписаны принципами и методами монетизации своих сайтов. А именно тем как заработать на своём сайте используя посетителей и гостей сайта. Я же в не буду исключением и признаюсь, что тоже пробовал разместить рекламу на своём сайте и заработать копеечку.  В первую очередь хочу обратить внимание на то, какими критериями я руководствовался при выборе систем для монетизации.

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

Чем легче система установки рекламного места на ваш сайт, тем более приоритетной должна быть такая система для вас.  Также если у баннерной системы сложная система вывода накопленных финансов то лучше не использовать её.

И так перейдём к конкретике. Все и всюду рекламируют sape.ru НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ЕЁ она не дала прибыли ни разу. Также не ведитесь на гугловую систему google adsense она даёт возможность заработать, но к сожалению вывести деньги очень трудно.

Теперь о том что я бы посоветовал выбрать.

http://www.begun.ru/   очень не плохая система.

Также советую посмотреть в сторону тизерных сетей и тизерных партнёрок.

 

Пока всё на эту тему в будущем обещаю написать подробней про пользу монетизации сайтов у которых количество посетителей меньше 100 в сутки.

25.08.2011

Использование REDIS и Redis php library. Часть 1 – установка.

Redis — документо-ориентированное сетевое журналируемое хранилище данных типа «ключ-значение» с открытым исходным кодом. Хранит базу данных в оперативной памяти, снабжена механизмами снимков для обеспечения постоянного хранения. Имеет библиотеки для работы со многими существующими языками программирования.

По сути своей redis ничто иное как noSQL база данных. Поскольку данные хранятся в оперативной памяти поэтому операции запись/чтение производятся очень быстро видел даже что пишут до 100 тыс. операций в минуту. Правда это или нет доказывать не стану, но одно знаю точно это очень весомая альтернатива mysql базам данных значительно превосходящая по скорости. Естественно для работы с redis-ом было придумано и написано много библиотек в частности для php5. Но для начала я хочу рассказать зачем это нужно и где оно используется.

Допустим мы имеем большой корпоративный сайт со своей сложной структурой, где есть всевозможные списки новостей статей пользователей, чаты или обмен сообщениями и куча всяческих компонетов. Естественно большие корпоративные сайты имеющее множество гигабайтов информации тысячи пользователей  и кучу таблиц в своей базе данных рано или позно сталкиваются с проблемой оптимизации. Особенно если приходится постоянно вытягивать из базы данных сложные запросы с тысячями элементов. В итоге когда данных очень много таблици баз данных перегружены, поисковые запросы выполняются по 30 секунд, а выборки больших списков до 1 минуты, наступает время оптимизировать систему. Некоторые обращаются к файловому Кешу данных. Некоторые до минимализма сокращают запросы переводя динамику в статику и так далее. Но бывают случаи когда данные на странице невозможно кешировать и нужно отдавать динамически в зависимости от действий пользователя причём в большом количестве к примеру списки пользователей или мгновенные сообщения будь то чат или гостевая книга. В таком случае я рекомендую использовать Redis.

 

Установка.

Скачать php библиотеку для работы c  redis вы можете по этой ссылке http://rediska.geometria-lab.net/download/latest. Кстати http://rediska.geometria-lab.net/ это официальный сайт этой библиотеки где русские разработчики пишут почему-то всё на английском. Инcталировать сам сервер под ОС linux очень просто допустим в ubuntu это просто:

 apt-get install redis

Естественно на старнице сайта http://rediska.geometria-lab.net/documentation/get-started/ вы можете увидеть иные способы инсталляции. После того как сервер установлен и запущен вы можете создавать структуру сайта и скопировать в какую либо директорию распакованную библиотеку которая посути выглядит как одна папка с файлами.

Дерево директории может выглядеть вот так.

 

../MyProject/

/Rediska/                  –папка с библиотекой

Index.php

Config.php

Rediska.php               –главный файл библиотеки

Итак нам нужно правильно подключить и настроить библиотеку redis для дальнейшего использования. Допустим пусть вся конфигурация будет описана в файле Config.php который в свою очередь инклудится в index.php.

 

$options = array(
    'namespace' => 'Application_',
    'servers'   => array(
         array('host' => '127.0.0.1', 'port' => 6379)
    )
);

 

include_once («Rediska.php»);

 

$rediska = new Rediska($options);

 

Таким образом мы подключили библиотеку и указали в опциях что сервер находится на адресе 127.0.0.1 порту 6379.(стандартный порт)

 

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

Част ь 2 Использование REDIS и Redis php library

 

 

06.07.2011

Bitcoin как стать продавцом, или обмен монетами

Немножко wiki по теме

Bitcoin

Материал из Википедии — свободной энциклопедии
Bitcoin logo.svg

Bitcoin, Биткойн (англ. bit — единица информации «бит», англ. coin — монета) — электронная валюта, созданная в 2009 году Сатоcи Накамото (англ.)[1].

Это название также относится к программному обеспечению с открытым исходным кодом, созданному им, и одноранговой сети, образованной этой программой. Хранилищем средств является файл кошелька, хранящийся на компьютере. Биткойн может быть отправлен любому пользователю в сети с использованием адреса Bitcoin.

В отличие от других валют, Биткойн не зависит от какого-либо центра, занимающегося выпуском валюты. Данные о перемещении денежных средств хранятся в распределённой БД. Невозможно распоряжаться чужими денежными средствами и потратить одни и те же средства дважды: для обеспечения безопасности используются криптографические методы.

Принцип одноранговой сети и отсутствие административного центра делает невозможным государственное регулирование и манипуляции курсом путём изменения денежной массы. Эмиссия биткойна алгоритмически ограничена. Биткойн предполагает анонимное владение и перевод денежных средств.

Биткойн — одна из первых реализаций криптовалюты, описанной в 1998 году Вэй Дай (Wei Dai) в рассылке шифропанков.

В общем то меня эта идея как-то зацепила решил я зарегистрироваться.

https://www.mybitcoin.com/ Вот собственно сайт где нужно регать кошель ну и свой акаунт.

Система сама по себе гараздо проще чем тот же webmoney или что либо другое. Отправить принять платёж очень просто. Стать продавцом товаров за bitcoin? – проще пареной репы.

Так как в СНГ очень мало сайтов которые проводят платежи с помощью этой системы, в целях продвижения данной темы расскажу как и что делать.

Допустим у вас есть интернет магазин или что либо ещё где вы принимаете платежи за определённые услуги или товары.  Первый вопрос который я бы задал – «Зачем мне это нужно? у меня стабильный доход и без всяких там виртуальных монет».

Отвечаю: bitcoin это дополнительная возможность получать деньги от людей не имеющих доступа  к webmoney подумайте сколько их в Европе и Америке. Ещё плюс в том, что эти самые монеты можно продать на бирже по выгодному курсу.  Ну и самый большой как по мне плюс это реклама вашего сайта. Посудите сами люди имеющие капиталы в этих bitcoin-ах рано или поздно захотят их потратить на разные виды услуг. А сделать пока они могут это не очень ограниченом списке сайтов. Вот тому пример сравниваем https://en.bitcoin.it/wiki/Trade это список сайтов забугром где можно купить услугу за монеты bitcoin, а теперь заглянем в русскую ветку https://ru.bitcoin.it/wiki/Trade Впечатляет списочек да?

Если ещё не дошло почему это выгодно.

Представьте есть гдето в мире казено «РОяль» принимающе от людей в качестве игровой валюты bitcoin. Вот заработали они монет и думают, а куда ж потратить ? А тут ваш сайт принимает платежи в качестве bitcoin по выгодным ценам и допустим продаёт игральные карты.  А это значит, что ваш круг клиентов значительно расширится. К тому же реклама реклама реклама БЕСПЛАТНО. Вы сами разрегестрировав акаунт на этой странице https://ru.bitcoin.it/wiki/Trade внесёте себя в список и будете принимать новых клинетов.

Внимание вопрос «А как потом вывести эти монеты в реальные баксы?» По сути не сложно так как есть много сайтов бирж где можно купить продать биткойны а далее вывести их в реал. Особо углубляться в эту тему не буду, но возможно в следующей статье опишу этот момент.

И так вы уже готовы стать продавцом за bitcoin, но не знаете как настроить эту систему у себя. Итак краткий курс:

https://www.mybitcoin.com/ Зарегестрировали себе акаунт (АНОНИМНО без всяких сканов паспорта и прочих вещей типа подтверждение СМС)

Заходим по ссылочке https://www.mybitcoin.com/login/merchant-tools.php Наблюдаем форму с очень простымы полями.

По сути она даёт возможность вам сгенерить html код который при вставке на страницу отображает кнопку по которой ведётся автоматическая оплата bitcoin. Пример http://hosting99.ru/tarif.html.

Ну собственно и всё, далее если вы разместили кнопку правильно заполнив форму, ваши клиенты нажимая на кнопочку попадают на страничку оплаты платят денежку она попадает к вам на кошелёк bitcoin и их перебросит на страницу сайта указаную в Payment Success URL: при заполнении формы.

Подитожим. При правильном развитии рекламы вашего сайта как трейдера принимающего монеты bitcoin вы получите новый рынок клиентов, незнающих куда девать деньги. Сама тенденция развития этих монет показывает что курс их растёт и будет расти в будущем. Тоесть заработав 2 менеты сейчас по курсу 14.5 $  в скором будущем можно будет продать по курсу 100$. подумайте стоит ли 15 минут времени потратить на установку мерчанта bitcoin на ваш сайт что бы потом заработать. Темболее если стать одним из первых пока эта возможность есть можно занять доминирующие позиции в данной теме.

06.06.2011

Еще немного о SEO

В предидущей статье довольно удачно была освещена тема продвижения и основные факторы этого самого продвижения.В данной статье я бы хотел немного более подробно осветить эту тему для того чтобы вы имели более полное представление о продвижении да и вообще легче было ориентироваться в данной теме.Хочу заметить что в перспективе я бы хотел из данных постов сделать для себя и ,естественно, для Вас   своеобразный справочник.Никому ведь не хочется долго бороздить по просторам интернета в поисках нужной информации.Итак к делу!

Внутренняя оптимизация сайта.

Под этим понятием имеется ввиду доступность всех страниц вашего сайта для быстрого доступа.На практике это значит,что каждая ваша страница вашего сайта или блога должна находиться на расстоянии не дальше 3 кликов от главной страницы.Это нужно для более быстрой индексации сайта поисковыми роботами и просто для удобства вашего читателя.Также желательно чтобы с любой страницы сайта у Вас было 3 ссылки на главную страницу.Не все это соблюдают,но все же считается полезным.А теперь о том как это реализуется. Существует несколько способов. Способ 1 заключается в том,чтобы добавить в меню пункт Главная с переходом на главную страницу или же иметь кликабельную шапку сайта. Способ 2 это сайтбары. Если вы все еще не поняли как реализовать переход на главную с помощью сайтбаров, подсказываю. В сайтбары можно вставлять плагины с перенаправлением на другие страницы сайта. Будь то облако тегов или просто плагин для подбора похожего материала.Для более полного понятия картины я Вам советую прогуляться  по блогам и на примере увидеть как это работает. И наконец 3 способ это ссылки прямо из текста вашего материала. Просто ссылаетесь анкором из вашей статьи на другую вашу статью при удобном случае.Главное не забывайте прописывать ссылке атрибут  title и писать в нем ключевые слова. Для большего эффекта можно повторить ключевое слово в анкоре. Злоупотреблять этим не стоит.Также замечу что ссылки делать лучше в разных местах текста,чтобы поисковик не подумал будто вы это делаете нарочно.

Ну и на последок о смысле правильной внутренней оптимизации.Что это Вам даст?Плюсов она приносит на самом деле много.Во-первых,она задерживает вашего читателя на сайте и помогает ему обратить внимание на другие ваши материалы.Согласитесь ведь чем больше посетитель сидит на вашем сайте,тем лучше Вам. Во-вторых увеличивается скорость и простота индексации вашего сайта,что делает его в глазах поисковых машин более привлекательным.Но тут есть один минус,поисковой робот пройдет по ссылкам и попадет на вашу публикацию несколько раз.А это нехорошо,поисковик может подумать что Вы спамер и понизить Вас в результатах выдаче,чтобы этого не произошло запрещаем поисковику индексировать лишние ссылки. Третья выгода заключается в том,что при грамотной перелинковке  ссылочный вес сайта распределяется (растекается по всем страницам равномерно) и при наращивании веса сайта ссылками ТИЦ будет распределяться между страницами равномерно.Заметьте что только ТИЦ , ибо PR выдается каждой странице отдельно и его к сожалению никак не размажешь.в отличии от Яндекса,который оценивает сайт целиком,Google поступает более умнее и оценивает каждую страницу отдельно.

Хотел бы рассказать и о других факторах,но в рамки одной статьи это похоже не влезет.Так что подписывайтесь на RSS и следите за обновлениями.В ближайшее время планирую осветить еще несколько аспектов этого интересного,но нелегкого дела «Оптимизации» .

07.02.2011

Раскрутка сайта в поисковых системах. SEO оптимизация для начинающих

Раскрутка сайта в поисковых системах.

Перелопатив горы документации и кучи пустых статей, я сделал вывод, что реально точных и нужных указаний никто не публикует. В данной статье я попытаюсь описать всё то нужное, что я узнал и что пригодилось на практике и дало реальный результат.

Изначально хочу отметить такие важные моменты которые влияют на индексацию и рейтинг в поисковиках:

  • Правильные title страниц
  • Транслит-мые url
  • Ключевые слова ко всем материалам (страницам) вашего сайта, а также описание (description)
  • файл sitemap
  • Уникальность контента (хотя бы 80%)
  • Правильность оформления страниц контента
  • Ссылки на ваш сайт со сторонних веб ресурсов
  • Тематический контент
  • Дизайн и скорость работы сайта

(далее…)

© 2012 asad`s page All rights reserved - Wallow theme v0.46.4 by ([][]) TwoBeers - Powered by WordPress - Have fun!