Преобразование поля LineString в массив точек JSON

Преобразование поля LineString в массив точек JSON, или как хранить координаты точки в MySQL

Недавно обнаружил в MySQL возможность хранить координаты ГЕО точек. Более подробно про функции для работы с геометрическими функциями в MySQL можно прочитать на страницах руководства:

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

«Как из поля с типом LineString получить массив координат в формате JSON».
Для чего это нужно?
Например, есть таблица с маршрутами, каждая строка — это маршрут, в строке есть поле points типа LineString, в котором хранятся все координаты точек маршрута и нужно получить массив этих точек в читаемом формате.

Вариант решения предлагаю следующий:
  1. Создадим функции в MySQL для преобразования LineString в JSON в формате [{lat: val1, long: val2}, {lat: val3, long: val4}...].
  2. Создадим запрос для выгрузки из таблицы маршрутов.


Читать дальше

С праздником, С Днём Программиста!

Уважаемые коллеги, поздравляю Вас с праздником!
Желаю Вам крепкого здоровья и конечно же хорошего настроения!

Да прибудет с Вами лёгкий и читаемый код!


День программиста
Всегда пьяный готовый оказать помощь igorrius (0100100101100111011011110101001001010010011010010111010101110011)

Вердикт - Поведенческий анализ

Антивирусный робот Яндекса при проверке страниц выдал вердикт — поведенческий анализ.
Что же это такое? По данным со страниц Яндекс это:
Анализ поведение JavaScript-кода и других активных элементов. Если поведение совпадает с эвристическими правилами, характерными для drive-by-download атак, например, детектор вредоносных Java апплетов или детектор вредоносных PDF документов обнаруживают попытку эксплуатации уязвимости для выполнения вредоносного кода, то принимается решение о том, что проверяемая страница является опасной для посетителей.
На самом деле, сама проблема с попаданием в антивирусный фильтр Яндекс «Поведенческий анализ».
Получив данный вердикт я долго перебирал на сайте весь JavaScrip и html шаблоны, но так и ничего не нашёл. Что же имел ввиду Яндекс?

Случайно решил взглянуть на файл .htaccess и УРА, вот они вредные скрипты)

В содержимом файла был код похожий на:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*ask.* [OR]
RewriteCond %{HTTP_REFERER} .*yahoo.* [OR]
RewriteCond %{HTTP_REFERER} .*baidu.* [OR]
RewriteCond %{HTTP_REFERER} .*youtube.* [OR]
RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR]
RewriteCond %{HTTP_REFERER} .*qq.* [OR]
...
RewriteRule ^(.*)$ .....

Вычистив лишний код, проблема с попаданием в антивирусный фильтр Яндекс «Поведенческий анализ», исчезла.

Прогресс бар загрузки изображений на странице как на YouTube

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

Требования к скриптам: библиотека jQuery.

И вот, что из этого вышло:
$().ready(function(){ // загрузка DOM
	var images_count = $('img').length; // количество изображений на странице
	var percent = images_count / 100; // процентная часть одного изображения 
	var loading_progress = 0; // текущий прогресс
	var images_ready = 0; // загружено изображений (не используется, но можно выводить счётчик)
	if (images_count > 0){ // если есть изображения
		$('body').append('<div id="top_progess_bar"> </div>'); // добавляем верстку прогресс-бара
		$('#top_progess_bar') // настраиваем для прогресс-бара стили
				.css('position', 'fixed')
				.css('top', 0)
				.css('left', 0)
				.css('width', '0%')
				.css('height', '2px')
				.css('background-color', '#F15A23')
				.css('z-index', 100000);
	}//if
	
	$('img').load(function(){ // когда изображение загрузилось
		images_ready++; // увеличиваем счётчик загруженных изображений
		loading_progress += percent; // увеличение процентов
		if(loading_progress >= 100){ // если загрузились все (тут можно и количество проверять)
			$('#top_progess_bar').remove(); // удаляем прогресс-бар
		}//
		$('#top_progess_bar').css('width', loading_progress + '%'); // указываем размер прогресс-бара в текущих процентах
	});
	
	$(window).load(function(){ // когда загрузилась вся страница
		$('#top_progess_bar').remove(); // удаляем прогресс-бар. 
// Сделано для того, чтоб если изображений по какой либо причине не будут загружены, прогресс-бар всё равно удалился.
	});
});

Wordpress - связываем Tiny MCE и PrettyPhoto. Часть 2

Недавно я писал о том, как добавить в редактор Tiny Mce поле для rel, но после последнего обновления редактора я опять столкнулся с этой проблемой. Решение в итоге нашлось, чем и спешу поделиться с нашими читателями.
В последних версиях, если честно то не помню с какой версии Tiny Mce кардинально поменялся мы идем в папку:
/wp-content/plugins/tinymce-advanced/mce/
Находим файл tinymce-advaced.php в нем находим строку:
if ( $this->check_setting( 'advlink' ) ) {
    $init['rel_list'] = '[{text: "None", value: ""}, {text: "Nofollow", value: "nofollow"}]';
}

