Как стать автором
Обновить
30
0
Андрей @napster

Пользователь

Отправить сообщение

Примеры Google Maps API №3: Делаем инфо-окно функциональным

Время на прочтение2 мин
Количество просмотров3.7K
Итак, пока что последняя статейка с примерами. Речь пойдет о том, как сделать инфо-окошко более функциональным.

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии3

Примеры Google Maps API №2: Прячем элементы управления картой

Время на прочтение1 мин
Количество просмотров5.4K
Кросс-пост второй маленькой статейки на тему Google Maps API из моего блога. На этот раз речь пойдет о том, как скрыть элементы управления картой.

Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии3

Google Gears — ускоряем ваш сайт

Время на прочтение8 мин
Количество просмотров1.9K
Google Gearsоткрытое программное обеспечение от Google (бета, лицензия BSD), позволяющее использование веб-приложений с помощью браузеров Mozilla Firefox и Internet Explorer под GNU/Linux, Mac OS и Microsoft Windows в режиме оффлайн.

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

Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)

Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.

Читать дальше →
Всего голосов 55: ↑45 и ↓10+35
Комментарии25

Создаем Вашу первую карту

Время на прочтение6 мин
Количество просмотров10K

Отсебятина


Так как карма перестала быть на нуле (благодарю того, кто проголосовал), решил сделать несколько кросс-постов из моего блога, где переводил туториалы, посвященные Google Maps API.<p/>

 

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии11

Yandex Server как-то тихо стал бесплатным

Время на прочтение1 мин
Количество просмотров755
Это точно не новость, но я только недавно набрался таки решимости для покупки яндексовского поиска для нашего сайта и… был весьма удивлен, обнаружив единственный вариант лицензии: «бесплатно» company.yandex.ru/technology/products/Yandex-Server/conditions.xml
Беглое исследование показало, что массово продукт еще не используется, на хабре этой информации так же не нашлось.
Установка и конфигурация «по-быстрому», в общем, проблемы не составила; локальный Яндекс довольно шустро проиндексировал более 300 тысяч документов (в индексе «Большого» Я их не более 100 тысяч) и забрав тпримерно 2,6 gb под индекс.
Я доволен; качество поиска — вполне, xml отдается без проблем.
Ищем только по html, txt — невелика беда.

Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии46

Asset helper в CodeIgniter

Время на прочтение1 мин
Количество просмотров906
С помощью этой штуки чертовски удобно управлять материалами (ассетами) сайта, которые представляют из себя статические файлы, не связанные с фреймворком: CSS-стили, JavaScript-файлы, картинки. Создаём папку assets в корне проекта, в этой папке создаем следующие папки:

Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии4

MySQL rownum

Время на прочтение1 мин
Количество просмотров3.3K

Постановка задачи


Есть таблица меню в БД с полем порядка order_id, но порядок неправильный и надо порядок обновить по алфавиту другого поля title. Сортировка по полю title исключается, потому что таблица представляет из себя иерархическое меню, где порядок может менять пользователь устанавливая order_id. Использовать отдельно серверную обработку (php) тоже невыгодно — лишнее разделение бизнес логики если это можно сделать в БД, да и на случай больших объемов данных это займёт больше ресурсов.

Решение


В MySQL к сожалению отсутсвует такая возможность ROWNUM, RANK(),
ROW_NUMBER() как в ORACLE или MSSQL. Присутсвие _rowid никак не влияет
на ситуацию. В нашем случае можно использовать переменные, введённые с пятой версии (или раньше):
SET @rank=0;
SELECT @rank:=@rank+1 AS rank, id FROM menu;

Для обновления такой таблицы через саму себя у меня не получилось, поэтому я просто скопировал таблицу под другим именем и выполнил такой запрос:
SET @rank=0;
UPDATE `menu` SET order_id=(
SELECT @rank:=@rank+1 FROM `menu2` WHERE `menu`.id=`menu2`.id LIMIT 1
) WHERE parentID=0 ORDER BY `title` ASC;



Оригинал
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

Высокоуровневое программирование на PHP. Часть 1. Введение

