23 заметки с тегом

кодинг

Яндекс.XML или паранойя по-русски

Добавляю новый функционал к плагину Аддурилка и столкнулся какой-то паранойей Яндекса.

Кодеры, парсить наши странички нехорошо, поэтому мы представляем вам наш сервис Яндекс.XML.

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

Ок. Начинаю вкручивать и... У меня появляется желание «побить» кого-нибудь из разработчиков Яндекс.XML. А мне нельзя бить и желать. Я христианин. Почему такое желание?

Во-первых, ограничение по количеству обращений. Вы поисковик же, ну какие лимиты?
Во-вторых, два уникальных идентификатора. Я должен указать user и key. Одного недостаточно?
В-третьих, привязка к IP. Это меня добило! Пишут.

IP-адрес в совокупности с учетной записью в Яндекс.Паспорт используются для однозначной идентификации пользователя сервиса Яндекс.XML. По итогам идентификации пользователя определяются ограничения, накладываемые на использование сервиса.

Вы где и в каком веке живете? Многие провайдеры выделяют только динамические IP и на одном IP хостинга находится куча сайтов. А знаете какой выход они предлагают?

Причина Возможный метод устранения
Для обращений к Яндекс.XML используется открытый прокси-сервер. Используйте прокси-сервер интернет-провайдера.
Для доступа к интернету используется модем. Провайдер выделяет динамический IP-адрес, который может различаться при каждом подключении. Попробуйте отключиться и заново подключиться к интернету.
Обращение к сервису выполняется с сервера. Приобретите выделенный IP-адрес.

Спрашивается, вы для кого сервис сделали?

Попробуйте отключиться и заново подключиться к интернету через мозги.

А Гугл? А Гугл просто http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=ЯНДЕКС.XML&start=1&rsz=8

P.S. Все цитаты взяты из документации Яндекса.

Аддурилка или мой первый плагин для Wordpress

Вот так выглядит «Аддурилка» для CMS Wordpress

Написал свой первый плагин для Wordpress. Даже отправил его на WordPress.org. Называется «Addulika». Из названия понятно, что он служит для добавления ссылок публикаций в Яндекс.Вебмастер. Также он может проверить находится ли ссылка (проиндексирована ли) уже в поисковике.

Из планов на будущее:

  • Прикрутить возможность отправлять ссылки в другие поисковики.
  • Автоматизировать процесс проверки ссылки. Сразу проверялась и отображался результат.

Два совета для разработчиков:

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

P.S. Вопрос знатокам русского языка. Кавычки в наименовании. Когда ставятся, а когда ими можно пренебречь?

 Нет комментариев    16   2015   php   wordpress   кодинг   продвижение

Настройки MAMP Pro для слабого интернета.

Слабый интернет, поэтому я стряхнул пыль с MAMP Pro и начал работать в нем. Возникла необходимость обновить ядро проекта с интернета и я получаю ошибку 500, а в логах следующее:

FastCGI: comm with server "/Applications/MAMP/fcgi-bin/php5.6.10.fcgi" aborted: idle timeout (30 sec)

Выход был найден при прочтении «FastCGI error when accessing a local development site using MAMP Pro».
Последовательность действий:

  1. Перейти в MAMP Pro File → Edit Template → Apache → httpd.conf
  2. Выполнить Find & Replace для MAMP_FastCgiServer_MAMP
  3. Закомментировать MAMP_FastCgiServer_MAMP
  4. Добавить линию конфигурации для вашей версии PHP с временным периодом, который вас устраивает:
FastCgiServer /Applications/MAMP/fcgi-bin/php5.6.10.fcgi -idle-timeout 3600

В результате в вас получится в httpd.conf следующее:

#MAMP_FastCgiServer_MAMP
FastCgiServer /Applications/MAMP/fcgi-bin/php5.6.10.fcgi -idle-timeout 3600

P.S. Важно не забыть вернуть все назад, когда появится нормальный интернет.

Битрикс: Выводим адреса элементов инфоблока на одной Яндекс карте

Столкнулся в Битрикс с задачей вывода на одной карте расположения всех офисов компаний. Данные о расположении офиса хранились в переменной «MAP» типа «Привязка к Яндекс. Карте» свойств элемента инфоблока «Офисы». В процессе решения родился следующий код:

// Берём все значения инфоблока с ID равным 10. Вам нужно подставить свой ID.
$mas = CIBlockElement::GetList(array(), array( "IBLOCK_ID" => 10 )); 

