Pull to refresh
99
0
Дима Семьюшкин @Devgru

Веб-разработчик

Send message

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

Reading time2 min
Views2.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 является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.

Случай с доктором Лестером

Reading time7 min
Views954
Игры, так же как и все прочее, имеют свой срок жизни. Они рождаются, живут, стареют и умирают. Но есть среди них те, что переступают грань обыденности. Они, как доподлинные произведения искусства, находятся вне времени и пространства.

Когда в 1993 году я впервые познакомился с Another World, то тут же ошибся. Увидев вначале игры логотип Delphine Software, я решил, что она была сделана многочисленным коллективом компании. Тогда мне в голову не могло придти, что это авторский проект, созданный одним единственным человеком по имени Эрик Шайи.

15 лет спустя мне в руки попал диск с фильмом, где я впервые увидел его.

Another World
Читать дальше →

Памятка для SEO оптимизаторов

Reading time1 min
Views1.9K
Вот решил поделиться некоторым материалом, который сам составил в ходе экспресс-изучения SEO оптимизации и раскрутки сайтов. Просто попался видео-курс Юсуфа Губайдуллина, который продает его на promoguide.ru и решил воспользоваться случаем. Честно говоря, курс не понравился — нудно как-то рассказывается. Оценил содержание на 4 с минусом, а изложение — на 2 с плюсом. Само SEO весьма скучная вещь, но нужная, поэтому составил небольшую памятку для себя — чтобы не держать это в голове и легко вспомнить когда понадобится. Здесь два файла: первый — просто картинка, второй — в формате freemind, для тех, кто желает что-то для себя добавить.

SEO-карта
Читать дальше →

Getting Real, 2nd edition.

Reading time1 min
Views662
В блоге 37signals Jason пишет о том, что в этом году рассматривается возможность написания/публикации второй части книги Getting real, которая разошлась тиражом в 40,000 копий.

Запись гласит:
«Вторая часть будет ориентирована на ведение маленького бизнеса. Меньше веб-разработки, больше бизнес стратегии.

Предполагаемые разделы будут включать информацию о:
- Кого нанимать на работу.
- Как окружить себя интересными людьми.
- Как рекламировать/продавать без необходимости грабить банк.
- Как сделать так, чтобы о вас писали, при отсутствии PR отдела.
- Как сконцентрироваться на том, что имеет значение и игнорировать бессмысленное.
- Как делать большие вещи маленькой командой.
- Красоте основ.
- Объятии неизведанного.
- Выбрасывании планов и лишь скольжения по ним.
- Самовыражении.
etc.»

Кроме того — 37signals ищут партнеров для публикации, которые верят в то, что "Getting Real" может стать бизнес бестселлером.

Создаем свою клавиатуру с DX1 System Input

Reading time1 min
Views785
Современные клавиатуру — венец технологий, но для геймеров они все еще не отличаются совершенством. Только вспомните себе как много раз Вы мечтали о том, чтобы переставить клавиши в соотвествии со своими требованиями, в нужном порядке или желали назначить свои алиасы для определенных клавиш.

DX1 System Input была сделана с целью реализации этих желаний! Все достаточно просто, необходимо разместить клавиши в удобном для Вас положении на подложке и назначить каждой клавише свою команду. Это может быть одна команда-функция или несколько последовательный запускаемых команд, у Вас полная свобода в реализации своих затей.



25 специальных клавиш способны крепиться к подложке. А если Вы запутались или хотите изменить назначении клавиши, просто открепите ее и снова расположите на новой позиции. Подложка пуста, так что у Вас есть возможность разместить свой бэкграунд или расположить на нем ярлыки. Любые макросы могут быть настроены прямо «налету» для всех клавиш. Находясь прямо в игре, понимая что Вам нужна новая клавиша, просто придерживаете ее, назначаете новую команду и продолжаете играть дальше! DX1 работает с различными программами и с легкостью запоминает команды и макросы для каждой из них.

Системные требования:
  • Windows XP / 2000 (with Service Pack 3 or later) – US Version
  • 350 MHZ Pentium III PC (or equivalent)
  • 128 MB RAM
  • 50 MB of free hard drive space
  • Powered USB Port (1.1 or 2.0)
  • US English Keyboard
  • Mouse