Время на прочтение4 мин
Количество просмотров1.4K
Для начала определимся, что понимается под «высоким уровнем»? Традиционно языки программирования разделяются на поколения. Сам термин поколения языка достаточно редко используется в русской технической литературе, да и сам язык не всегда можно четко и категорично отнести к тому или иному поколению. Поэтому давайте разберемся, сначала с ним, а потом перейдем собственно к PHP.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии10

Восемь НЕ отстойных приложений для Adobe AIR

Время на прочтение3 мин
Количество просмотров5.1K
adobe air logoДля Adobe AIR создано довольно много приложений любой тематики. Они пытаются принести на ваш десктоп больше интернета, и похоже у них получается. В этой статье мы рассмотрим несколько самых популярных AIR-приложений. Если вы не понимаете, что они представляеют из себя, то можете просто думать, что AIR — это среда для выполнения веб-сервисов на вашем рабочем столе. В большинстве случаев это приводит к созданию быстрых и привлекательных пользовательских интерфейсов.

1. Google Analytics


google analytics
Google Analytics на сегодняшний день одно из самых популярных приложений для AIR. Google Analytics является одним из наиболее часто используемых инструментов анализа трафика и эта версия позволяет делать все тоже самое, что и сети, только немного быстрее. Больше о нем вы можете узнать из статьи Марка О'Нила.
Читать дальше →
Всего голосов 67: ↑57 и ↓10+47
Комментарии40

Делаем свой первый виджет для opera.

Время на прочтение7 мин
Количество просмотров1.7K
В этой статье мы рассмотрим создание простого виджета для оперы.


Что нужно, чтобы начать:
  • Базовое понимание веб-технологий.
  • Текстовый редактор.
  • Архиватор, который может создавать зип архивы.
  • Место, где можно разместить виджет.
  • Браузер Opera.

Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии15

Онлайн коммуникация с пользователями сайта. Пиарим Google :-)

Время на прочтение1 мин
Количество просмотров649
Совсем недавно стали поднимать коммерческий проект и захотелось его сделать ближе всем слоям Интернет пользователей.

Встал вопрос, а что для этого нужно?

1. Оформление предварительной заявки на услуги – сделали!
2. E-Mail – есть!
3. Форма обратной связи – есть!
4. Все координаты и телефоны есть!

Думаем: «А чего не хватает?» Нужно что-то типа онлайн-месенджера. Первое, что приходит на ум – это конечно ICQ. Но сразу появляется несколько подводных камней:
1. Еще попадаются менеджеры в компаниях, которые ICQ не пользуются, либо сервис запрещен администратором.
2. Из-за проблем с авторизацией иногда не доходят и пропадают сообщения.
3. ICQ-клиент должен стоять и у пользователя. Этот пункт обойти можно, но нужно быстрое решение.

Стал шерстить Интернет на предмет похожих сервисов. Наткнулся на Веб Мессенджер. В одном из моих постов на него давали ссылку. Но даже с бесплатной версией надо мудрить. А хотелось решения «для домохозяек» В итоге почти отчаявшись, я натыкаюсь на Google Chatback. И Вуаля…
На сайте заказчика маячит статус, в котором находится менеджер компании. Самому менеджеру надо загрузить специальный виджет через браузер, никакого дополнительного ПО не требуется. Пользователю, чтобы обратиться к менеджеру надо кликнуть на блок в котором отображается, что менеджер сейчас в сети, и также открывается нового окошко браузера, которое позволяет быстро переговорить.

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

UPD: Вопрос снят! Недостаток нашли пока один – невозможно сделать оформление блока таким, каким хочется. Если кто знает как – отпишитесь.
Всего голосов 12: ↑9 и ↓3+6
Комментарии16

Мечты сбываются: Flash API для Google Maps

Время на прочтение1 мин
Количество просмотров1K
Сегодня, на конференции Where 2.0, Google объявила о выпуске Flash API для Google Maps. Так что в скором времени можно ожидать множество красивых кросс-платформенных приложений Google Maps выполненных в среде AIR Desktops.

Платформа Adobe AIR сегодня является одной из самых горячих сред разработки на рынке. Как говорится в блоге, после выпуска Javascript Maps API, поступало много предложений и просьбы реализовать возможность использовать мощь Flash для Google Maps, так как решения на Javascript менее привлекательны, а Flash может быть использован разработчиками более творчески.