while ( $oElement = $mas->GetNextElement() ) {
  $aElement['PROPERTIES'] = $oElement->GetProperties(); // Берём значения элемента инфоблока

  // Координаты хранятся в переменной MAP (подставьте вашу переменную) через запятую, разделим их
  $arTmp = explode(',', $aElement['PROPERTIES']['MAP']['VALUE']); 
  //Подготовка карты
  $arResult['POSITION']['yandex_scale'] = "5"; // Подбираем размер карты, чтобы поместились все маркеры
  // В yandex_lat и yandex_lon заносим координаты центральной точки карты
  $arResult['POSITION']['yandex_lat'] = $arTmp[0]; // В нашем случае координаты первого элемента инфоблока
  $arResult['POSITION']['yandex_lon'] = $arTmp[1];
  //Собираем маркеры
  $arResult['POSITION']['PLACEMARKS'][] = array(
    'LON' => $arTmp[1], // LON и LAT - координаты маркера
    'LAT' => $arTmp[0],
  );
}
// Выводим карту с метками через компонент Битрикса для карт Яндекса (Яндекс.Карты: настраиваемая карта)
$APPLICATION->IncludeComponent(
  "bitrix:map.yandex.view",
  "",
  Array(
    "INIT_MAP_TYPE" => "MAP",
    "MAP_DATA" => serialize($arResult['POSITION']),
    "MAP_WIDTH" => "978", // Ширина карты
    "MAP_HEIGHT" => "400", // Высота карты
    "CONTROLS" => array("ZOOM", "TYPECONTROL", "SCALELINE"),
    "OPTIONS" => array("ENABLE_SCROLL_ZOOM", "ENABLE_DBLCLICK_ZOOM", "ENABLE_DRAGGING"),
  )
);

P.S. Настройки компонента карт Яндекса можно посмотреть вот здесь.

Как вставить картинку в README.md на GitHub

Нужно было вставить картинку в описание репозитория на ГитХабе, после ряда мучений сформировался рабочий вариант.

