Итак, пока что последняя статейка с примерами. Речь пойдет о том, как сделать инфо-окошко более функциональным.
Андрей @napster
Пользователь
Примеры Google Maps API №2: Прячем элементы управления картой
1 мин
5.4KКросс-пост второй маленькой статейки на тему Google Maps API из моего блога. На этот раз речь пойдет о том, как скрыть элементы управления картой.
+4
Google Gears — ускоряем ваш сайт
8 мин
1.9KGoogle Gears — открытое программное обеспечение от Google (бета, лицензия BSD), позволяющее использование веб-приложений с помощью браузеров Mozilla Firefox и Internet Explorer под GNU/Linux, Mac OS и Microsoft Windows в режиме оффлайн.
Специальный плагин заставляет браузер работать с локальным кешем страниц (на основе SQLite), периодически синхронизируя кеш с онлайн источником.
Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)
Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.
Специальный плагин заставляет браузер работать с локальным кешем страниц (на основе SQLite), периодически синхронизируя кеш с онлайн источником.
Google gears представляет собой AJAX-API и работает только с веб-сайтами, специально поддерживающими этот сервис. (Источник)
Так вот, почитав немного документацию, я решил интегрировать такую вещь в один сайт. Итак начнем.
+35
Создаем Вашу первую карту
6 мин
10KПеревод
Отсебятина
Так как карма перестала быть на нуле (благодарю того, кто проголосовал), решил сделать несколько кросс-постов из моего блога, где переводил туториалы, посвященные Google Maps API.<p/>
+11
Yandex Server как-то тихо стал бесплатным
1 мин
755Это точно не новость, но я только недавно набрался таки решимости для покупки яндексовского поиска для нашего сайта и… был весьма удивлен, обнаружив единственный вариант лицензии: «бесплатно» company.yandex.ru/technology/products/Yandex-Server/conditions.xml
Беглое исследование показало, что массово продукт еще не используется, на хабре этой информации так же не нашлось.
Установка и конфигурация «по-быстрому», в общем, проблемы не составила; локальный Яндекс довольно шустро проиндексировал более 300 тысяч документов (в индексе «Большого» Я их не более 100 тысяч) и забрав тпримерно 2,6 gb под индекс.
Я доволен; качество поиска — вполне, xml отдается без проблем.
Ищем только по html, txt — невелика беда.
Беглое исследование показало, что массово продукт еще не используется, на хабре этой информации так же не нашлось.
Установка и конфигурация «по-быстрому», в общем, проблемы не составила; локальный Яндекс довольно шустро проиндексировал более 300 тысяч документов (в индексе «Большого» Я их не более 100 тысяч) и забрав тпримерно 2,6 gb под индекс.
Я доволен; качество поиска — вполне, xml отдается без проблем.
Ищем только по html, txt — невелика беда.
+57
Asset helper в CodeIgniter
1 мин
906С помощью этой штуки чертовски удобно управлять материалами (ассетами) сайта, которые представляют из себя статические файлы, не связанные с фреймворком: CSS-стили, JavaScript-файлы, картинки. Создаём папку assets в корне проекта, в этой папке создаем следующие папки:
0
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
Высокоуровневое программирование на PHP. Часть 1. Введение
4 мин
1.4KДля начала определимся, что понимается под «высоким уровнем»? Традиционно языки программирования разделяются на поколения. Сам термин поколения языка достаточно редко используется в русской технической литературе, да и сам язык не всегда можно четко и категорично отнести к тому или иному поколению. Поэтому давайте разберемся, сначала с ним, а потом перейдем собственно к PHP.
+14
+6
Восемь НЕ отстойных приложений для Adobe AIR
3 мин
5.1KПеревод
Для Adobe AIR создано довольно много приложений любой тематики. Они пытаются принести на ваш десктоп больше интернета, и похоже у них получается. В этой статье мы рассмотрим несколько самых популярных AIR-приложений. Если вы не понимаете, что они представляеют из себя, то можете просто думать, что AIR — это среда для выполнения веб-сервисов на вашем рабочем столе. В большинстве случаев это приводит к созданию быстрых и привлекательных пользовательских интерфейсов.
Google Analytics на сегодняшний день одно из самых популярных приложений для AIR. Google Analytics является одним из наиболее часто используемых инструментов анализа трафика и эта версия позволяет делать все тоже самое, что и сети, только немного быстрее. Больше о нем вы можете узнать из статьи Марка О'Нила.
1. Google Analytics
Google Analytics на сегодняшний день одно из самых популярных приложений для AIR. Google Analytics является одним из наиболее часто используемых инструментов анализа трафика и эта версия позволяет делать все тоже самое, что и сети, только немного быстрее. Больше о нем вы можете узнать из статьи Марка О'Нила.
+47
Делаем свой первый виджет для opera.
7 мин
1.7KПеревод
В этой статье мы рассмотрим создание простого виджета для оперы.
Что нужно, чтобы начать:
Что нужно, чтобы начать:
- Базовое понимание веб-технологий.
- Текстовый редактор.
- Архиватор, который может создавать зип архивы.
- Место, где можно разместить виджет.
- Браузер Opera.
+26
Онлайн коммуникация с пользователями сайта. Пиарим Google :-)
1 мин
649Совсем недавно стали поднимать коммерческий проект и захотелось его сделать ближе всем слоям Интернет пользователей.
Встал вопрос, а что для этого нужно?
1. Оформление предварительной заявки на услуги – сделали!
2. E-Mail – есть!
3. Форма обратной связи – есть!
4. Все координаты и телефоны есть!
Думаем: «А чего не хватает?» Нужно что-то типа онлайн-месенджера. Первое, что приходит на ум – это конечно ICQ. Но сразу появляется несколько подводных камней:
1. Еще попадаются менеджеры в компаниях, которые ICQ не пользуются, либо сервис запрещен администратором.
2. Из-за проблем с авторизацией иногда не доходят и пропадают сообщения.
3. ICQ-клиент должен стоять и у пользователя. Этот пункт обойти можно, но нужно быстрое решение.
Стал шерстить Интернет на предмет похожих сервисов. Наткнулся на Веб Мессенджер. В одном из моих постов на него давали ссылку. Но даже с бесплатной версией надо мудрить. А хотелось решения «для домохозяек» В итоге почти отчаявшись, я натыкаюсь на Google Chatback. И Вуаля…
На сайте заказчика маячит статус, в котором находится менеджер компании. Самому менеджеру надо загрузить специальный виджет через браузер, никакого дополнительного ПО не требуется. Пользователю, чтобы обратиться к менеджеру надо кликнуть на блок в котором отображается, что менеджер сейчас в сети, и также открывается нового окошко браузера, которое позволяет быстро переговорить.
В результате: не нужно никакого программирования, не нужно никаких дополнительных программ ни на стороне посетителя, ни на стороне сотрудника компании.
UPD: Вопрос снят! Недостаток нашли пока один – невозможно сделать оформление блока таким, каким хочется. Если кто знает как – отпишитесь.
Встал вопрос, а что для этого нужно?
1. Оформление предварительной заявки на услуги – сделали!
2. E-Mail – есть!
3. Форма обратной связи – есть!
4. Все координаты и телефоны есть!
Думаем: «А чего не хватает?» Нужно что-то типа онлайн-месенджера. Первое, что приходит на ум – это конечно ICQ. Но сразу появляется несколько подводных камней:
1. Еще попадаются менеджеры в компаниях, которые ICQ не пользуются, либо сервис запрещен администратором.
2. Из-за проблем с авторизацией иногда не доходят и пропадают сообщения.
3. ICQ-клиент должен стоять и у пользователя. Этот пункт обойти можно, но нужно быстрое решение.
Стал шерстить Интернет на предмет похожих сервисов. Наткнулся на Веб Мессенджер. В одном из моих постов на него давали ссылку. Но даже с бесплатной версией надо мудрить. А хотелось решения «для домохозяек» В итоге почти отчаявшись, я натыкаюсь на Google Chatback. И Вуаля…
На сайте заказчика маячит статус, в котором находится менеджер компании. Самому менеджеру надо загрузить специальный виджет через браузер, никакого дополнительного ПО не требуется. Пользователю, чтобы обратиться к менеджеру надо кликнуть на блок в котором отображается, что менеджер сейчас в сети, и также открывается нового окошко браузера, которое позволяет быстро переговорить.
В результате: не нужно никакого программирования, не нужно никаких дополнительных программ ни на стороне посетителя, ни на стороне сотрудника компании.
UPD: Вопрос снят! Недостаток нашли пока один – невозможно сделать оформление блока таким, каким хочется. Если кто знает как – отпишитесь.
+6
Мечты сбываются: 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
Платформа Adobe AIR сегодня является одной из самых горячих сред разработки на рынке. Как говорится в блоге, после выпуска Javascript Maps API, поступало много предложений и просьбы реализовать возможность использовать мощь Flash для Google Maps, так как решения на Javascript менее привлекательны, а Flash может быть использован разработчиками более творчески.
Разработчики решили разделить ПО на 2 составляющие: интерфейс и непосредственно реализацию. В результате, каждый может построить приложение на текущей версии API, а в процессе добавлений новых API функций, сайт-партнера автоматически определит необходимость обновления. И если есть необходимость воспользоваться преимуществами новых API функций, то только в этом случае нужно будет скачать последний релиз API.
Первые реализации нового API можно посмотреть в Demo Gallery, AFComponents и Navx.
via The Social Trend
+11
Масштабируемые и высокопроизводительные веб-приложения. Гл. 1. Протокол HTTP. Draft.
13 мин
3KОбсуждаемые темы: HTTP-запросы; HTTP-ответы; Оптимизация с помощью HTTP keep-alive; Оптимизация с помощью HTTP-pipelining; Оптимизация с помощью HTTP-кэширования: Кэширование в современных клиентах, Стратегии ревалидации, Отключение кэширования и интерактивные страницы; Оптимизация с помощью компрессии; Специфическая оптимизация отдаваемого содержимого; Комбинирование контента.
Комментарии приветствуются.
Комментарии приветствуются.
+49
Google открывает для разработчиков СУБД BigTable
1 мин
4.5KCтало известно, что 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 и т.д.
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 и т.д.
+39
Информер погоды от Яндекса с определение города по 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 является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.
Таким образом, пришлось остановиться на базе 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 является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.
+8
GeoLite City против CNGeoip
2 мин
4KВчера я протестировал базу GeoLite City от Max Ming. Это бесплатная версия базы, почти ничем не отличающаяся от платной версии. После изучения содержимого базы пришел к неутешительным выводам.
В базе немало ошибок в написаниях городов, часто попадаются разные варианты написания (например, Chelyabinsk и Cheliabinsk), вместо городов иногда пишут области, а иногда улицы. Но самая большая проблема, что названия всех городов написаны только в английском/местном варианте латиницей. Для использования на русскоязычных ресурсах такая база практически непригодна. Составить соответствие английских названий русским в автоматическом режиме практически нереальная задача по причинам, описанным выше. А использовать труд операторов для обработки порядка 180 000 локаций в базе могут позволить себе только довольно крупные компании. Ругательство базы GeoLite City можно найти еще на этом форуме.
[Интересно, а какие базы используют Google, Яндекс?]
В базе немало ошибок в написаниях городов, часто попадаются разные варианты написания (например, Chelyabinsk и Cheliabinsk), вместо городов иногда пишут области, а иногда улицы. Но самая большая проблема, что названия всех городов написаны только в английском/местном варианте латиницей. Для использования на русскоязычных ресурсах такая база практически непригодна. Составить соответствие английских названий русским в автоматическом режиме практически нереальная задача по причинам, описанным выше. А использовать труд операторов для обработки порядка 180 000 локаций в базе могут позволить себе только довольно крупные компании. Ругательство базы GeoLite City можно найти еще на этом форуме.
[Интересно, а какие базы используют Google, Яндекс?]
+6
Получение скриншотов и информации с видео
2 мин
5.3KВ этой заметке я рассказываю, как сделать скриншот с видео, а так же о том, как получить информацию о видео файле.
Конечно, многие уже знают, как сделать скриншот с видео. Но у кого то, как говорится, руки не доходят. Вот для таких людей я и написал эту небольшую заметку. Надеюсь, она будет полезна.
Конечно, многие уже знают, как сделать скриншот с видео. Но у кого то, как говорится, руки не доходят. Вот для таких людей я и написал эту небольшую заметку. Надеюсь, она будет полезна.
+9
Пишем 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 вполне достойны.
Мне стало интересно оценить трудоемкость разработки программного обеспечения для 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 вполне достойны.
+29
Морфологический поиск
3 мин
7.4KТочный поиск, реализуемый в базах данных это очень хорошо, когда дело касается точных фраз. Но что делать, когда среди документов есть Киевская карта но нету Карты Киева? В дело включаются языковые фильтры.Во-первых уже на лексическом уровне становится сложно оперировать с монолитным блоком текста что-бы учитывать всевозможные перестановки слов и расстояния между ними. Во-вторых, чем глубже копать в язык, тем ясней становится то, что семантический web — невероятно сложная планка для автоматических анализаторов и генераторов каких-то образов и моделей, что уж говорить про то что-бы написать RDF вручную.Морфология изучает изменение формы объектов в разных областях науки (ботанике например). Поэтому есть два пути — либо
учитывать все формы при поиске, либо вырезать корень слова и искать
только по нему. Последний способ называется stemming, отличается
быстротой, простотой и не нуждается в словарях. Именно его используют Битрикс и MS Sharepoint, Sphinx. Проблемы возникают со словами где корень изменчив (бег-бежать, расти-прирост, лев-львица). Я не буду рассказывать про стемминг, посмотрите как это реализовано php с русской морфологией. Меня больше интересуют словари. Национальный корпус русского языка приводит примерно какие характеристики могут иметься у любого слова. Теперь мы плавно подходим к пониманию того что нам необходима современная морфологическая база слов (RMU, AOT), прототип для семантической сети.
учитывать все формы при поиске, либо вырезать корень слова и искать
только по нему. Последний способ называется stemming, отличается
быстротой, простотой и не нуждается в словарях. Именно его используют Битрикс и MS Sharepoint, Sphinx. Проблемы возникают со словами где корень изменчив (бег-бежать, расти-прирост, лев-львица). Я не буду рассказывать про стемминг, посмотрите как это реализовано php с русской морфологией. Меня больше интересуют словари. Национальный корпус русского языка приводит примерно какие характеристики могут иметься у любого слова. Теперь мы плавно подходим к пониманию того что нам необходима современная морфологическая база слов (RMU, AOT), прототип для семантической сети.
+18
Информация
- В рейтинге
- Не участвует
- Откуда
- Днепропетровская обл., Украина
- Дата рождения
- Зарегистрирован
- Активность