Разработчики решили разделить ПО на 2 составляющие: интерфейс и непосредственно реализацию. В результате, каждый может построить приложение на текущей версии API, а в процессе добавлений новых API функций, сайт-партнера автоматически определит необходимость обновления. И если есть необходимость воспользоваться преимуществами новых API функций, то только в этом случае нужно будет скачать последний релиз API.

Первые реализации нового API можно посмотреть в Demo Gallery, AFComponents и Navx.

via The Social Trend
Всего голосов 17: ↑14 и ↓3+11
Комментарии4

Масштабируемые и высокопроизводительные веб-приложения. Гл. 1. Протокол HTTP. Draft.

Время на прочтение13 мин
Количество просмотров3K
Обсуждаемые темы: HTTP-запросы; HTTP-ответы; Оптимизация с помощью HTTP keep-alive; Оптимизация с помощью HTTP-pipelining; Оптимизация с помощью HTTP-кэширования: Кэширование в современных клиентах, Стратегии ревалидации, Отключение кэширования и интерактивные страницы; Оптимизация с помощью компрессии; Специфическая оптимизация отдаваемого содержимого; Комбинирование контента.

Комментарии приветствуются.

Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии11

Google открывает для разработчиков СУБД BigTable

Время на прочтение1 мин
Количество просмотров4.5K
Cтало известно, что Google планирует на следующей неделе открыть для разработчиков свою СУБД BigTable. Данное событие, безусловно, можно расценивать как вызов Amazon Web Services (AWS) и начало захватывающей конкуренции с Amazon SimpleDB.

BigTable — масштабируемая система базы данных, базирующаяся на Google File System (GFS). Спроектированная для хранения и управления огромным массивом структурированных данных с учетом внутреннего использования в Google. Система содержит сотни терайбайт информации на тысячах серверов Google. Разработка BigTable была начата в 2004 года, а активное использование уже в феврале 2005 года. Приложения, в которых Google используют BigTable — Google Search, Google Earth, Google Maps, Google Finance, Google Print, Orkut, YouTube, Blogger и т.д.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии18

Информер погоды от Яндекса с определение города по IP (готовый код)

Время на прочтение2 мин
Количество просмотров2.6K
Недавно я заинтересовался темой отображения информера от Яндекс.Погоды посетителю сайта в соответствии с его местоположением. Сам информер Яндекса показывает погоду только в том городе, который выбрал веб-мастер сайта. На практике смысла в таком информере мало (описано в предыдущей статье). Следовательно надо саому определять город, в котором находится посетитель, и выводить ему нужный информер. В процессе изучения темы, я пришел к выводу, что кроме GeoLite City от MaxMind и CNGeoIP нормальных world-wide баз IP->Город нет. Однако, для взаимодействия с сервисом Яндекса база GeoLite City не подходит.
Таким образом, пришлось остановиться на базе CNGeoIP. Была куплена версия базы и на ней был построен алгоритм получения кода города для информера по IP посетителя. Написанный скрипт работает тут: commontools.net/geoip/ya.w.js. Определяется город по IP пользователя, проводится сравнение с базой Яндекса и выводится id города и страны для информера в виде: var yaCountry=20;var yaCity=26850; Скрипт естественно работает на стороне сервера и выводит только id для JS. А на странице с информером скрипт включается в HTML-код страницы через script src="...". Далее другой незамысловатый скриптик подставляет переменные в код вызова информера и на картинке отображается погода в городе, в котором находится посетитель сайта. Под ней ссылка на настройки информера, где посетитель сможет выбрать другой город, а информация сохранится в cookies.
Итак, результат трудов в виде beta-версии, которую, надеюсь, вы мне поможете оттестировать. Страничка получения кода находится здесь: http://commontools.net/geoip/ya.weather.get.html. Это страница для получения кода информера. На ней описано, как код получить и прикрутить к сайту.
Хотя сервис пока на стадии beta-тестирования, уже сейчас можно получить код и разместить его на своем сайте. Сервис будет открытый и дальше, бесплатный и свободный для использования по назначению.
Посмотреть, как информер работает, можно уже сейчас в моем блоге.
P.S. Для любопытных. Домен commontools.net является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.
Всего голосов 10: ↑9 и ↓1+8
Комментарии5

GeoLite City против CNGeoip

