Облако тегов для сайта (кластеризация)

Владимир | | CodeIgniter, PHP, Web разработка.

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

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

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

Поддержка автодополнения для сторонних библиотек в Eclipse

Владимир | | Eclipse, PHP, Web разработка.

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

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

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

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

Допустим, вы используете в текущем проекте библиотеку Adodb и хотите, чтобы работало автодополнение для ее классов.
Читать дальше

История одного мини теста или почему не стоит изобретать велосипед

Владимир | | MySQL, PHP, Web разработка.

О том, что кэширование может значительно увеличить скорость работы сайта, знают все. Но в некоторых случаях создание кэша – не самый лучший вариант.

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

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

Выполнить поиск в базе – не проблема. Но меня заинтересовал другой вопрос. Не будет ли быстрее искать данные в текстовом файле, а не базе?
Читать дальше

Как выбрать хостинг

Владимир | | Hosting, Web разработка.

Блог Six Revisions опубликовал очень интересную подборку инструментов для анализа хостинга.

И, думаю, три из них могут значительно упростить выбор хостинга для начинающих web мастеров.

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

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

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

«Чемодан» для блоггера

Владимир | | SEO, Разное.

Буквально на днях автор блога PromoInWeb.ru Артем Беляйкин выпустил новую программу для блоггеров.

Это инструмент предоставляет удобный, а главное, быстрый доступ к очень полезным в плане раскрутки сервисам. Например, поддерживаются 15 сервисов социальных закладок. Кроме того, можно проверить позиции блога в поисковиках, а также провести его анализ. Эту информацию «Чемодан» получает с помощью 22 SEO сервисов.

Но не это главное. У программы есть и более интересная функция – конкурсы. А точнее, их анонсы.

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

Как подключить Gravatar (PHP скрипт)

Владимир | | HTML, PHP, Web разработка.

Сервис Gravatar за последнее время стал очень популярным. Даже в админке WordPress’а теперь отображаются аватары комментаторов. Кстати, довольно удобно. Но речь не о WP.

В этой заметке я расскажу, как добавить Gravatar на собственную web страницу.

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

1) eMail пользователя, иконку которого вы хотите добавить.
2) Размер иконки (в пикселях).
3) Рейтинг иконок, которые вы разрешаете показывать. Сервис позволяет присвоить иконке рейтинг, на основе которого можно отфильтровать неприличные или содержащие ненормативную лексику аватары.
4) URL картинки, которая будет загружена если gravatar отсутствует.

Теперь напишем функцию, формирующую URL.
Читать дальше

Объектно-ориентированное программирование на PHP. Сортировка объектов средствами SPL.

Владимир | | PHP, Web разработка.

К сожалению, использование объектно-ориентированных возможностей PHP встречается не так часто, как хотелось бы. Конечно, тут есть объективные причины, например, не все хостеры предоставляют PHP5 (именно с этой версии появилась нормальная поддержка ООП).

К тому же, огромное количество PHP скриптов написано без использования ООП. И во многих случаях нет необходимости их переписывать.

Но ООП – это не «модная фишка». Эта парадигма программирования при правильном использовании позволяет сделать php скрипты понятнее, сократить количество ошибок, и, самое главное, увеличить скорость разработки (за счет повторного использования кода).

В этой заметке я хочу рассказать о нескольких таких возможностях и показать пример работы с SPL (StandardPHPLibrary).

Предположим, у нас есть задача, нужно отсортировать массив. Ничего сложного, можно просто использовать функцию sort.

Но, представим, что задача немного сложнее. Сортировать нужно сложные объекты, например, экземпляры классов. Они обычно содержат несколько свойств (переменных), каждое из которых может быть использовано при сортировке.
Читать дальше

Немецкое правительство не рекомендует использовать Google Chrome

Владимир | | Безопасность, Разное.

Буквально сегодня наткнулся на очень интересную информацию.

Немецкий федеральный офис информационной безопасности (не уверен, что правильно перевел название) посоветовал людям не использовать Google Chrome для работы в интернет.

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

Естественно, речь не идет о блокировке доступа к дистрибутиву браузера и другим сервисам Google. Потребитель сам будет решать, каким браузером ему пользоваться.
Читать дальше

Разработчики CodeIgniter вводят правила оформления кода

Владимир | | CodeIgniter, PHP, Web разработка.

В документации к новой версии CodeIgniter 1.7 появился новый раздел General Style and Syntax (Общий стиль и синтаксис). В нем описаны рекомендации по оформлению кода при разработке с использованием CodeIgniter.

Релиз этой версии фреймворка еще не вышел. Поэтому скачать ее можно только из репозитория Subversion по адресу (http://dev.ellislab.com/svn/CodeIgniter/trunk/). А страница документации с рекомендациями находится здесь.

Пересказывать их все нет смысла. Большую часть этих правил и так все соблюдают. Но вот некоторые – довольно интересны. О них я и расскажу.
Читать дальше

Поддержка тем в CodeIgniter

Владимир | | CodeIgniter, PHP, Web разработка.

Практически все современные CMS имеют поддержку тем. Т.е. вы можете создать несколько вариантов оформления ресурса и переключаться между ними. В этой статье речь пойдет о том, как добавить поддержку тем к фреймворку CodeIgniter.

Примечание. Если вы не знакомы с этим фреймворком, то сначала вам стоит почитать статью «Как создать свой сайт на PHP? Или зачем нужны фреймворки?».

Прежде всего, сформулируем задачу:

1) контроллер должен оставаться неизменным при использовании любой из тем;

2) файлы тем должны находится в отдельных папках;

3) минимальная нагрузка на систему (т.е. шаблонизаторы и дополнительные библиотеки не используем).

В принципе, поддержка тем изначально заложена в CodeIgniter. Если придерживаться архитектуры MVC, то весь код, связанный с отображением страниц, будет находиться в представлениях, а работа с данными и обработка запросов пользователя – в моделях и контроллере.

Отсюда вытекает простейший вариант решения задачи. Читать дальше