Архив рубрики: Работа

Добавление карты Yandex с маршрутом на свой сайт

Добрый вечер, друзья!

Волею судеб я занимаюсь техническим сопровождением конференции «Маркетинг без пыли«. Это и обработка видео, и, собственно, наполнение сайта. Одной из особенностей данной конференции является ее совершенно нестандартное место проведения — в летний сезон это обычно парк, зимой же — либо уютное кафе, либо библиотека. Организаторы, подчеркивая свое отличие от банальных маркетинговых конференций с досками и занудными речами даже подчеркнули свое отличие самим названием конференции — БЕЗ ПЫЛИ. А это значит, что: никакого официоза, никаких особых требований к внешним регалиям (ты можешь быть младшим сотрудником маркетингового отдела, и иметь интересный практический опыт, а можешь быть и звездой с погонами — главное, твой практический опыт и твое желание им поделиться).

Так вот, вернемся к главному. Место проведения. В связи с тем, что место проведения все время разное (кажется, я повторяюсь), в разделе, где указывается адрес места встречи нужно не только указать адрес, но и отрисовать схему прохода/проезда. Конечно, никто не мешает заскринить кусок карты, в Photoshop нарисовать схему прохода и вставить картинку в сайт. Но… как-то это … скучно, грустно и вообще не круто. Если согласны и дочитали до этого места — читаем дальше 😉

Круто — это создать схему прохода/проезда на карте, и интегрировать ее на наш сайт. Со всеми необходимыми для навигации фишками: масштабированием, линейкой, и прочим. Итак… начнем:

Кстати, поисковый запрос в данном случае звучит как-то так:

Вставка Яндекс-карты на сайт

🙂 Порадовали роботов, двигаемся дальше. Нам понадобится:
1. Открыть Конструктор Карт — для этого просто кликните по ЭТОЙ ссылке, которая откроется в новой вкладке. Выглядит все это дело приблизительно так:
Яндекс-конструктор

2. Кликаем по пункту «Создать новую карту».

3. Наблюдаем вот такую картинку:
Яндекс-новая-карта
Слева вы можете указать название пункта на карте, а так же описать его. В строке поиска, ожидаемо, вы можете ввести адрес или название нужного объекта, после чего найти его на карте. Попробуем проложить маршрут по городу Черновцы — от ратуши, по улице Кобылянской, в ресторан «Панська Гуральня» (просто там вкусное пиво, а на улице так жарко 🙂 ). Вводим название искомой улицы в строке поиска:
Ольги Кобылянской карта

Яндекс очень шустро отображает искомую улицу. Остается только поставить метку возле нужного пункта: ресторан. Кликаем по скрину ниже — откроется подсказка в нормальном виде 😉

яндекс карта добавление метки

4. Кликаем на кнопку «Готово», создав тем самым конечную точку на карте (никто не мешает обозначить несколько точек — ваша карта, вы и решайте)

5. Осталось добавить маршрут. Для этого находим начальную точку на карте. В нашем случае — это ратуша (горсовет). После того, как вы нашли нужную вам точку на карте, не забудьте добавить к ней метку (смотрим пункт 3). В итоге получается нечто вроде такого:

черновцы ратуша

Дело за малым: выбрать кнопочку «Линии» на карте и отрисовать весь необходимый маршрут:

Яндекс карта создание маршрута

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

6. Отрисовали маршрут? Кликаем на желтую кнопку в левом нижнем углу: «Сохранить и продолжить». Нам открывается вот такая картина:

яндекс карта код

Как видно — у вас есть возможность выбора типа карты: интерактивная, спутниковая и печатная, указать ее размер (а можно кликнуть по полю «Растянуть по ширине» и получить карту заданной высоты и шириной в 100%), и, наконец, получить код карты, который вы и будете интегрировать в свой сайт. Для этого нужно лишь нажать на желтую кнопочку «Получить код карты». После нажимания нам открывается окно следующего вида:

яндекс карта код на сайт

7. Сохраняем полученный код, и вставляем в свой сайт, получая вот такую удобную штуку:

Кстати, на видео ниже — урок: как вставить Яндекс-карту со схемой проезда на свой сайт. Смотрим!

Спасибо за внимание! Как всегда — в случае возникновения вопросов не стесняйтесь задавать их на почту: oleksiy@lavrynenko.com

Ошибка в WordPress: Warning: Cannot modify header information

Как всегда неожиданно на одном из сайтов, созданных на базе WordPress всплыла ошибка:

Warning: Cannot modify header information — headers already sent by (output started at /servername/public_html/wp-config.php:1) in /servername/public_html/wp-includes/pluggable.php on line 1207

Ковыряние в Гугле привело к следующему решению: проблема лежит в ошибке кодировке файла. Ну бывает такое — правил файл-правил, а потом бах, и сохранил либо не в UTF-8. Наиболее правильным (для начала) будет открыть Notepad++ и открыв искомый файл (перед этим его нужно слить на локальный компьютер с хостинга) пересохранить в UTF-8 без BOM. В Notepad++ это делается следующим образом: верхнее меню — Кодировки — Преобразовать в UTF-8 без BOM, после чего сохранить файл.
notepad-bom