И добавляем через запятую нужные нам параметры.
Лично у меня в итоге эта часть кода выглядит следующим образом:
if ( $this->check_setting( 'advlink' ) ) {
    $init['rel_list'] = '[{text: "None", value: ""}, {text: "Nofollow", value: "nofollow"}, {text: "PrettyPhoto", value: "prettyPhoto"}]';
}

Естественно, что можно добавить абсолютно любые параметры. Всем спасибо за внимание.

Где быстро узнать (посмотреть) результаты чемпионата мира по футболу FIFA 2014

Чемпионат мира по футболу FIFA 2014

Сегодня стартует 20-й Чемпионат мира по футболу FIFA 2014.

Многие будут следить за чемпионатом, многие смотреть. Я, например, всегда задавался вопросом: «Где быстро узнать (посмотреть) результаты чемпионата мира по футболу FIFA 2014?» и в этом году, спасибо Google, такая возможность появилась.

Теперь не нужно листать и просматривать много страниц на сайте, просто следите за Чемпионатом мира по футболу FIFA 2014 прямо на странице поиска Google.

Что для этого нужно? Просто ввести в строке поиска Google фразу: "Чемпионат мира по футболу FIFA 2014". Или перейти по ссылке — результаты чемпионата мира по футболу FIFA 2014.

Хорошего футбола, господа!

Получить текст TinyMCE для jQuery.serialize()

Проблема отправки данных TinyMCE через jQuery.serialize()

Если Вы читаете эту статью, то скорее всего Вы собирались отправить форму с активным редактором TinyMCE через AJAX и обнаружили, что значение «textarea» не передаётся обработчику.

Не буду углубляться в подробности, просто предложу кусочек кода, который работает)
$('.btn-submit').on('click', function() { // событие нажатия кнопки отправки формы (не submit!!!)
        if (tinymce.activeEditor === null) { // выход, если нет текущего активного редактора
            return;
        }//
        var text = encodeURI(tinyMCE.activeEditor.getContent()); // получение значения ТЕКСТ текущего открытого редактора
        tinymce.activeEditor = null; // сброс указателя на текущий активный редактор (чтоб не было багов с focus())        
        var fdata = $('form').serialize() + '&text=' + text; // дополнение данных формы данными редактора
        $.post("адрес серверного скрипта", fdata, function(rdata) {
            // обработчик ответа
            }
        });
    });

Итак, из скрипта видно, что для получения значения активного редактора TinyMCE нужно выполнить метод getContent();
var text = encodeURI(tinyMCE.activeEditor.getContent());

Как исправить ошибку error 1719 windows installer service could not be accessed

Сегодня решал проблему с ошибкой установщика Windows 7 «1719 windows installer service could not be accessed».
Проблема заключается в том, что с этой ошибкой вылетают все процессы программы инсталляции, что в свою очередь не даёт ничего удалить или установить.

Неудобненько)))
Читания форумом Microsoft и попытки использовать их предложения не привели к положительному результату. Ошибка продолжала появляться, при этом служба установщика оставалась работала (была запущена).

В поисках решения
Решение проблемы установщика Windows «error 1719 windows installer service could not be accessed» далось проще, чем казалось сразу.
Забыл написать, рассказ веду про Windows 7 x64 (64 бита).
Так вот, в ней файл установщика находится в «c:\Windows\System32\msiexec.exe» и он там и был… Но, так как эта версия системы 64 бита, в ней есть ещё один файл установщика и находится он в «c:\Windows\SysWOW64\msiexec.exe», вот его то как раз там и не было.

Достаточно восстановить этот файл с установочного диска, или с другой копии системы Windows 7 x64 и ошибка установщика Windows «1719 windows installer service could not be accessed» — исчезнет!

П.С. Кто из программных пакетов удалил файл оттуда, не известно… Поговаривают, что это сделал автоматической обновление Windows Office 2013, а может откат установки 3DSMax, а может… да какая уже разница, главное — Решение)

Возникновение финансов и развитие науки о финансах.

Возникновение финансов и развитие науки о финансах.

Термин «финансы» происходит от средневековых латинских слов finare, finatio, finantia, finantia pecunaria, употреблявшихся в средние века в смысле обязательной уплаты любой денежной суммы. В денежных отношениях, складывавшихся между населением и государством в лице судьи, князя или короля, слово «финансы» означало завершение платежа, окончательный расчет. Впервые в этом значении финансы употреблялись еще в XIII-XV веках в Италии. Но уже в XVI веке во Франции термин «финансы» имел более широкий смысл, означая совокупность доходов и расходов. Несколько позднее появился термин «публичные финансы», который определял совокупность государственных доходов и расходов. В дальнейшем термин «финансы» получил международное признание и сейчас используется для обозначения отношений, связанных с формированием, распределением и использованием денежных фондов.


Читать дальше

Начни зарабатывать с InstaForex уже сейчас. Все вклады застрахованы! топик-ссылка

Начни зарабатывать с InstaForex уже сейчас. Бонусы и подарки при регистрации! Так зарабатывают многие!