Как стать автором
Поиск
Написать публикацию
Обновить
-1
0
MOVe @MOVe

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

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

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Количество просмотров37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →

Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Время на прочтение7 мин
Количество просмотров105K
Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.

1. Почему не mb_detect_encoding() ?


Если кратко — он не работает.
Подробнее - под катом

Электронная почта на сайтах-сервисах

Время на прочтение6 мин
Количество просмотров3.6K
Данный пост касается не только самих писем, но и способов их использования на пользовательских сервисах. При написании статьи я старался уходить от частностей, разве что приводя их в качестве примера.

Затрагиваемые темы:
  1. Зачем нужно посылать электронные письма пользователю
  2. Когда следует посылать почту
  3. От чьего имени должно приходить письмо
  4. Что необходимо писать в письмах
  5. Обработка ответных сообщений

Многобуквие инсайд

Как создать вебсайт для мобильных устройств

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

Стили


User Agent

Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Читать дальше →

Технологии Citrix HDX: 2 мегабита в секунду для удаленной работы с 3D

Время на прочтение4 мин
Количество просмотров22K
В одном из прошлых материалов мы показали, как можно работать с операционной системой Windows 7 на планшете Apple iPad. Возможность полноценной удаленной работы с «тяжелыми» приложениями – это как раз то, что делает технологии виртуализации такими привлекательными. В этот раз мы не будем ограничиваться обычными офисными задачами и покажем, как можно использовать решения Citrix для удаленного доступа при решении гораздо более сложных рабочих проблем, используя набор технологий Citrix HDX.

Приведу несколько «сложных» задач. Можно ли провести в виртуальном окружении видеоконференцию, используя веб-камеру, встроенную в ваш «клиентский» ноутбук? Сможете ли вы смотреть видео в виртуальном окружении, используя достаточно медленное соединение с интернетом? А видео высокой четкости? Наконец, можно ли полноценно работать с 3D-приложениями удаленно, включая как игры, так и сложные комплексы для трехмерного моделирования? Можно ли удаленно работать с тяжелыми приложениями на многопроцессорной рабочей станции, подключаясь к ней с ноутбука? Ответ на все эти вопросы – положительный, и в этом материале мы расскажем об используемых в таких задачах решениях Citrix подробнее.
Читать дальше →

Наиболее полное руководство по Internet Explorer 9 для разработчиков (и не только), часть 6

Время на прочтение5 мин
Количество просмотров1.3K
CSS3 2D Transforms, HTML5 Semantic Elements, JavaScript, демонстрации и тесты

image

В ходе конференции PDC10 была представлена очередная тестовая версия браузера Internet Explorer 9. IE9 Preview 6 – это версия  предназначенная для тестирования разработчиками и, как предыдущие превью-версии, она не содержит пользовательского интерфейса. Зато ее можно установить на компьютер не удаляя IE9 Beta.

Этот пост раскроет детали шестой тестовой версии Internet Explorer 9 и расскажет о нововведениях в браузер, которые будут важны для разработчиков.

Это шестая статья из серии статей про нововведения в IE9 для разработчиков. Ознакомится с предыдущими частями можно здесь:
Читать дальше →

Фотографируем Солнце

Время на прочтение2 мин
Количество просмотров38K
image
Это потрясающее изображение Солнца уже успело облететь весь интернет. Журналистам Wired удалось разузнать у автора фотографии художника и астрофотографа Алана Фридмана, как он сделал этот снимок.
Читать дальше →

Ещё раз о минусе и дефисоминусе

Время на прочтение2 мин
Количество просмотров4.3K
С тех пор как я вернулся с вольных хлебов переводчика к работе программиста в офисе словно невидимая рука толкает меня без четверти семь, настойчиво побуждая подниматься. Даже в субботу. А чем заняться спросонок?

Сейчас я решил написать про дефисоминус (то, что присутствует на наших клавиатурах вместо настоящего минуса и настоящего дефиса, в Юникоде, тем не менее, существующих) и настоящий минус. На «Хабре» была уже по этому поводу прекрасная статья «Чёрточки: только ли тире, минус и дефис?» (да и не она одна), но когда начальник заметил, что с моим появлением в проекте минусы на его страницах визуально преобразились и якобы стали шире плюсов, я почувствовал, что мне могут потребоваться числовые доводы (вот оно, математическое образование), а не только ссылки на авторитеты.