Закачиваем файл на сервер, и (скорее всего) — ошибка пропадает.

Как всегда — в случае возникновения вопросов — пожалуйста, пишите на почту oleksiy@lavrynenko.com

Автоматизированное распознавание простой капчи с помощью Google Docs

По роду деятельности не часто, но сталкиваюсь с капчами. Из-за больших объемов работы многие процессы автоматизированы, среди которых и распознавание капчи — эта стадия осуществляется с помощью сервиса Antigate, который достаточно стабильно работает, и отличается низкой ценой.
Однако на днях попалась интересная новость (ну как новость — с опозданием на пару месяцев) о том, что сервис Google Docs распознает текст, который загоняется на сервис с виде картинок или pdf-документов. Сразу же возникла мысль использования ресурсов Google автоматизированного для распознавания капчи.
Алгоритм работы, осуществляемый в режиме он-лайн в браузере представляется следующим:

1. В процессе работы наталкиваемся на капчу
2. Получаем капчу в виде графического файла с расширением, которое поддерживается сервисом Google Docs. В настоящее время это форматы .jpg, .png, .gif размером не более 2-х мегабайт. Учитывая, что речь идет о капче — лимит размера загружаемой картинки нас не особо волнует.
3. Открываем новую вкладку
3. В ней загружаем картинку на сервис
4. Открываем картинку в виде текстового файла внутри сервиса
5. Получаем данные в виде готового текста
6. Закрываем вкладку с распознанной капчей
7. Используем результат распознавания в работе

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

В результате 10 экспериментов, проведенных по описанной выше схеме (в качестве рабочего решения для тестирования использовался блок, написанный на Zennoposter), установлено, что Google без проблем справляется с простыми числовыми капчами, но практически бесполезен при распознавании капчи, представленной на картинке ниже (верхняя часть — капча — нижняя часть — результат распознавания):
Распознавание капчи с помощью Google Docs

Итог эксперимента прост: продолжаем использовать Antigate далее. 1 бакс за 1000 распознанных капч — вполне нормальная цена, а многопоточность — никто не отменял.

 

WordPress — ограничение доступа к странице

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

Однако — это Worpdress! Несмотря на открытость кода платформа пользуется заслуженной популярностью — ниже представлен срез популярности CMS-систем в Рунете, на основании которого лидерство WordPress вполне очевидно:

Популярность CMS-систем за 2-й квартал 2015 года

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

Процесс установки плагина стандартен:
1. Загружаем плагин к себе на жесткий диск
2. Закачиваем через FTP на сервер в папку /wp-content/plugins/
3. Активируем плагин в панели управления.

плагин WP-MembersЛибо — заходим на ссылку http://вашсайт/wp-admin/plugin-install.php и вводим в строку поиска название искомого плагина: WP-Members, после чего устанавливаем и активируем его.

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

WP-Members-setup

 

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

 

Уроки PHP — loop

Время идет, вернее даже бежит! И вот так незаметно мы подошли к странному явлению, именуемом loop (петля).

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

Итак… У нас имеется пример кода, который с помощью loop выведет все цифры от 1 до 10:

<?php
for ($i = 0; $i < 10; $i++) {
    echo $i;
}
// echoes 0123456789
?>
Стало определенной традицией рассматривать код подробнее: 
$i = 0; - создали переменную, и задали ее начальное значение 
$i < 10 - делаем что-то, пока переменная будет иметь значение меньше 10
$i++ - собственно говорят - именно это и делаем: увеличиваем значение i
{echo $i;} - выводим значение i

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

Задание текущего урока: к имеющемуся коду добавить что-то, что бы сей код начал правильно работать. 
<html>
 <head>
 <title>For Loops</title>
 </head>
 <body>
 <p>
 <?php
 // Echoes the first five even numbers
 ___ ($i = 2; $i < 11; $i = $i + 2) ___
 echo $i;
 ___
 ?>
 </p>
 </body>
</html>

Учитывая все, что мы с вами обсуждали выше, правильным действием в указанном коде будет: задать начальное for - если нет ДЛЯ - то как же PHP поймет, для чего все это делается - верно? 
Смотря на код далее видим: начальное значение переменное ровняется 2, что-то должно продолжаться до тех пор, пока не достигнет 11, а продолжаться это будет с помощью увеличения значения переменной на 2 (это видно в куске $i = $i + 2). Таким образом - основной код закончен, и должен работать. За исключением - что делать, когда выполнена операция в loop: выводить значение переменной $i. Как мы с вами помним - подобные куски кода окружаются фигурными скобками {}.
Итак, окончательная редакция кода выглядит следующим образом: 
<html>
 <head>
 <title>For Loops</title>
 </head>
 <body>
 <p>
 <?php
 // Echoes the first five even numbers
 for ($i = 2; $i < 11; $i = $i + 2) {
 echo $i;
 }
 ?>
 </p>
 </body>
</html>
php-lesson-loop-for