Nginx: несколько условий в if

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

Не забывайте, что if is evil.

Рубрика: Серверное Метки: Комментарии к записи Nginx: несколько условий в if отключены

Собака в PHP

На повестке дня 2 вопроса:
1) Для чего используется собака в PHP?
2) Можно ли использовать собаку для отключения вывода ошибок в PHP?

Для тех, кто хочет сразу получить ответ:

1) Отключает вывод ошибок при выполнении последующей конструкции.
2) Можно, но не нужно.

Теперь разберём почему

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

Как надо делать?

Если речь идёт о продакшене, то идеальный вариант это установленное значение error_reporting в E_ALL, при этом нужно установить значение display_errors в off, а error_log устанавливаем в syslog или просто пишем путь к файлу куда хотите писать логи. В таком режиме включается запись ошибок в лог-файл и никакие ошибки не будут выводиться на странице.
Если речь идёт о тестинг-среде, то error_reporting устанавливаем в E_ALL и display_errors в true — это будет выводить все ошибки прямо на странице.

Что делать если ошибки могут возникать в процессе работы скрипта?

Использовать try-catch и эксепшны (Exception). За этим в документацию PHP. 🙂

Рубрика: Без рубрики Комментарии к записи Собака в PHP отключены

JavaScript Singleton Pattern

В этой статье речь пойдёт о реализации шаблона проектирования Singleton в языке JavaScript.

Многие думают, что JavaScript — очень простой в изучении язык с небольшим количеством не менее простых конструкций. Давайте развеем этот миф и взглянем на предоставляемый им функционал.

Итак, я предлагаю вашему вниманию 2 способа реализации данного шаблона:

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

Рубрика: Кодинг Метки: , Комментарии к записи JavaScript Singleton Pattern отключены

Попадание точки в полигон

Иногда для решения какой-нибудь задачи требуется проверка попадания точки в многоугольник (другими словами, вхождения точки в полигон). Алгоритм решения этой задачи довольно прост, поэтому будет минимум описаний и исходного кода.

Применение

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

Алгоритм проверки вхождения точки в полигон

Для начала определимся с теорией. Наш полигон [многоугольник] — это набор связанных векторов. Для проверки вхождения точки в полигон нам нужно определить положение нашей точки, относительно каждого из этих векторов по очереди.

Решение задачи

Далее одно из возможных решений задачи на PHP. Замечу, что оно не учитывает попадание в вектор, лишь попадание внутрь фигуры:

Рубрика: Кодинг Метки: , , Комментарии к записи Попадание точки в полигон отключены

Online checkout is meant to be easy!

Рубрика: Маркетинг Метки: , Комментарии к записи Online checkout is meant to be easy! отключены

7 принципов привлекательности сайта

Рубрика: Маркетинг Метки: , Комментарии к записи 7 принципов привлекательности сайта отключены

Виджеты яндекса и гугла

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

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

Вопросы

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

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

Что из себя представляет виджет? Это обычная страничка загруженная в iframe, оформленная в соответствии с требованиями системы и загруженная на сервер яндекса или загружающаяся прямо с вашего сайта, вы можете использовать HTML-разметку, JavaScript и другие полезные функции, подробнее об этом читайте здесь.

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

Выводы

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

Рубрика: Маркетинг Метки: , , Комментарии к записи Виджеты яндекса и гугла отключены

Перечёркнутый текст для соц. сетей

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

Сам сервис здесь: перечёркнутый текст.

P.S. Делал из собственной необходимости, надеюсь вам тоже сервис будет полезен. =)

Рубрика: Кодинг Метки: 1 комментарий

Неразрывный пробел в HTML

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

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

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

Вот такую запись удобно использовать в прайс-листах:

10 500 рублей

Таким образом получится запись:
10 500 рублей

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

10
500 рублей

А всегда будет переноситься, как:

10 500
рублей

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

Рубрика: Кодинг Метки: Комментарии к записи Неразрывный пробел в HTML отключены

SEO: Методы продвижения сайтов

В этой статье я расскажу о таких методах продвижения сайта как поисковое продвижение по высокочастотным запросам и сбор трафика по низкочастотным запросам поисковых систем — это 2 основные стратегии продвижения сайтов в рунете.

Общая информация

Допустим вы сделали сайт и теперь ваша задача — составление общей аудитории сайта. Как я уже сказал, есть 2 основные стратегии продвижения сайтов: вывод в топ по ВЧ и сбор трафика по НЧ запросам.

Высокочастотные запросы

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

Как выводит в топ?

  • Оптимизировать главную и другие входные страницы под ваши запросы.
  • Закупить ссылки на сайтах, здесь в помощь вам есть сервисы Sape, Trustlink, GoGetLinks и подобные, оплата ссылок ежедневная из расчёта месячной стоимости.
  • Покупать вечные ссылки в статьях и блогах, например, на бирже статей Miralinks. Оплата за статью.
  • И последний способ, самый гениальный — заказать продвижение у профессионалов, тут без комментариев.

Вывод в топ занимает как правило от месяца до трёх, в зависимости от сложности запросов.

Низкочастотные запросы

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

Приведу пример, недавно я написал статью Реализация Comet, в которой рассказывается про реализацию технологии Comet в среде PHP — это не особо популярный топик, но его регулярно ищут в поисковиках. По статистике Яндекса запрос «comet php» показывают 35 раз в месяц, да это мало, лучше когда показов хотя бы 70-80, тем не менее каждый день на эту статью с поиска приходят 1-5 человек, а это уже трафик. Теперь представьте, что таких статей у вас на сайте 10, потом 100, а потом 1000. Чувствуете? Вот так-то! =)

Чтобы метод работал нужно учитывать в заголовке статьи основной низкочастотный запрос, не забывая повторять его в тексте и разбавляя другими словами. Вкусная ссылка по этой теме — SEO-Альманах 2010.

Рубрика: SEO Метки: , Комментарии к записи SEO: Методы продвижения сайтов отключены