Стоимость в районе $150. Занятная вещица для настоящих геймеров и любителей экзотики! :)

10 CSS фраймворков и что это такое

Reading time2 min
Views1.9K
Давайте кратко разберёмся, что такое CSS фраймворк. Вольный перевод с английской википедии гласит:
Это библиотека, которая предназначена для создания и внедрения более лёгкого и валидного кода. Общий смысл этой библиотеки схож с PHP или JS библиотек, которые получили более широкое распространение и известность широким массам.

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

Проблемы с кодировкой при посылке @mail в PHP

Reading time1 min
Views1.2K
Недавно столкнулся с проблемой, при отправке сообщений gMail (да и другие тоже), не могли верно отобразить моё письмо, написанное кирилицей.
Полазил в интернете, там этот вопрос уже поднимался, и предлагалось решение. Переработав его под себя, решил выставить и здесь тоже. Думаю, что некоторым из вас оно тоже может пригодиться:

//Функция trim уберет пробелы в начале и в конце
$title = htmlspecialchars(trim($_POST['title']));
$mess = htmlspecialchars(trim($_POST['mess'));

//Конвертирование
$title= '=?koi8-r?B?'.base64_encode(convert_cyr_string $title, «w»,«k»)).'?=';
$to = 'some_main@gmail.com';
$head = «Content-Type: text/plain;\r\n»;
$head .= «X-Mailer: PHP/».phpversion()."\r\n";
$head .= «Reply-To: admin@gmail.com\r\n»;
$head .= «To: $name <$to>\r\n»;
$head .= «From: admin@gmail.com\r\n»;
$head .= «Subject: $title\n»;

//Отправка
mail($to, $title, $mess, $header);

ЗЫ. Надеюсь, пригодится!

5 уроков, которые я извлек из создания своих онлайн сервисов

Reading time1 min
Views822
1. Не стоит планировать все с самого начала и до мелочей.
(Если ты не проектируешь баллистическую ракету, конечно). В процессе реализации тебе будут приходить новые интересные идеи и лучшее понимание некоторых вещей. Возможно, что часть функций которые ты так тщательно проектировал вообще не будут востребованы.

Сделал часть фич — залей на сайт, пусть друзья (первые пользователи) потестирует, посмотри что они скажут.

Первые релизы будут пробой пера, ты будешь искать что работает, а что нет, что хорошо, а что не очень. Поэтому уделяй меньше времени красоте кода и стройности базы данных и больше новым фичам, новым возможностям.
Читать дальше →

В кого вкладывать время и деньги?

Reading time1 min
Views3K
Один работник зашел к барину и говорит:
— Барин! Почему ты мне платишь всего пять копеек, а Ивану всегда пять рублей?
Барин смотрит в окно и говорит:
— Вижу я, кто-то едет. Вроде бы сено мимо нас везут. Выйди-ка, посмотри.
Читать дальше →

Красивые названия цветов или Королевский синий

Reading time1 min
Views29K
Все началось с того, что клиент, как бы между делом, написал: "Смените цвет иконки на Королевский синий." (на английском — Royal Blue) Сказать честно, для меня такая постановка задачи показалась необычной. Вот есть темно-синий, светло-синий и просто синий, но никакого королевского я не знаю. Пришлось искать.

Оказалось, что уже многие века существует целый список названий цветов и оттенков. Причем, некоторые названия весьма забавные:



Почему бы не использовать активнее эти названия в профессиональном лексиконе дизайнера? Не бездушные цифро-буквы вроде #C41E3A или R:196 G:30 B: 58, а красивые слова — цвет «Кардинал». Тогда речь дизайнера будет звучать как стихи. Например: "Я считаю, что сочетание текста цвета Светлая Вишня и фона цвета Шартрез делают композицию очень необычной. Если добавить нефритовых пятен в качестве акцентов, то вообще будет опупенно."

Решение проблемы с длинными заголовками

Reading time1 min
Views578
Вы наверняка не раз видели, что в колонке, к примеру, с названиями последних топиков на форуме порой происходят неприятные метаморфозы. Выглядит это примерно так (с вашего позволения немного симулирую :)).
* Проблемы с новым компью…
* Почему не работает float:le…
* Как решиться жениться за…

Неопрятно, правда? Есть куча решений, но мне в голову пришло ещё одно (может не только мне?).
Читать дальше →

PHP5 как скриптовый язык для Windows

Reading time3 min
Views1.1K
На этих выходных занимаюсь уборкой, в т.ч. и на компьютере. Уборка связана с кучей повторяющихся действий — хочется их автоматизировать и уйти пить пиво. Однако…

У *никсоидов есть shell-скрипты и Perl. Завидую.
У пользователей Windows есть BAT-скрипты, js-скрипты и vbs-скрипты. У первых не хватает гибкости, а Javascript или VBScript учить смысла нет.

Но ведь у меня есть PHP с его колоссальными возможностями. А PHP5 можно использовать через Command Line Interface, короче, вызывать скрипты без сервера, с командной строки. Выглядит это где-то так:
>php.exe script.php

Коряво и ненативно. Я расскажу, как можно довести PHP-скриптинг под Windows до такого же удобства, что и BAT. Вру — до такого же, что и shell-скрипты. Линуксоиды обзавидуются!
Читать дальше →

Тихое обновление без отрыва от работы

Reading time2 min
Views966
Я разрабатываю и поддерживаю один внутрикорпоративный инструмент. Если вкратце – довольно сложная автоматизированная система мониторинга, клиент работает под Windows. Собственно, проблема была в том, как обновлять программу. Основные препятствия:
Программа запущена на нескольких компьютерах, причём запущена постоянно.
Неплановый запуск программы – вещь очень нежелательная. Перезапуск занимает пару минут, но за это время может проскочить важное событие, которое не будет отслежено.
Программа запускается с общего сетевого ресурса через ссылку (так удобнее для всех), соответственно, пока на всех рабочих местах работа программы не будет завершена, заменить бинарный файл нельзя – он используется.
Читать дальше →

Социальные сервисы и права пользователей

Reading time5 min
Views780
То, что мы наблюдаем сегодня — это шквальный рост числа новых сервисов. Каждый день появляется что-то новое. Что можно сказать о пользователях, на которых рассчитаны все эти сервисы? Они растерянны, сбиты с толку этим бесконечным потоком предложений. Они мне представляются как несчастные граждане, не ведающие о своих правах, завязшие в водовороте бурлящего рынка. А есть ли какие-либо права у пользователей этого «дикого» социального веба? Участники группы Open Social Web убеждены, что каждый пользователь имеет право владения персональными данными, право контроля над тем, с кем эти данные могут быть разделены и право предоставлять постоянный доступ к этим данным для определенных внешних сайтов. Но чем это может помочь нашим раздосадованным пользователям? Видите ли, для того чтобы в полной мере опробовать какой-либо новый сервис, требуется регистрироваться в нем, заполнять все свои персональные данные, формировать свой круг друзей, проявлять активность и накапливать авторитет. Вот она — проблема.
Читать дальше →

Последняя лекция — как реализовать детские мечты

Reading time1 min
Views1.2K
Недавно наткнулся на выступление Randy Pausch, профессора, выступившего с последней лекцией про жизнь и детские мечты после того, как врачи сказали, что его дни сочтены. Вот здесь его коротенькое выступление на шоу Опры; зацепило, даже перевел на русский, так что рекомендую обязательно посмотреть.

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

Обзор музыкальных виджетов

Reading time2 min
Views932
Я подобрал несколько наиболее интересных, простых в использовании, а также бесплатных музыкальных виджетов, которые Вы можете разместить у себя в блоге, на сайте и тд.

Так как embed код виджетов на Хабре не разместить, внешний вид в будет представлен скриншотами.

1. Mixwit.com – ретро кассета


Достаточно стильный виджет с широкими возможностями настройки внешнего вида, а также мощной панелью управления. Самое главное преимущество – возможность разместить сразу несколько треков в одном виджете.

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

P.S. Есть возможность закачать свой трек, указав к нему URL, но это неудобно, т.к. сначало придется закачивать трек куда-либо на сайт.
Читать дальше →

Information

Rating
8,791-st
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity