Сегодня 2 апреля, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7283
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Заметки вебмастера самоучки
Заметки вебмастера самоучки
Голосов: 1
Адрес блога: http://neverlex.com
Добавлен: 2010-11-08 20:17:13 блограйдером lexnevermind
 

Эстафета «Твоё идеальное утро рабочего дня»

2011-08-18 13:28:11 (читать в оригинале)

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

Почему утро так важно

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

Утро сильно влияет на весь день. Помните выражение «встал не с той ноги»? Вставайте с «той» ноги и хороший день вам обеспечен.

Моё идеальное утро

Представь…

В 8.00 (можно и в 7.00) звонит будильник, но по привычке ты просыпаешься чуть раньше. Почему? Во-первых, ты выработал привычку и твой организм привык вставать в это время. Во-вторых, ты хорошо выспался, так как вовремя лёг спать и не употреблял вчера алкоголя. В-третьих, хочется немного пошалить со своей второй половинкой.

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

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

Снова возвращаешься в свою комнату, включаешь весёлую, драйвовую музыку и делаешь утреннюю зарядку. Разминка, растяжка, отжимания от пола, пресс.… Всё, чтобы разогнать по телу кровь и почувствовать свои мышцы. И, конечно же, получить свою дозу эндорфина.

Зарядку можно заменить пробежкой или сексом. С точки зрения выработки эндорфина это даже лучше. А можно вообще чередовать эти методы поддержания себя в форме и поднятия настроения. Разнообразие это отлично.

После спорта сразу в душ. Ведь ты вспотел, верно? ;) Если же совсем не вспотел, то видимо что-то неправильно делаешь. Занимайся активней или просто увеличь нагрузки. Например, сделай несколько подходов (я про отжимания, а ты что подумал?).

Освежившийся и довольный разминкой ты готовишь завтрак. Или завтрак уже приготовлен твоей девушкой. Второе естественно приятней. Утром ты конечно ешь что-то питательное и полезное. Например, овсяную кашу с котлетой или омлет с салатом, сыр, хлеб. И обязательно немного фруктов или орехов.

Далее ты неспешно поглощаешь завтрак за просмотром (или прослушиванием) развивающего видео (аудио). Например, можно смотреть замечательные лекции с конференции TED. Вот список ссылок на некоторые из них.

Осталось только выпить свой утренний кофе (или чай) с гренками или выпечкой. Теперь грядущие дела будут делаться с лёгкостью и уверенностью в себе. А значит – тебя ждёт успех!

Присоединяйся

Предлагаю и вам пофантазировать на тему предрабочего утра. Передаю эстафету:

  • Руслану Гилязетдинову aka Ma3oBblu
  • Андрею aka ZeroXor
  • Максиму Шихалю aka Monah
  • Алексею aka Buduguru

Полезные ссылки

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

С уважением, Алексей Опанасенко aka Never Lex.
Автор блога Заметки вебмастера самоучки



Пишем простейший ротатор рекламы для своего сайта

2011-08-12 09:44:55 (читать в оригинале)

Некоторые наверно заметили, что я решил прикрыть свой эксперимент по монетизации блога и страничка рекламы нынче висит просто для проформы.

Сейчас вместо последних постов из блогов рекламодателей висят мои собственные объявления, рефки и ссылки на свои проекты. Место теперь только одно и оно не продаётся.

Для этого пришлось немного переписать скрипт для вывода объявлений. Точнее сделать его намного проще.

Итоги и причины закрытия эксперимента по монетизации

Считаю эксперимент довольно удачным. Было набрано два десятка рекламодателей и получено 100 долларов прибыли, что уже по сути приятно. Немногие конечно заинтересовались необычным видом рекламы, но такие были. Что тоже очень приятно.

А прикрываю я прямую монетизацию по таким причинам:

  • Я пишу только тогда, когда мне этого хочется. Поэтому наблюдаются серьёзные перепады посещаемости. Рекламодателям это не понятно и неприятно.
  • Свои проекты рекламировать выгодней. Один переход залётного сеошника по ссылке на список бирж для покупки ссылок может принести неплохой пассивный доход сразу в нескольких сервисах.
  • Можно давать объявления об обмене электронной валюты или поиске исполнителей. А также другой мелочи.

Далее займёмся технической стороной вопроса.

Пишем ротатор объявлений на PHP

Наш скрипт ультрапрост. Он достаёт из БД рандомную ссылку, втыкает её в шаблон и выводит в нужном месте сайта. И всё.

Для начала создаём таблицу promo в базе данных MySQL. В ней мы будем хранить наши объявления. Полей по минимуму: идентификатор, статус (на всякий случай) и элементы ссылки.

CREATE TABLE IF NOT EXISTS `promo` (   `id_promo` smallint(6) NOT NULL AUTO_INCREMENT,   `url` varchar(255) NOT NULL,   `title` varchar(255) NOT NULL,   `anchor` varchar(255) NOT NULL,   `status` tinyint(1) NOT NULL,   PRIMARY KEY (`id_promo`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Затем загружаем на хост библиотеку MSQL.php. Это драйвер БД – прослойка между голыми SQL запросами и разработчиком. Используйте любой ORM или не используйте вообще. Дело ваше.

Также создаём 3 файла: C_Promo.php, M_Promo.php, Promo.tpl.php. Модель (библиотека), контроллер и представление (шаблон).

В C_Promo.php пишем код:

<?php// Контроллер вывода объявленияinclude_once dirname(__FILE__) . '/M_Promo.php';$mPromo = M_Promo::Instance();$links = $mPromo->GetRandomPromoLinks(1);foreach ($links as $link){   ob_start();   include dirname(__FILE__) . '/Promo.tpl.php';   $ads[] = ob_get_clean();}

В M_Promo.php пишем класс M_Promo и вставляем единственную функцию:

// Выбор рандомных объявленийpublic function GetRandomPromoLinks($quantity){   $t = "SELECT * FROM promo WHERE status = 1 ORDER BY rand() LIMIT %d";   $query = sprintf($t, $quantity);   $result = $this->msql->Select($query);   return $result;}

Знаю, что ORDER BY rand() не оптимальное решение для выбора случайной строки, но таблица у нас будет небольшая. Поэтому разницы в скорости мы не почувствуем. Разве что на реально нагруженном сайте.

Теперь осталось только оформить шаблон вывода объявления Promo.tpl.php. Например так:

<div class="ads"><? if ($link['url']): ?><a href="<?= $link['url'] ?>" title="<?= $link['title'] ?>"><?= $link['anchor'] ?></a><? else: ?><?= $link['anchor'] ?><? endif; ?></div><span class="invite">Объявление. Купить нельзя.</span>

Если у объявления нет урла, то будет выводиться просто текстовая строка. Иначе полноценная ссылка с тайтлом и анкором.

Теперь у нас есть микродвижок для вывода объявлений из БД. Как они туда будут попадать – дело ваше. Либо пользуйтесь ультрасовременной и удобной админкой PhpMyAdmin, либо пишите свою, либо допишите механизм публикации объявлений за деньги (если хочется не только свои объявления крутить).

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

Например, можно даже не заморачиваться с кликами и показами. Пусть рекламодатель оплачивает размещение за время размещения объявления.

Для этого нужно или добавить в таблицу пару полей (и проверку по дате при выборке объявлений из БД) или просто удалять раз в месяц все объявления (пару строк кода).

Вставка объявления на сайт

Осталось только вставить код (пути к файлам корректируйте исходя из своей структуры). Его не обязательно вставлять непосредственно перед выводом. Можно просто вставить в начале файла.

include_once dirname(__FILE__) . '/../../promo/C_Promo.php';

На место чудесного появления объявлений вставьте переменную $ads[0].

Как вы заметили, объявлений на странице может быть несколько. Для их вывода используйте номера элементов массива $ads[0], $ads[1], $ads[2] и т.д.

Если не заморачиваться с ООП и MVC, то весь движочек можно поместить в один небольшой файл. Получится примерно так:

<?phpinclude_once dirname(__FILE__) . '/MSQL.php';$msql = MSQL::Instance();// Выбор рандомных объявленийfunction GetRandomPromoLinks($quantity){   $t = "SELECT * FROM promo WHERE status = 1 ORDER BY rand() LIMIT %d";   $query = sprintf($t, $quantity);   $result = $msql->Select($query);   return $result;}$links = GetRandomPromoLinks(1);foreach ($links as $link){   ob_start();   include dirname(__FILE__) . '/Promo.tpl.php';   $ads[] = ob_get_clean();}

Ещё упростить скрипт можно, просто убрав MSQL драйвер, и написав обработку запроса в скрипте. Шаблон также можно внести в файл. Нет предела упрощению в общем.

Подключаться уменьшенный вариант будет точно также.

P.S.

Точно также можно крутить не только текстовые ссылки, но и баннера.

P.P.S.

Если общественности будет интересно, то выложу также код скрипта для вывода ссылок на последние посты из RSS лент.

Новости

Скрипт корзины обрёл сегодня механизм псевдорегистрации (запоминания покупателей), систему накопительных скидок и экспорт заказов в 1С. Можете посмотреть прямо сейчас варианты корзины jCart и сразу же оформить заказ.

С уважением, Алексей Опанасенко aka Never Lex.
Автор блога Заметки вебмастера самоучки



Полезная игра «Бросаем курить вместе»

2011-08-10 13:31:31 (читать в оригинале)

Сегодня поговорим об интересных методах самосовершенствования. Как с помощью игры и веселья избавляться от вредных привычек. Рассмотрим подобные игры на примере курения.

В последнее время мы живём втроём – мой друг (Паша), моя девушка (Таня) и я. У нас отличный балкон, не захламленный мусором и шмотками. На котором летом очень приятно находиться и конечно приятно с утра покурить под вкусный кофеёк.

А ещё была череда всяческих поводов и событий (например, моё двадцатисемилетие), которые сопровождались различным алкоголем. А там где алкоголь, неподалёку и сигарета. Трубку курить не удобно, а сигаретку выкурить по быстрому приятно.

Так и получилось, что все мы начали покуривать сигареты – кто больше, кто меньше. Но ситуация была во время взята под контроль. И конечно был разработан план по избавлению от этой вредной привычки.

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

Правила игры

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

Первые две недели действует ограничение – 5 сигарет в сутки. На третью неделю – 3 сигареты. На четвёртую (надеюсь, последнюю) – одна. Превышение данного лимита карается штрафом в 5 гривен (0,625$) за каждую сигарету.

На балконе можно выкурить только одну сигарету в сутки в течение первой недели. Потом курение на балконе недопустимо в принципе. Превышение данного лимита карается штрафом в 10 гривен (1,25$) за каждую сигарету.

Все штрафы идут банк. Банк в конце недели забирает тот, кто не выкурил за неделю ни одной сигареты. Если таковых нет, то деньги идут на общие полезные нужды – например, питание.

Вероятные вопросы

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

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

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

Чем полезна данная игра

Учит вести учёт, рассчитывать свои ресурсы (в данном случае сигареты), планировать их потребление, дисциплинирует, учит относиться к ресурсам с уважением.

Существенно сокращает расходы. Неконтролируемое курение сильно бьёт по карману, т.к. сигареты сейчас совсем недешевы.

Избавляет от вредной привычки. Думаю, все согласятся, что курение вредно для здоровья. Особенно учитывая какой шлак пихают в сигареты.

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

Ход эксперимента

Игра началась в понедельник 08.08.2011 и пока протекает вполне успешно. Никто не выходит за рамки. Я вообще курю по одной сигарете в день.

Здесь (в этом же посте) я буду писать и дальше о результатах – сколько денег в банке к концу недели, что интересного произошло за неделю.

P.S.

Все вышеперечисленные правила не касаются других видов курения. Поэтому трубку я курить не перестану. Это намного безопасней, вкуснее и качественней. Даже дешевле. К тому же я обычно курю трубку 1 раз в неделю, что даже вредной привычкой назвать нельзя.

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

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

С уважением, Алексей Опанасенко aka Never Lex.
Автор блога Заметки вебмастера самоучки



Особенности трёх сервисов бесплатных вебинаров для русскоязычных пользователей

2011-07-22 11:33:50 (читать в оригинале)

Я уже затрагивал тему сервисов для проведения вебинаров в статье «Хороший сервис для проведения онлайн семинаров». В ней я рассказал читателям о, тогда ещё не очень известном, сервисе Wiziq.Com. Сегодня эту тему в гостевом посте продолжит Сергей Дубров.

Гостевой пост Cергея Дуброва - автора блога «Как создать сайт самому - блог преподавателя ВЕБ дизайна».

Любите учиться? С развитием интернет-технологий, у вас появилась новая возможность - вебинары. Это тот же семинар, но не нужно никуда ехать, и даже платить деньги. Есть много сервисов с большим количеством бесплатных вебинаров. Но «не все йогурты одинаково полезны». В этой публикации я кратко опишу особенности 3-х сервисов бесплатных вебинаров для русскоязычных пользователей.

WizIQ.com

Сервис wiziq.com

Сервис имеет только английский интерфейс, но позволяет делать анонсы и проводить вебинары на русском языке. Для учеников есть возможность поиска по сайту.

Сервис требует бесплатной регистрации. Если вы это уже сделали - можете получать предварительные напоминания о вебинарах, которые выбрали для посещения. Можете в процессе вебинара беседовать с ведущим не только в чате, но и голосом, если он включит вам микрофон.

Можно подписываться на новые вебинары конкретного ведущего, написать отзыв, стать членом социальной сети сервиса.

Если вы пропустили вебинар, вам, скорее всего, будет доступна его запись. Видеозапись вебинара можно также скачать в виде EXE - файла.

Базовый функционал дает ведущим много возможностей, «за денюшку» их будет ещё больше. Увеличивается дисковое пространство для материалов, число записанных вебинаров, возможность рекламы для «релевантных» участников соц. сети сервиса.

Русскоязычных вебинаров немного, хотя потенциал и функционал для ведущих очень большой. Мне показалось немного утомительным подготовка описаний к материалам вебинара. К каждой презентации, картинке или видео - нужно добавить не менее 200 символов описания.

Ещё минус - вебинары, названные кириллицей, находятся плохо. Но, в целом, индийцы (разработчики) - молодцы!

Успел записать несколько вебинаров: http://www.wiziq.com/videotutor.

OnWebinar.ru

Сервис On Webinar

Только русскоязычный сервис. Странно, что весь интерфейс с выбором и информацией по вебинарам сделан полностью на Flash. Как это сказывается на индексации описаний поисковиками - не знаю, подозреваю - никак, в смысле не индексируются.

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

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

Ещё из плюсов - есть много вебинаров, что не требуют предварительной регистрации. Заходи и смотри.

http://onwebinar.ru/

GeniRoom.com

Сервис Geniroom

Молодой, но бурно развивающийся сервис. Двуязычный. При регистрации, в настройках профиля, укажите русский, как язык интерфейса.

Есть много записей состоявшихся русскоязычных вебинаров. Хорошее качество трансляции видео и аудио. Для закачки презентаций лучше использовать PPT (не PPTX), до 5 Мб «весом».

Питерцы - создатели сервиса «не подкачали» и сделали все нужные социальные функции:

  • подписка на ведущего,
  • напоминания о старте вебинара за час до начала,
  • возможность оценить качество вебинара и видеть его рейтинг.

Очень хорошее качество записи - но скачать её нельзя, а только посмотреть он-лайн. Но можно скачать материалы к вебинару - презентации и картинки.

Сервис использую активно, провел несколько своих вебинаров для начинающих ВЕБ мастеров: http://geniroom.com/users/11007

Разработчики обещают, в скором времени, ещё много интересных и полезных «фич».

На блоге открыл целую рубрику, где описываю свой личный опыт проведения вебинаров на этих сервисах.

С уважением, Алексей Опанасенко aka Never Lex.
Автор блога Заметки вебмастера самоучки



Универсальные PHP функции

2011-07-18 19:33:38 (читать в оригинале)

Сегодня хочу поговорить немного об универсальных функциях. В данном случае это касается PHP.

Как всегда тема статьи выходит из проблемы, которую я в своё время решал, а теперь хочу поделиться решением со своими читателями.

Итак, проблема. Пишете вы скрипт, в котором должно присутствовать множество сущностей (статьи, товары, категории, заказы и т.д.). Конечно, как грамотный программер, вы разобьёте модели сущностей на классы и приметесь писать для них методы. Получится кучка файлов (M_Articles.php, M_Products.php, M_Categories.php, M_Orders.php).

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

Можно конечно прописать их для каждой сущности отдельно. Например, GetAllProducts() и GetAllArticles(), GetArticleById() и GetProductById(). Но есть ли в этом смысл? Я предпочитаю написать специальный класс универсальных методов M_DB.php.

Это будет библиотека стандартных функций, которые принимают название таблицы в качестве параметра.

Для корректного использования этого метода следует следовать определённым правилам:

  • называть таблицы в единственном числе (order, product, article, category)
  • называть идентификатор таблицы как название таблицы с приставкой id_ (id_order, id_product, id_article, id_category)
  • ввести поле code, если хочется часто обращаться к элементам по внешнему коду (хотя это не обязательно, ведь мы можем обращаться к элементами по любому параметру)

Это позволяет использовать приведенные ниже функции и не повторять одинаковые функции для каждой сущности.

Универсальные функции

Далее просто привожу список некоторых используемых мной функций. Прошу комментировать и критиковать :)

Чтение всех элементов из базы

public function GetAllItems($table){   $query = "SELECT * FROM $table";   return $this->msql->Select($query);}

Выбор элемента по идентификатору

public function GetItemById($table, $id_item){   $t = "SELECT * FROM $table WHERE id_$table = '%d'";   $query = sprintf($t, $id_item);   $result = $this->msql->Select($query);   return $result[0];}

Выбор элемента по внешнему коду

public function GetItemByCode($table, $code_item){   $t = "SELECT * FROM $table WHERE code = '%s'";   $query = sprintf($t, mysql_real_escape_string($code_item));   $result = $this->msql->Select($query);   return $result[0];}

Выбор элементов по параметру

public function GetItemsByParam($table, $param, $value){   $t = "SELECT * FROM $table WHERE $param = '%s'";   $query = sprintf($t, mysql_real_escape_string($value));   $result = $this->msql->Select($query);   return $result;}

Удаление элемента по идентификатору

public function DeleteItemById($table, $id_item){   $t = "id_$table = '%d'";   $where = sprintf($t, $id_item);   $this->msql->Delete($table, $where);   return true;}

Удаление элементов по параметру

public function DeleteItemsByParam($table, $param, $value){   $t = "$param = '%s'";   $where = sprintf($t, mysql_real_escape_string($value));   $this->msql->Delete($table, $where);   return true;}

Генерация пагинации (разбивка на страницы)

Отдаёт массив с общим количеством страниц, позицией начального элемента, значением текущей страницы

public function Paginate($table, $page, $num){   // Находим общее количество элементов   $query = "SELECT COUNT(*) as count FROM $table";   $result = $this->msql->Select($query);   $items = $result[0]['count'];   // Если записей нет, то отдаём false   if (empty($items))      return false;   // Находим общее количество страниц   $total = (($items - 1) / $num) + 1;   $navi['total'] = intval($total);   // Находим начальный элемент   // Если значение текущей страницы больше максимального или меньше нуля, то отдаём false   $page = intval($page);   if (empty($page) or $page < 0)      return false;   if ($page > $total)      return false;   $navi['start'] = $page * $num - $num;   // Сохраняем также в массив текущую страницу   $navi['page'] = $page;   return $navi;}

Выбор списка элементов с пагинацией

На основании результата работы прошлой функции выбираем элементы из таблицы.

public function GetPaginatedList($table, $start, $num){   $t = "SELECT * FROM $table ORDER BY id_$table DESC LIMIT %d, %d";   $query = sprintf($t, $start, $num);   return $this->msql->Select($query);}

Такие вот функции. Что думаете по этому поводу?

Конечно, указанные функции предполагают наличие специальной модели (прослойки) для работы с MySQL. Но мы то давно не пишем сами SQL запросы в функциях. Верно? :)

Обмен ссылками

Ильшат написал про советы интернет инвесторам. Я и сам собираюсь заняться инвестированием, потому подобные статьи мне интересны.

С уважением, Алексей Опанасенко aka Never Lex.
Автор блога Заметки вебмастера самоучки



Страницы: ... 21 22 23 24 25 26 27 28 29 30 31 32 33 

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.