test

Липнущее горизонтальное меню на jQuery и CSS

Приветствую, читатель!

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

test

Рай или "Вселенная 25"

Попалась интересная статейка.


Рай или "Вселенная 25"

Как создать рай? Трудно сказать, по крайней мере, применительно к людям. В 1972 году Джон Б. Калхун попробовал создать рай для мышей: квадратный бак два на два высотой полтора метра. Кэлхун утверждал, что наблюдаемые в экспериментах социальные эффекты перенаселения крыс могут рассматриваться как модель будущего человеческой цивилизации. В своих исследованиях Кэлхун вводит понятие «поведенческая раковина», обозначающее искаженное поведение в условиях чрезмерной популяционной перенаселенности и отклонения от норм поведения. Работы Калхуна получили мировое признание. Он выступал на конференциях по всему миру и работал в разнообразных проектах НАСА, например, в округе Колумбия в проекте по борьбе с переполненностью местных тюрем.

Еда, умеренный климат, чистота, гнезда для самок, горизонтальные и вертикальные ходы для самцов - вот основные черты мышиного рая. В рай отправили четыре пары здоровых породистых мышей. Через 104 дня у них появилось первое потомство. Родители заботились о малышах. Во «Вселенной 25» (так назывался эксперимент) наступил золотой век

test

Генерация своего Sitemap XML и отправка(ping) его на Google и Bing в Kohana 3

Map

Приветствую, читатель!

Сейчас я тебе расскажу как просто и легко генерировать Sitemap XML стандартными средствами PHP, создать задачу для Cron с помощью модуля Minion и отправлять сведения об обновлении Sitemap на Google и Bing. Хух... Описать все это было дольше чем реализовать. Все это будем делать на фреймворке Kohana 3.

Итак, что такое Sitemap?

Sitemaps — XML-файл с информацией для поисковых систем (таких как Яндекс, Google, Yahoo, Ask.com, Bing) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт.
Использование протокола Sitemaps не является гарантией того, что веб-страницы будут проиндексированы поисковыми системами, это всего лишь дополнительная подсказка для сканеров, которые смогут выполнить более тщательное сканирование сайта.
(с) Википедия

Что такое XML вы можете прочитать там же или в других источниках. Если в кратце то это текстовый файл содержащий определенную структуру заключенную в теги(в общем все едино, что HTML, что XML, с небольшими отличиями).

Итак, как говорит Википедия, Sitemap должен...

test

Kohana 3 framework + Smarty 3 = i18n веб сайт

Локализация

И снова приветствую тебя, уважаемый читатель!

Локализация приложения вполне часто может быть необходимой. Тоже дело касается и сайтов. Но одно дело когда на сайте не используется шаблонизатор, другое - когда используется. В моем случае стало необходимостью создать локализацию сайт, за базу были взяты фреймворк Kohana 3 и шаблонизатор Smarty 3.

Небольшой отступ.

Я как и многие другие программеры до поры, до времени не приветствовал использования шаблонизатора, дополнительные прослойки, костыли и прочее, все это как минусы, но когда речь о скорости разработки сайта, удобства верстки и других плюшек, тут все принимает совсем другой оборот. Да и просто тошно иногда всегда и везде видеть PHP код, а так чистый PHP для логики с использованием возможностей фреймворка и разметка Smarty в представлениях.

Вернемся к делу.

Установка шаблонизатора Smarty 3 на Kohana 3.3 у меня вызвала достаточно много проблем, аж пока я не вспомнил про то что начиная с версии 3.3 в Kohana все файлы классов должны начинаться с большой буквы... До этого момента у меня начал сильно закипать мозг и я потратил пару часов времени. Но, если будут пожелания, процесс подгонки модуля Smarty 3 для Kohana 3.3 я напишу отдельной статьей.

Итак, есть как минимум три варианта локализации веб-сайта.

test

eSubscribes версия 0.99a-RC1 для Drupal CMF/CMS

eSubscribes версия 0.99a-rc1

Всего пару багфиксов.

  • Отправка оповещения об новом материале только в том случае если она опубликована. Теперь вы сможете спокойно
    добавить материал и при публикации материала(событие "Обновление ноды") будет отправляться рассылка.
  • Незначительные фиксы в коде.

Что будет дальше?

Дальше будет работа над юзабилити модуля. Все будет приводиться к наиболее удобному использованию. Если у вас есть какие-то пожелания к работе модуля, пишите.

test

Мой переход с MySQL на MariaDB в Debian GNU\Linux

MariaDB Logo

Приветствую, читатель!

Сейчас я расскажу как я легко и быстро перешел с MySQL на MariaDB. Если у вас стоял MySQL то MariaDB подхватит его базы, но на всякий случай лучше все-таки сделайте бекап.
В общих чертах все ну очень просто.

test

Как я ставил Nginx+php-fpm на Debian GNU\Linux вместо Apache2

Привет, читатель!

Pre

Сейчас я опишу процесс как я устанавливал и настраивал связку Nginx+PHP-fpm для использования вместо Apache2 который стоял у меня до того. Естественно ставил я все это на локалхосте, на котором и занимаюсь веб-девом. Процесс не тривиальный и достаточно прост. Более полный мануал на который я ориентировался в описан статье Nginx+php-fpm+perl под Debian Squeeze. У меня же несколько короче и с некоторыми изменениями, в виду того что большую часть настроек майтейнеры пакетов и так уже взяли на себя.

test

eSubscribes версия 0.99a

Приветствую читатель!

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

eSubscribes для CMS/CMF Drupal 7

eSubscribes - модуль подписки на новые материала сайта/модуль подписки на новости сайта.

Что нового

  1. Поправлено меню. Теперь в админ. части Конфигурации вы можете видеть блок eSubscribes и видеть ссылки на нужные части модуля.
  2. Можно темизировать html-шаблон для отправки на email-ы в подпапке дефолтной темы, достаточно создать папку в папке с темой с названием esubscribes и в ней файлик template.html. По сути это тот же обычный html файл в котором нужно просто вывести два тега {subject} и {body}, соответственно тема и тело письма. Так же тот же файл можно скопировать из папки с модулем. Если в папке с темой нет нужного файла, используется файл в папке с темой.
  3. Очень полезная плюшка - настройка инстанса для SwiftMailer, теперь вы в конфигурации модуля можете спокойно настроить использовать вам для отправки функцию PHP mail(), или же использовать SMTP, или команду для локального MTA. Здесь же можно указать использовать SSL, авторизованный доступ к SMTP, ограничения на отправку количества писем в минуту и ограничение на количество переданных байт в минуту.
  4. Поправлена отправка по событию, теперь при наступлении события(добавление/обновление) статьи отправляется шаблонизированное письмо, использующее файлы из п.2. Так же теперь на добавленный материал в письме отправляется ссылка на конкретный материал.
  5. Поправлено удаление рассылки.
  6. Добавлена тестовая отправка на указанный email. Сделано оно для того чтобы вам было проще тестировать работает ли нужный инстанс(PHP Mail(), Sendmail,..) и проверки темизации шаблона.

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

Ссылка на скачивание внутри.

test

Новая версия eSubscribes - модуля подписки/рассылки email новостей/статей

Привет, читатель!

Pre

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

eSubscribes

eSubscribes - модуль подписки на новые материала сайта/модуль подписки на новости сайта.

Скачать модуль можно по ссылке: Ссылка.

Что было сделано:

  • Поправлены несколько багов, включая баг с подпиской/отпиской через блок с счетчиком подписавшихся.
  • Рефакторинг структуры модуля. Модуль разбит на файлы по функциональности
  • Новая возможность. Создание рассылки, выбор материалов для отправления в рассылке. Отправка самой рассылки подписавшимся.

Остальное под катом.

test

Mod-tmp для сессий, или количество свободных нод на диске исчерпалось

low disk space

Привет, читатель моего блога или случайно зашедший!

Иногда бывает такая ситуация, когда папка хранящая сессии заполняется что казалось бы невообразимо большим количество нод на диске исчерпывается и команда du -ih показывает следующую картину:

~# df -ih
Файловая система Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
/dev/md1           5,9M          5,7M      141K            98% /home

Печально выглядит, правда? Для начала освободим место на диске. Так как команда rm -R /path/mod-tmp/* вам не поможет скорее всего, так как само количество в 5М сайтов нагрузит команду так что ее выполнения придется ждать весьма не скоро, если она вообще не выпадет с ошибкой. Так вот

test

Подключаемся к WiFi(WPA2) через консоль в Debian Linux

WiFi

Привет уважаемый читатель!

Надоели в последнее время мне проблемы с wicd и wifi-radar для подключения к Wi-Fi в Linux, и я решил что пора бы подключаться через консоль, минуя все эти надстройки в виде программ для подключения. На самом деле все оказалось еще проще чем я предполагал. И сейчас я покажу как это делается. А тем кому пока не надоело подключатся через программы стоит добавить эту заметку в Избранное, в дальнейшем пригодиться.

Подключаемся к роутеру/точке доступа

Итак, предполагаем что подключение происходит с шифрованием WPA2, так как сейчас это самое популярное и наиболее безопасное решение, чем к примеру устаревший WPA.

test

Drupal 7: пишем собственный модуль подписки на рассылку по Email!

Здравствуй, дорогой читатель!

В этой статье я покажу тебе как создать простой и эффективный модуль подписки на рассылку по Email для CMS Drupal 7, но в принципе все тоже в большей степени можно будет использовать и для других CMS, или даже просто как часть кода собственного проекта с небольшим изменением! Все будет просто и легко для понимания! Не сложный код и комментарии к нему. Ранее я написал статью, которая содержит большую часть присутствующего здесь кода, но... Эта статья полнее и содержит приятные плюшки. Для желающих посмотреть различия - смотреть тут.
Более того, дорогой читатель, в этой же статье ты увидишь еще несколько ссылок на другие статьи, в которых восполнишь или закрепишь часть пробелов в знаниях, а может быть просто увидишь еще одну точку зрения на написание модулей, что тоже не будет лишним! Ведь каждая прочтенная статья расширяет кругозор!

Сам модуль скачать можно по ссылке: eSubscribes
Более свежую версию модуля и описание изменений в его работе смотрите в статье Новая версия eSubscribes - модуля подписки/рассылки email новостей/статей.
Может быть когда-нибудь выложу на Drupal.org, но это будет немного позже.

Итак...

Почему я начал писать этот модуль?

Потому что ни один модуль для Drupal 7 рассылки по email не показался мне удобным, слишком много настроек не понятно для чего, нам же нужен просто удобный модуль, который позволяет:

  1. Подписаться на добавления материалов на сайте
  2. Отписаться с добавления материалов на сайте
  3. Отправлять рассылку при добавлении новых материалов на сайте
  4. Вывести блок подписки/отписки в нужном нам месте

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

test

Zen-kernel или Дзен-ядро для Debian GNU\Linux

Привет, дорогой читатель!

В этот раз я кратко расскажу тебе о замечательной пропатченной сборке ядра, под названием Zen Kernel!

Zen Kernel

Вот поставил вместе с официальными Linux ядрами из дистрибутива так же пропатченое проектом Zen Kernel ядро. Памяти стало кушать меньше и отзывчивость стала больше! Есть ради чего ставить! Ставить ядро нынче легко, не то что в былые седые годы... Хотя я их тоже не застал! Все очень просто, и все так же просто как и с установкой ядра из официального источника, такого как дистрибутив или kernel.org!

Что из себя представляет Zen Kernel?

Zen Kernel - набор патчей на официальное ядро Linux, которые вносит изменения для получения лучшей отзывчивости и производительности системы. Автоматически Zen Kernel получает исходные коды официального ядра через Git и синхронизирует патчи с ним. Так что получаем свежее ядро с патчами от Zen Kernel.
Zen Kernel использует комбинацию нескольких проектов, обновляет код через git-репозиторий, а также имеет несколько специфичных для Zen вещей, стремящихся удовлетворить большинство потребностей пользователей, реализовав их в одном ядре. Некоторые возможности патча: drm-next, wireless-testing, выбор планировщиков CPU (CFS/BFS), BFQ-планировщик ввода-вывода, aufs, unionfs, reiser4, tuxonice, PHC и многие другие вещи, которые замечательно подойдут для оптимизации настольных систем или ноутбуков. Всё это доступно в виде одного патча к ванильному ядру.(с) nixp.ru

Как ставить?

Качай архив с ядром, на текущий момент это версия 3.6.10 и ставишь по стандартному Debian-мануалу.
Скачать Zen-kernel
А вот и сам Debian-мануал, в котором нам нужно всего пару пунктов.
Мануал по установке

Поставили! Теперь можно наслаждаться производительностью!

test

Ошибка: Установка после сборки в Debian Sid ванильного ядра версии 3.6.8

Не буду описывать весь процесс установки, это первый вариант по мануалу находящемуся Здесь. Скачал я исходники ядра версии 3.6.8, собрал deb пакеты headers и image, но headers не установился выдав ошибку во время установки:

Распаковывается замена для пакета linux-headers-3.6.8-goreotuma …
Настраивается пакет linux-headers-3.6.8-goreotuma (3.6.8-goreotuma-10.00.Custom) …
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.6.8-goreotuma /boot/vmlinuz-3.6.8-goreotuma
dkms.conf: Error! No 'BUILT_MODULE_NAME' directive specified for record #0.
Error! Bad conf file.
File:
does not represent a valid dkms.conf file.

Кратким и вполне закономерным решением оказалось удаление dkms на момент установки хедеров и установки dkms после обратно. Все стало и все настроено.

Страницы

Subscribe to Nelex.in.ua RSS