Время на прочтение2 мин
Количество просмотров4K
Вчера я протестировал базу GeoLite City от Max Ming. Это бесплатная версия базы, почти ничем не отличающаяся от платной версии. После изучения содержимого базы пришел к неутешительным выводам.
В базе немало ошибок в написаниях городов, часто попадаются разные варианты написания (например, Chelyabinsk и Cheliabinsk), вместо городов иногда пишут области, а иногда улицы. Но самая большая проблема, что названия всех городов написаны только в английском/местном варианте латиницей. Для использования на русскоязычных ресурсах такая база практически непригодна. Составить соответствие английских названий русским в автоматическом режиме практически нереальная задача по причинам, описанным выше. А использовать труд операторов для обработки порядка 180 000 локаций в базе могут позволить себе только довольно крупные компании. Ругательство базы GeoLite City можно найти еще на этом форуме.
[Интересно, а какие базы используют Google, Яндекс?]
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Получение скриншотов и информации с видео

Время на прочтение2 мин
Количество просмотров5.3K
В этой заметке я рассказываю, как сделать скриншот с видео, а так же о том, как получить информацию о видео файле.

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

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Пишем AIR-приложение за 5 минут

Время на прочтение2 мин
Количество просмотров9.9K
Что-то технология Adobe AIR на хабре почти никак не представлена. На мой взгляд, напрасно, так как проект очень интересный. И не только тем, что позволяет создавать интернет-приложения для десктопов, но и тем, что технология мультиплатформенна. Недавно в своем блоге я написал статью о разработке приложений для AIR. Этой статьей мне хочется показать, что разработка для AIR — это просто.

Мне стало интересно оценить трудоемкость разработки программного обеспечения для Air. На сайте Adobe доступен для скачивания SDK и средства разработки. Можно скачать SDK как отдельно, так и в виде расширения к Adobe Dreamweaver CS3. Но самый, на мой взгляд, удобный способ — это установка Aptana Studio. Aptana основана на Eclipse. Air SDK подключается плагином, как это сделано в случае с SDK для Android и ACCESS Linux Platform. Естественно, ничего не мешает подключить плагин для Air SDK и просто в Eclipse. Это приятно. Eclipse становится, фактически, стандартом для разработки ПО для очень разных систем. Вдвойне приятно, что эта интегрированная среда разработки кроссплатформенна и существует для всех современных десктопных операционных систем.

В качестве объекта для эксперимента я выбрал Google Reader. У меня это одно из самых востребованных веб-приложений и оно как нельзя лучше подходит для вынесения в отдельное приложение. Даже своего интерфейса городить не нужно, базовые возможности Google Reader вполне достойны.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии56

Морфологический поиск

Время на прочтение3 мин
Количество просмотров7.4K
Точный поиск, реализуемый в базах данных это очень хорошо, когда дело касается точных фраз. Но что делать, когда среди документов есть Киевская карта но нету Карты Киева? В дело включаются языковые фильтры.Во-первых уже на лексическом уровне становится сложно оперировать с монолитным блоком текста что-бы учитывать всевозможные перестановки слов и расстояния между ними. Во-вторых, чем глубже копать в язык, тем ясней становится то, что семантический web — невероятно сложная планка для автоматических анализаторов и генераторов каких-то образов и моделей, что уж говорить про то что-бы написать RDF вручную.Морфология изучает изменение формы объектов в разных областях науки (ботанике например). Поэтому есть два пути — либо
учитывать все формы при поиске, либо вырезать корень слова и искать
только по нему. Последний способ называется stemming, отличается
быстротой, простотой и не нуждается в словарях. Именно его используют Битрикс и MS Sharepoint, Sphinx. Проблемы возникают со словами где корень изменчив (бег-бежать, расти-прирост, лев-львица). Я не буду рассказывать про стемминг, посмотрите как это реализовано php с русской морфологией. Меня больше интересуют словари. Национальный корпус русского языка приводит примерно какие характеристики могут иметься у любого слова. Теперь мы плавно подходим к пониманию того что нам необходима современная морфологическая база слов (RMU, AOT), прототип для семантической сети.

Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии11

Информация

В рейтинге
Не участвует
Откуда
Днепропетровская обл., Украина
Дата рождения
Зарегистрирован
Активность