И я провёл замеры дефисоминуса и минуса (а сравнения ради и плюса) в ряде гарнитур, популярных у общественности или среди меня лично: Times New Roman и Arial Unicode (все замеры дали одинаковые результаты), Linux Biolinum и Linux Libertine (то же самое), Georgia, Tahoma, Verdana, Calibri, Code2000, Либерастика, Arial, Courier, Courier New. И вот что я установил.

Конечно, начальнику показалось. По контрасту с обычной практикой использовать вместо минуса дефисоминус. На самом деле ширина настоящего минуса в части названных гарнитур (в том числе в используемой в проекте Tahoma) в точности соответствует ширине плюса, а в остальных ближе к ней, нежели у куцего дефисоминуса. Заметно шире плюса он только в Code2000 и Linux Biolinum/Linux Libertine, а в Courier New с шириной плюса неожиданно точно совпадает ширина именно дефисоминуса.

Однако, есть и ещё один довод: высота расположения в строке. Во всех названных гарнитурах, кроме Courier, минус находится на одной высоте с плюсом, а дефисоминус — только в некоторых, а в популярных Times New Roman и Arial заметно ниже (аж на два пикселя при размере шрифта 16px).

В целом, с минусом, по-моему, всё ясно. Его применение диктуют не только семантические, но и визуальные соображения.

Objective-C с нуля

Время на прочтение23 мин
Количество просмотров442K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →

XPath наглядно

Время на прочтение1 мин
Количество просмотров60K
XPath является одним из ключевых моментов на дороге к пониманию XSLT. И на первых порах хочется получить какой-нибудь простой способ поэкспериментировать с ним, чтобы в деталях разобраться, как он работает. Способа такого, впрочем, не наблюдается. Приходится или качать совсем не бесплатные XML/XSLT редакторы, или довольствоваться статичными картинками с zvon.org. Может быть, я плохо искал. Но с моей колокольни все обстоит именно так. И когда передо мной в очередной раз встала задача «Объяснить XSLT», в голове и родилась идея крохотного сервиса. После того, как все заработало, было решено выкатить его для всеобщего пользования: наверняка не я один сталкивался с похожими проблемами.
Читать дальше →

Build Your First PHP for Android Application

Время на прочтение5 мин
Количество просмотров34K
Операционная система Android повергла рынок сматрфонов в шок :). В отличии от компании Apple, которая предъявляет достаточно строгие требования к разработчикам, которые хотят выставлять свои приложения в iPhone App Store, Google создал платформу Android открытой (в оригинале wide open). В настоящее время вы можете писать приложения PHP. Парни из Irontech создали необходимое, и используя Scripting Layer для Android (SL4A), вы можете создавать на PHP приложения для Android.
Вы думаете - сейчас мы будем читать о чем-нибудь ужасном?

Шпаргалка: кеширование картинок, CSS и JS в NGINX

Время на прочтение1 мин
Количество просмотров79K
Заметка для тех, кто не специалист в NGINX, а проблему нужно решить быстро.

Допустим, у вас на сервере стоит NGINX и вы хотите, чтобы вся статика кешировалась у клиента. В конфиге хоста NGINX пропишите это:

server {
listen 80;
server_name mysite.com;
...
# Задаем правила обработки статического контента (типов файлов можно поставить и больше)
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ {
root /path/to/document/root/; # Путь к корню вашего сайта
access_log off; # не пишем логи
expires 3d; # кешируем у клиента на 3 дня
}
}

Проверить можно в FireBug во вкладке NET: обновите страницу 2 раза и посмотрите код ответа. Если 200 ОК, то не работает. Если 304 Not Modified, то работает.

Неплохо ускоряет работу сайта.

runkit 1.0.2

Время на прочтение1 мин
Количество просмотров4.1K
Ничто не предвещало ничего (с)

После 5 лет молчания и отсутствия развития, runkit разродился новой версией (даже двумя) и, потенциально, новым мейнтейнером (dzenovich).

Пока в официальном pecl-репозитории он отсутствует, но когда это нас останавливало:
pecl install github.com/downloads/zenovich/runkit/runkit-1.0.2.tgz

Код проекта находится по адресу: github.com/zenovich/runkit.

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

Беспроводное HD-видео: экстенедеры-видеосендеры, или заменители проводов

Время на прочтение8 мин
Количество просмотров94K
Здравствуйте, уважаемые читатели Хабрахабра. В сегодняшней статье мне бы хотелось продолжить цикл статей о беспроводной передаче аудио-видео (1,2,3) и осветить такой класс беспроводных устройств передачи HD-видео и звука, как экстендеры. Ещё данные устройства часто называют — “видеосендеры”, хотя это слово отражает только часть функционала, отвечающего за передачу видео.

((Осторожно, Трафик!))

А суть экстендеров в...

Еще несколько полезных плагинов

Время на прочтение2 мин
Количество просмотров1.8K
За последний месяц, я написал уже два поста с обзорами плагинов jQuery (1 и 2). Надо сказать, что подобные статьи на английском языке появляются все чаще и чаще. Однако их содержание довольно быстро приедается. Галереи картинок, слайдеры, опять галереи картинок, многочисленные динамические меню и опять слайдеры. Мне не хочется описывать очередную порцию подобных плагинов. Поэтому сегодня я расскажу не о двадцати-тридцати как обычно, а только о семи важных на мой взгляд плагинах, о которых очень хотелось рассказать. Лучше меньше, да лучше.
Читать дальше →

Redis 2.0

Время на прочтение2 мин
Количество просмотров5.9K
3 сентября 2010 незаметно вышел Redis 2.0. Появилось много интересных возможностей. Некоторые из них расширяют границы продвинутого key-value хранилища до организации очередей и не только. Перевод списка новых возможностей с сайта Redis:

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

Стоит упомянуть, что Redis 2.0 только достиг своего первого стабильного релиза, Redis 2.2 близок к замораживанию новых возможностей, поэтому будьте готовы к новым восхитительным штукам уже скоро!

MULTI/EXEC

Семейство MULTI/EXEC команд было добавлено, чтобы заполнить необходимость выполнять несколько команд, как один атомарный блок (от переводчика: в общем-то это аналог транзакций в обычных базах данных). Потому что все команды внутри блока MULTI/EXEC сериализуются и выполняются последовательно, то невозможно, чтобы другой клиентский запрос был выполнен в середине выполнения этого блока. Все команды выполняются одна за другой, когда вызывается EXEC. Это гарантирует, что либо выполняются все команды, либо ни одна, независимо от состояния соединения с клиентом.
Читать дальше →

Плагин авторизации через Вконтакте, Yandex, Google, OpenID и тп

Время на прочтение1 мин
Количество просмотров19K
В недавнем моем посте «Javascript виджет авторизации OpenID» на хабре, я описал свою разработку виджет-consumer авторизации OpenID.

Прошло время, я получил много положительных отзывов, получил замечания и пожеланию по улучшению виджета. Среди пожеланий развития была просьба создать WordPress плагин и добавить поддержку Вконтакте OpenAPI.
Читать дальше →

Canvas-трансформации доступным языком

Время на прочтение3 мин
Количество просмотров53K
Доброго времени суток, хабравчане! В этой статье я подробно расскажу вам о трансформации и вращении в javascripte. Матрица трансформаций, на первый взгляд, штука непонятная и многие ею пользуются даже не осознавая, что она делает на самом деле, используя готовые значения из интернета. На MDC об этом рассказано скудненько, а информацию в английской Википедии тяжело назвать общедоступной. Постараемся разобраться в этом вместе.
Читать дальше →

HTML5 Video — от А до Я

Время на прочтение6 мин
Количество просмотров239K
Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!
Читать дальше →

Разбираемся с Notifications API

Время на прочтение2 мин
Количество просмотров7.3K
Продолжаю серию переводов статей сайта html5rocks. Мы уже говорили про то, как внедрять шрифты, как работать с видео, сегодня мы поговорим про то как делать всплывающие сообщения в браузере с помощью Notifications API. Работает оно к сожалению пока только в Хроме, но есть уже начальная версия спецификации. Под катом подробности.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность