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

Технический директор

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

Позиционирование элементов по разным сторонам блока

Время на прочтение3 мин
Количество просмотров104K
Здравствуйте, дорогие читатели. Сегодня я расскажу вам о малоизвестном способе разнести два элемента по разным сторонам блока, в котором они находятся. Например вот так
Читать дальше →
Всего голосов 72: ↑64 и ↓8+56
Комментарии81

Автоматическое определение часового пояса пользователя

Время на прочтение5 мин
Количество просмотров14K
Мужик сидит, слушает радио.
— В Москве полночь, в Благовещенске 6 утра, во Владивостоке, Хабаровске, Южно-Сахалинске 7, в Магадане 8, в Петропавловске-Камчатском 9 часов.
Мужик сидит, сидит, потом встаёт, и с некоторым сожалением произносит:
— Эх, ну и бардак же у нас в стране!

Текст перепечатан с аудиозаписи позывных «Маяка».
Для справки: в Петропавловске-Камчатском теперь UTC+11 (летом UTC+12), поэтому теперь в полночь по московскому времени там было бы 8 часов, а не 9.


Во многих местах на сайтах отображается время. И во многих случаях лучше всего отображать не время по Гринвичу, не время на сервере, а время в часовом поясе пользователя.

Часто предлагается выбрать свой часовой пояс из огромного списка возможных вариантов. Конечно, возможность приятная, но удобнее, если сайт может определить часовой пояс пользователя сам. А сделать это, как можно догадаться, совсем несложно — достаточно получить локальное время и отступ от UTC с помощью JavaScript и передать этот отступ на сервер с помощью XMLHttpRequest.

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

«LibCanvas» — фреймворк для работы с Javascript Canvas, часть вторая

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

Привет, Хабр! Я хочу рассказать тебе о новой библиотеке, которая помогает очень легко и изящно рисовать всякие штучки-дрючки на html5 canvas. Возможно, ты уже слышал о ней, но сейчас она пережила новое рождение. Что-ж, под катом я покажу тебе много интересненьких примеры, расскажу про нюансы работы и дам ссылку на грозу всех секретарш — почти работающий пасьянс «Косынка», созданную с помощью этой LibCanvas.

Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии54

Одиссея тестировщика

Время на прочтение9 мин
Количество просмотров6.1K
IT-индустрия претерпевает стремительные изменения. Все больше и больше команд разработчиков ставит тестирование если не во главу угла, то хотя бы в центр техпроцесса, и тестирование становится влиятельным фактором разработки. Буквально ежемесячно появляются новые улучшенные фреймворки и драйверы для автоматизированного тестирования. Команды, практикующие автоматизированное регрессионное тестирование, нуждаются в тестировщиках, обладающих отточенными исследовательскими навыками. Но большинство людей не получают подобных навыков во время учебы в вузах — откуда же тогда возьмутся такие тестировщики?

В то же время оказывается, что многие специалисты мечтают о хорошей работе, связанной с тестированием. Тестировщики часто спрашивают меня, как «втереться» в команду, работающую по Agile-методике, или как им найти просто хорошую работу. Если у них нет опыта в программировании, они переживают, что недостаточно технически подкованы, чтоб попасть в Agile-команду. С моей же точки зрения, навыки безусловно важны, но отношение к делу — это самое главное. Если вы готовы учиться, делать все для того, чтоб на выходе у команды получился по-настоящему хороший продукт, то у вас хорошие перспективы как у тестировщика. Мой вам совет — добровольно подключайтесь к любой деятельности, которая принесет новые знания и умения, и работайте на совесть, чтоб отточить приобретенные навыки.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии30

Веб-сервисы в теории и на практике для начинающих

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

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

С другой стороны, если гипотетически разделить Интернет на несколько слоев, мы сможем выделить, как минимум, два концептуальных типа приложений — вычислительные узлы, которые реализуют нетривиальные функции и прикладные веб-ресурсы. При этом вторые, зачастую заинтересованы в услугах первых.

Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии30

Советы программисту-дизайнеру интерфейсов

Время на прочтение5 мин
Количество просмотров11K
Нет сложным интерфейсам

Проблема


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

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

Оговорюсь, что эти советы скорее подходят программистам, которые вынуждены заниматься разработкой пользовательского интерфейса. То есть по каким-либо причинам в компании нет дизайнера, регулярных юзабилити тестирований, процесса проектирования интерфейсов и т. п.

Читать дальше →
Всего голосов 270: ↑246 и ↓24+222
Комментарии147

Smokescreen — «Flash-плеер, написанный на Javascript»

Время на прочтение3 мин
Количество просмотров2.3K
Увидел недавно топик-ссылку Smokescreen — конвертер flash в html5\js, решил сделать перевод той информации, которую я уже читал в сети про этот новый инструмент. Если коротко: Smokescreen — новый проект с открытыми исходниками, направленный на преобразование Flash в JavaScript/HTML5 для лучшего взаимодействовия с веб-страницей там, где раньше это было невозможно.
С его помощью вы можете расширить поддержку своего проекта на новые платформы без изучения новых инструментов, Flash автоматически преобразуется в JavaScript/HTML5. Smokescreen будет выпущен под open source лицензией и будет распространяться бесплатно. Стоимость поддержки и обслуживания будет низкой, чтобы вы могли убедиться, что Smokescreen работает именно так, как вам необходимо. Библиотека даст вам широкий выбор инструментов для разработки, включая разработку на JavaScript, без использования ActionScript, и разработку с подключением Flash к HTML-страницам проекта.
Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии34

Почему посетители не становятся покупателями или 17 шагов на пути к идеальному интернет-магазину

Время на прочтение7 мин
Количество просмотров16K
image
Очень часто бывает так, что владелец интернет-магазина выделяет огромные деньги на рекламу — размещает свои товары в торговых сетях, даёт объявления в системах контекстной рекламы, ставит баннеры на сайтах близких по тематике. Все это, безусловно, привлекает огромное количество посетителей, но проблема в том, что лишь ничтожно малая часть из них действительно совершает заказ. Именно этой проблеме и посвящена данная статья.
Читать дальше →
Всего голосов 119: ↑103 и ↓16+87
Комментарии56

Король умер — да здравствует король! ExtJS с сегодня уже Sencha

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

Официальный сайт ExtJS говорит:
"Чудесные чудеса творятся! Сегодня мы объединяем свои усилия с проектами jQTouch и Raphaël и меняем имя нашей компании на Sencha. А так же переезжаем с адреса www.extjs.com на www.sencha.com."


Такие вот пироги! Сайт и твиттер уже живут по новым адресам.

Пару слов о том, что такое JQtouch: это jQuery плагин для разработки под мобильные девайсы типа АйФона, АйПода и прочие «forward-thinking» девайсы.

Что же такое Raphaël? А это крутая штука для разработки векторной графики под веб (см. демки по ссылке).

Ууух, ядреный коктейльчик должен получиться! :)
Всего голосов 83: ↑73 и ↓10+63
Комментарии57

Замены для nginx (Web Sockets)

Время на прочтение1 мин
Количество просмотров9K
В своё время nginx стал глотком свежего воздуха для Web-разработки.

В настоящее время, к сожалению, этот продукт тормозит развитие Web, так как является динозавром эпохи HTTP/1.0.

Если Вы используете современные возможности HTTP/1.1, или partial updates, или Web Sockets, нужна рабочая альтернатива.
Читать дальше →
Всего голосов 111: ↑68 и ↓43+25
Комментарии166

Новая версия FFmpeg — ещё один шаг на пути к HTML5 видео

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

Буквально вчера вышла в свет новая версия набора свободных библиотек для работы с множеством различных медиаформатов — FFmpeg за скромной версией 0 точка 6.

Разработчики немного затянули с выпуском(больше года, предыдущая версия датируется мартом 2009-го), но этот факт меркнет перед списком улучшений этой версии — они просто коллосальны.

Если в кратце, то цель главная цель — улучшение поддержки HTML5 видео, на что указывает ненавязчивое название релиза — «Works with HTML5».
Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии25

Chrome App. Создание приложения для chrome (пример)

Время на прочтение2 мин
Количество просмотров10K
Как все прекрасно помнят, на прошедшей IO, Google анонсировал свой Web Store. А для заполнения его представил т.н. web-приложения.
Сегодня речь пойдёт о том, как создать простенькое приложение и подготовится к открытию Web Store.
Для примера будем создавать приложение из ряда Hello World, а именно — калькулятор.
image

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

12 портативных приложений для веб-разработчика

Время на прочтение3 мин
Количество просмотров19K
image

Любой веб-разработчик всегда должен иметь под рукой свои рабочие инструменты. Конечно, зачастую вы работаете дома или в офисе, со своим рабочим компьютером. Но если вы часто находитесь в разъездах, или же устариваете демонстрации своей работы в офисе у клиентов, то вам на помощь придут портативные версии необходимых программ.
Читать дальше →
Всего голосов 107: ↑66 и ↓41+25
Комментарии87

AeroWindow плагин для jQuery. Создание окон в стиле Windows Aero

Время на прочтение2 мин
Количество просмотров5K
Хочу представить вашему вниманию интересный плагин для jQuery — AeroWindow, позволяющий создать ваш сайт в стиле Windows Aero. Он создает появляющиеся окна в стиле Window 7 Aero, которые предлагают обычные опции и полную функциональность похожую на окна Windows.

image
Читать дальше →
Всего голосов 137: ↑124 и ↓13+111
Комментарии93

Быстрый старт с openID

Время на прочтение3 мин
Количество просмотров15K
Добрый день, друзья.

Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»

Читать дальше →
Всего голосов 67: ↑54 и ↓13+41
Комментарии61

Распознание речи из Javascript

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

Недавно Гугл позволил проговаривать текст с помощью Text-To-Speech API. Теперь возможно и обратное преобразование речи в текст.

Используя speechapi.com возможно построение интересных речевых веб-ресурсов включающих двустороннее текст-в-речь и речь-в-текст (speech-to-text as и text-to-speech) преобразования.

Это стало возможным благодаря использованию различных технологий: flash используется для доступа к микрофону и потоковому аудио, Red5 — как разносторонний медиа сервер с открытым исходным кодом.

(Ссылка на оригинал)
UPD: перенес в Javascript

Пример использования API:

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

Google Maps Javascript API V3 и управление маркерами

Время на прочтение3 мин
Количество просмотров29K
Дело было глубокой осенью. Мне поручили разработку раздела, основной задачей которого является указание местоположения объектов фильтрации и поиска на карте. Что стало заметно сразу же — даже при отображении 10 объектов на карте, можно уменьшить зум до такого, при котором они просто сливаются. Если их будет 100 — появятся жутковатые наложения и тени. Не комильфо!

Поиск решения


Решение очевидное, маркеры нужно группировать. В процессе поиска наткнулся на хабростатью, в которой рассмотрены различные способы группировки большого количества маркеров на карте. Нас вполне устраивали «костыли 1-2», то есть группировка маркеров на клиентской стороне, однако… если бы они подошли, не писал бы я сейчас статью ;)

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

jQuery для начинающих

Время на прочтение9 мин
Количество просмотров506K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Всего голосов 251: ↑230 и ↓21+209
Комментарии83

Техническая реализация REST & user friendly уведомлений после редиректов

Время на прочтение3 мин
Количество просмотров1.2K
Иногда есть необходимость показывать пользователю уведомления после редиректа уже на новой странице.
В статье описаны достоинства и недостатки нескольких реализаций таких уведомлений,
image
Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии58

Что же всё-таки будет в Java 7 — окончательный список

Время на прочтение3 мин
Количество просмотров5.3K
Joe Darcy (лидер проекта Project Coin из Sun) выложил окончательный список нововведений языка Java 7 (оригинал тут). Вот эти нововведения:

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

Информация

В рейтинге
Не участвует
Откуда
Syosset, New York, США
Зарегистрирован
Активность