Готовим для своих проектов кэшировалку из CakePHP / Кэширование в CakePHP, Memcache, Apc, Xcache
Для одного проекта понадобилась простая кэшировалка. Из-за того, что их я уже напереписывал с десяток, сразу выдвинул требование «для простых проектов больше ничего переписывать не собираюсь!» Всегда использовал только кэширование в файлах или Memcache, поэтому, нужно было получить такую библиотеку, которая могла бы работать двумя способами, в зависимости от параметров сайта.
Да? Нужно ли переводить интересные заметки?
Всем привет! Это снова я :) Два с лишним месяца прошло от предыдущего поста. Заработался, закрутился, завертелся, за... за... не придумывается больше... Неа, 'это слово не "зае****бался". Все отлично! Тот факт, что я не прилежный блоггер мне известен столько, сколько раз я оформлял свои домашние проекты в виде блогов. Кстати, давно читал в каком-то блоге, что очень калично смотрятся посты через пару месяцев простоя со словами "извините, пока ничего не пишу, приходите позже". Согласен с этим. Извиняться не буду, я рабочий человек и работаю не автором блога :) Не извиняюсь, но оправдываюсь? :) Начхаць на правило: лучше регулярно, но, возможно, чуть меньше писать, чем сразу пачками пихать посты в блог. У меня здесь просто сборник заметок на интересные мне темы, либо темы, которые, по моему скромному мнению, могут оказаться полезными другим. Поэтому, прямо сейчас, под этим постом, вы увидите 3 перевода публикаций на тему бехавиоров в CakePHP. Капец, а не слово, но получше чем "поведение"? Переводы будут продолжаться, пока не переведу посты о всех, что добавлены в мою сборку Cake из того, что написано в пекарне. Написано много интересного на английском языке. Не только о Cake. Но пока начну с него. В мои переводы добавлено немного собственного мнения. Заметки больше предназначены как дополнительный hint (подсказка) по какой-либо теме. Ведь если совсем непонятно о чем идет речь, то и начинать разбираться в ней сложно. Итак, вперед! :) ps. Дополнительная hint.
CakePHP Transaction Behavior. Транзакции в CakePHP.
Практически везде в интернете, где есть деньги, есть и транзакции. Если вы делаете интернет магазин на CakePHP, то это дополнительная идея реализации механизма транзакций, связанных с моделями приложения. Плюс исходники этой идеи с примерами.
CakePHP Tree Behavior, поведения моделей CakePHP, Nested Sets
Не трудно догадаться из названия, что Tree Behavior (далее TB) позволит модели вести себя как дерево... кхм... :) Стандартная задача для этих деревьев: есть много категорий для различных элементов с неограниченным уровнем вложенности. Нужно хранить их в базе и иметь возможность быстро получать вложенные категории, путь к текущей категории, количество детей и т.д. Кстати, если не думать о Cake, то раньше я уже показывал, что надо освоить для трюков с деревьями.
CakePHP Containable Behavior, поведения моделей для CakePHP
Новым аддоном в ядре CakePHP является Containable Behavior (далее буду писать CB, для удобства). Это поведение модели используется для ограничений в выборках связанных моделей при вызове find-методов. Другими словами: при использовании CB вы можете указать какие модели вам необходимы в массиве, который вернет find-метод. Кроме того, можно указать и список полей, который вас интересует в связанной модели. Этот класс также решает задачу поиска по данным связанных моделей.
День фрилансера - 14 мая (в России)
Любители свободной работы у себя дома, празднуют день фрилансера. Сегодня 14 мая. Кто такой фрилансер? Раньше это были те, кто служил за деньги. Сейчас это люди, которые за эти же деньги, с учетом инфляции, делают сайты, рисуют разные плакаты, баннеры, иллюстрации, пишут или переводят тексты (и т.д.) по заказу "левых" персон. Работаете Вы на работе днем, а вечером фрилансите. Либо все время фрилансите, что очень часто лучше, чем париться в разных офисах, где не то, что работать, а дышать нормально невозможно. Если Вы фрилансите в рабочее время, то Вы не фрилансер - Вы, скорее всего, охреневшая скатина. Если Вы фрилансер, то Вы 100% знаете сайты free-lance.ru и weblancer.net. На остальные русские можно даже не смотреть. День фрилансера. С праздником! PS. А попаду ли я в смайлик Лебедева? (-:
Как спрятаться от сервисов для проверки наличия продажных ссылок.
В прошлый раз мы заменяли внешние ссылки в тексте на аля-внутренние. Сегодня идем дальше и будем скрываться от сервисов, которые очень часто угадывают, какие ссылки были проданы на сайте. Я не бился об стену, рассуждая как можно определить факт продажности. В моем фиде оказалась заметка со ссылкой на "белорусского бомжа", где он и поделился мыслями. Итак, начинаем прятать продажные ссылки.
Подсветка синтаксиса. Класс для подсветки синтаксиса GeSHi. Syntax highlighter
Очень красиво, когда код на каком-либо языке программирования оформлен в записях аналогично тому, как его видит разработчики. Данная штука, пожалуй, была уже у всех блггеров, кроме меня :) Поэтому, я тоже прикрутил класс для подсветки синтаксиса в свой блог и сейчас покажу, как это сделал.
FeedBurner`s API. Данные счетчика FeedBurner.
Взялся делать выдиралку цифр счетчика FeedBurner. Как-то очень повезло: и себе надо было и другим, возможно, интересно. Достать цифры из картинки не проблема, но это не есть оптимальный путь, когда есть API фидбурнера, который выдает любую информацию о фиде и его записях причем по разным диапазонам дат. А больше ничего и не надо для этой статистики. Да?
Итак, счетчик я сделал и теперь умываю руки, несмотря на то, что никаких защит от дураков там еще нет. Можете разобраться, где доставали статистику для blograte.ru. Еще можно заметить, как скриптом делаются прозрачные гифы (это актуально, если нужно делать тумбнейлы гифов). Буду рад, если Вы разместите ссылку на этот блог, если захотите сделать алякакой-нибудь сервис на основе статистики fb и моих мелких подсказок.
PHP скрипт для определения числа подписчиков FeddBurner и отображения их на gif-e здесь, а пример файла настроек здесь.
Успехов!
PS. Мне не давали денег, чтобы я говорил, что интересно посмотреть на CMS, в основе которой лежит CodeIgniter. Я сам смотрел и мне понравились некоторые идеи ее реализации. Смотрите и Вы.Загрузка ...