![Image alt](https://github.com/{username}/{repository}/raw/{branch}/{path}/image.png)

Где,

{username} — ваш ник на ГитХабе;
{repository} — репозиторий где хранятся картинки;
{branch} — ветка репозитория;
{path} — путь к месту нахождения картинки.

Пример:

![Иллюстрация к проекту](https://github.com/jon/coolproject/raw/master/image/image.png)

P.S. Если ветка отличается от «master», то вписываем её. Например, для генерируемого ГитХабом из репозитория сайта — это «gh-pages».

 Нет комментариев    123   2015   кодинг   совет

Церковный сайт: Советы для программистов

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

Люблю советы по существу. Нравится публикация «70+ tips for effective church sites». Привожу часть советов в вольном переводе. К ним буду добавлять другие советы и комментарии. Чтобы не громоздить в одну публикацию, разобью советы по темам. Потом соберу эти публикации в отдельный проект.

  1. Если вы используете Javascript, убедитесь, что весь функционал сайта работает у тех, кто этот язык программирования не использует.
    Убедитесь в следующем. Всё что использует и работает только с Javascript на самом деле невидимо (а не в нерабочем состоянии и мешает пользоваться сайтом) если в браузере отключена поддержка этого языка. При необходимости обеспечьте альтернативные варианты работы заключённые в теги <noscript>. 10% веб-пользователей пользуются браузерами с отключённым Javascript. Это достаточно много посетителей в течение года. Рассмотрите возможность получить то, что реализовано с Javascript, с помощью других средств, например, используя CSS и PHP.
  2. Не используйте фреймы для дизайна сайта.
    Хотя встречаются специализированные ситуации, когда можно эффективно использовать фреймы, стандартный церковный сайт не относится к ним. У фреймов ряд недостатков, которые не преодолеет даже эксперт в программировании и дизайне.
  3. Узнайте, как использовать «подключаемые» файлы — это отличный способ сэкономить время загрузки страницы.
    Если вы ещё не обнаружили преимущества экономии времени при включении кода на стороне сервера попробуйте «подключаемые» файлы (где один файл генерирует колонтитулы, другой — меню и т. д. в пределах страницы) для ускорения работы сайта. Поищите в Google информацию по SSI.
  4. Кроме того, узнайте, как использовать CSS.
    CSS (таблицы стилей) — это формальный язык программирования, помогающий устанавливать и изменять внешний вид страниц и элементов сайта. Изучение CSS поможет вам потом легко менять вид сайта.
  5. Не включайте адреса электронной почты на сайте в явном виде через ссылку на «mailto».
    Указанные так почтовые адреса будут со временем «собраны» спамерами. Создайте вместо этого контактную форму. Или «скройте» адреса, используя Javascript.
  6. Подготовьте страницы сайта к печати.
    Сделайте это автоматически, с использованием CSS стилей для печати.
    CSS Design: Going to Print
  7. Пишите как можно больше комментариев к коду.
    Это поможет читать код, находить ошибки и вносить изменения. Видеть где заканчиваются функции, блочные и другие элементы кода.
  8. Придумывайте понятные названия структурных блоков кода.
    Используйте стандартные названия для шапки сайта, подвала, контента и боковых панелей. Избегайте названий, которые понятны только вам — это создаст трудности для командной работы.
  9. Ищите простые решения для поставленных задач.
    Если вы пишите сайт сами, то кода должно быть как можно меньше. Возможно, вам достаточно популярной CMS или нескольких скриптов собранных для решения поставленной задачи. Не изобретайте велосипед. Опыта наберётесь, но потратите время и неизбежно столкнётесь с проблемами, которые давно уже решены.
  10. Определитесь со стандартами написания кода и используйте их при программировании.
    Уже опубликованы стандарты написания кода GitHub, Google и ряда других проектов с мировым уровнем. Выберите стандарт и это поможет вам в командной работе над сайтом.

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

Работаем над ошибками или метод резинового утёнка

Прочитал «7 золотых правил одного программиста» и первое напомнило о методе резинового утёнка. О нём мне рассказал друг программист, когда я жаловался ему на сложность нахождения ошибки в коде. В публикации даётся следующий совет при поиске ошибки:

Ну что там у тебя? Поговорим? Резиновый утёнок

«Универсальный совет — идите спать! Ну или хотя бы отвлекитесь на чашку чая. Когда, через некоторое время, вы вернётесь к коду наверняка станет ясно, что тут лишний оператор отрицания, или перепутаны две переменные с похожими именами, или ещё какая-нибудь мелочь, в которой мы никогда никому не признаемся.»

Совет отличный! В школе немало задач по физике решены следуя этому совету. Но что делать если сроки горят? Спать, чаёвничать или гулять не вариант! На помощь приходит метод резинового утёнка.

Метод заключается в том, что на стол ставится игрушка (резиновый утёнок). А при поиске ошибки ты с ней ведёшь диалог. Объясняешь игрушке, что делается в каждой строке кода. И часто в этом диалоге и находишь спрятанную ошибку. Игрушку можно представлять в воображении и это может быть и не игрушка. Эйнштейн, ваш ребёнок или другая личность для мысленного диалога. Ну а если есть возможность пообщаться вслух, то это еще лучше. Тогда к поиску ошибки подключаются и ваши уши.

У вас ошибка в коде? Резиновый утёнок спешит на помощь!

Добавляем ссылкам Эгеи в статьях target=«_blank»

После публикации статьи «Минусы блогового движка Эгея» один из минусов был сразу решён. Речь об открытии ссылок из публикаций в новых окнах браузера. Дмитрий Шишкин предложил следующее решение:

//Добавляем ссылкам в публикациях target="_blank"
$(document).ready(function(){
    $(".e2-note-text a").attr("target","_blank");
  });

Чтобы им воспользоваться добавьте код выше в JS файл вашей темы. Если таковой отсутствует, то создайте папку «js» в вашей теме и поместите там файл с этим кодом. Назвать файл можно как саму тему. Эгея файл автоматически подгрузит.

 1 комментарий    15   2015   js   блог   Е2   кодинг   улучшаем жизнь

Чья CMS всех милее, всех быстрее и умнее?

Я уже вылез из cms-штанишек, когда считал, что лучше всего для сайта подходит CMS Joo... Да неважно какая! Главное, чтобы нравилась мне и на которой я набил руку.
Сейчас я подбираю систему в зависимости от проекта. Захотелось узнать, каким образом подходят к выбору CMS мои читатели. Используете рейтинги? Есть какой-то алгоритм? Или существует любимая система? Тогда почему она?

P.S. Может, встречали сводную таблицу CMS? Киньте ссылку, пожалуйста.

Дополнительные материалы:
Рейтинг CMS по версии iTrack
Каталог CMS от CMSmagazine
Выбор CMS от CMSlist
Обзор и классификация CMS по категориям 2013 года

 Нет комментариев    2   2015   TED   видео   кодинг
Ранее Ctrl + ↓