Как стать автором
Обновить
3
0

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

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

Responsive Email Design, или Как прочитать письмо на холодильнике

Время на прочтение9 мин
Количество просмотров26K
image Для нас, как и для большинства социальных сетей, очень важны email-рассылки. Одной из интересных и сложных технических задач является корректное отображение писем на мобильных устройствах. Сейчас около 23% писем Badoo открывается именно на них, и это число постоянно увеличивается. А возможно, кто-то прямо сейчас читает наше письмо на своем интернет-холодильнике.
Сегодня мы расскажем, каких правил придерживаться в разработке электронных писем, как сохранить их юзабилити на мобильных устройствах, а также поделимся своими хитростями, накопленными в процессе работы.

Требования


С какими проблемами мы столкнулись и какие требования предъявляются к нашим письмам:

  • письма должны корректно отображаться в множестве разных почтовых клиентов и браузеров;
  • они должны быть оптимизированы под различные устройства на платформах iOS и Andriod (смартфоны с большим, средним и малым разрешением экрана; планшетные компьютеры);
  • нужна обязательная поддержка Outlook 2003/2007/2010, т.к. он занимает большой сегмент использования;
  • редактирование компонентов, которые применяются еще в 50 шаблонах писем;
  • необходимо создавать универсальные блоки, которые будут подстраиваться под ситуацию, т.к. в письмах данные имеют динамическую структуру (например, письма переводят на 44 языка, в них меняются размеры блоков, изображений, размер текста).
Читать дальше →
Всего голосов 92: ↑81 и ↓11+70
Комментарии26

Подборка инструментов для эффективной frontend разработки

Время на прочтение3 мин
Количество просмотров101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки
Всего голосов 204: ↑197 и ↓7+190
Комментарии46

Изучение Node.js от начала до конца на практике. Часть 1

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

Предыстория


Различной документации по Node.js его модулях огромное количество, всякого рода готовых решений тоже хватает, но начав писать сайт сталкиваешься с проблемой: «А с чего начать?». Хочу вам рассказать свой опыт изучения Node.js на практике. Задача стоит довольно простая и понятная — GPS Трекер с интернет сервисом, отображающим наши передатчики на карте, рисующим маршрут перемещения и т.д., на сколько разгуляется фантазия. Проект не коммерческий и пишется во благо человечества для себя.
Читать дальше →
Всего голосов 71: ↑63 и ↓8+55
Комментарии33

Пусть css ищет или база данных в HTML 2

Время на прочтение5 мин
Количество просмотров5.8K
В прошлой статье я отказался от использования связки html + php + sql, оставив только html. Как и в прошлый раз, на html странице находится сразу все, что нам нужно, и остаётся только убрать лишнее, исходя из параметров поиска. Раньше мы это делали при помощи JavaScript, а теперь воспользуемся возможностями CSS.

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

Рендеринг замедленной съёмки на основе отдельных кадров

Время на прочтение2 мин
Количество просмотров11K
Теперь нам не нужна высокоскоростная камера, чтобы делать замедленную съёмку. Швейцарский программист и дизайнер Саймон Югстер (Simon A. Eugster) выпустил замечательный видеоредактор slowmoVideo для рендеринга замедленной съёмки (slow motion) на основе отдельных кадров. Можно использовать slow motion как художественный эффект — чтобы подчеркнуть какой-то момент на видео. Или можно генерировать целые видеоролики на основе ограниченного количества кадров. Например, вы даёте на входе 24 кадра, а программа генерирует 240.



репозиторий git

Инструкция по установке необходимых библиотек и компиляции здесь. К сожалению, программа работает только на картах nVidia из-за использования библиотеки V3D (GPU-KLT+FLOW).

UI, скринкаст и образцы проектов
Всего голосов 81: ↑76 и ↓5+71
Комментарии23

Ёмкостный датчик касаний без внешней обвязки на STM32 Discovery

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

В начале этого года достойный гражданин Ariman написал статью о том, как прикрутить к микроконтроллеру ёмкостный сенсор прикосновения. Эта идея показалась мне довольно перспективной, некоторым приборам сенсорные клавиши подошли бы куда лучше механических. В этой статье я расскажу о своей реализации этой полезной технологии на основе отладочной платы STM32 Discovery.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии20

RadioPoint — или мой велосипед в сфере интернет-радио

Время на прочтение4 мин
Количество просмотров2.9K
Уже достаточно давно, когда я только в первый раз столкнулся с затеей интернет-радио, меня огорчило то скудное наличие средств создания потока, что имелось на рынке. Либо выбор сводился к комбайну SAM Broadcaster, либо к кучке утилит формата «собери конфиг сам». Мне же хотелось чего то более удобного, чем набор command-line утилит (т.е. с удобным графическим интерфейсом), но и более легкое, чем SAM. И вот, спустя годы, я начал писать свой велосипед…

Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии14

SITH — техника CSS3 для плавной смены изображения

Время на прочтение2 мин
Количество просмотров17K
Доброго времени суток, Хабр!

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

Не встретив на просторах Интернета чего-либо подобного, я взял на себя ответственность назвать этот метод SITH (Soft Image Transition on :Hover) — плавный переход изображения при наведении.

SITH - CSS3 Soft Image Transition on :Hover

Под хабракатом Вы найдёте полное описание техники, весь код, несколько скриншотов и ссылку на демонстрационную версию.
Читать дальше →
Всего голосов 140: ↑119 и ↓21+98
Комментарии48

Как мы создавали стенд лабораторный для дисциплины заморской «Информатика»

Время на прочтение3 мин
Количество просмотров7K
Долго ли история сказывается, споро ли дело делается, но сложилось у меня ощущение, что студент нынче пошел какой-то иной. Не то, чтобы не слушающий, и не сколько глупый, сколь в себя неверующий. Не верит он, что может сам, своими руками что-нибудь стоящее сделать. А поскольку специальность у нас «Управление техническими системами» и без «прямых ручек работящих» здесь никак, то решил я им помочь. Показать, что просто все, что баклуши бить любой подмастерье может. Было бы полено, да инструмент ладный – компьютер, то бишь.

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

Собрались мы с дипломником моим по осени и думку думать стали – каков уклад учебный и какую работенку можно сладить, чтоб и студентам первоклашкам в прок, и проект дипломный к весне поспел у него. Надумали стенд собрать лабораторный – чтобы компьютер с Неладной подключить по кабелю универсальному к сундучку секретному, который бы желание наше в сигналы электрические перерабатывал и механизму передавал. А механизм сей тоже был заморский хитроумный – машинка управляемая.
И главное, чтобы расход небольшой бы вышел, не то разоримся мы, а барин денег не даст – нету, говорит, в следующем году ожидайте.
Читать дальше →
Всего голосов 124: ↑85 и ↓39+46
Комментарии113

Наём VS Аутсорсинг (в проектах малого бизнеса)

Время на прочтение7 мин
Количество просмотров3.3K
В рамках нашего проекта Unicloud мы попробовали как модель найма в проект собственных специалистов, так и работу с отдельными фрилансерами и компаниями на подряде. В топике мы рассуждаем о полученных результатах и их глубинных причинах.

Часто можно услышать мнение, что в России аутсорсинг не прижился и является столь же редким явлением, как и амурские тигры. Причин называется много: и боязнь «слить» свою информацию малоизвестным третьим лицам, и малое предложение таких услуг (как следствие – высокая цена), и недостаточно высокое качество. Среди причин часто упоминают невозможность наорать матом на находящегося на аутсорсинге исполнителя и заставить его работать сверхурочно до 23 часов без доплаты, только потому, что «так надо». То же и с безопасностью – «своего» сотрудника может припугнуть собственная служба безопасности так, что он не только сам не продаст никакой информации конкуренту, но и сдаст в СБ своих коллег, которые уже это сделали.

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

STM32F1xx — лечимся от ардуинозависимости вместе

Время на прочтение14 мин
Количество просмотров266K
Добрый день, уважаемые хабровчане!
После длительного перерыва, связанного с защитой дипломного проекта в Бауманке, я снова вернулся к написанию статей. Так как с недавнего времени я занялся 32-битными микроконтроллерами серии STM32F на ядре ARM Cortex-M3, об этом и пойдет мой рассказ. Мне статья поможет систематизировать знания об этих замечательных микроконтроллерах, а вам, я надеюсь, послужит одной из ступеней на пути к их использованию и развеет страхи и сомнения, которые всегда возникают после уютных 8-битных AVRок при упоминании страшных 32-битных монстров.
Итак, почему Cortex, чем же плохи АVR?
Читать дальше →
Всего голосов 159: ↑157 и ↓2+155
Комментарии65

Управление радиоэфиром через браузер

Время на прочтение5 мин
Количество просмотров32K
Airtime LogoВ процессе создания своей радиостанции поток идей дошел до ведения эфиров через веб-интерфейс. Сначала пытался найти готовые решения, но в рунете почти ничего не нашел. Начал продумывать способ реализации и чудом наткнулся на статью в английской версии Википедии про Airtime (до 18 января 2011 г. – Campcaster) от Sourcefabric.

Возможности Airtime:
  • Создание эфирной сетки и плейлистов через веб-интерфейс ;
  • Загрузка музыки через браузер (поддержка drag and drop);
  • Регистрация ведущих, которые имеют доступ к админке и могут управлять эфирами;
  • Создание виджетов с расписанием эфиров и треков для сторонних сайтов;
  • Возможность записывать эфиры для повторной трансляции;
  • Несколько вариантов трансляции аудиопотока.
Минимальные системные требования, описанные в официальной инструкции: 1Ghz процессор и 512Mb оперативной памяти.
Читать дальше →
Всего голосов 68: ↑64 и ↓4+60
Комментарии34

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Количество просмотров123K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Всего голосов 149: ↑145 и ↓4+141
Комментарии46

Как использовать свой тип контента

Время на прочтение8 мин
Количество просмотров14K
ПортфолиоВ Wordpress есть два типа контента: Посты и Страницы.
Эти типы содержат такие поля как название, описание, категории/тэги.
Дополнительное описание можно создать с помощью Пользовательских Полей (Custom Fields).

В Wordpress 3.0 появилась возможность создавать свой тип контента.

Идея в том, чтоб создать новый тип контента, например Потфолио (название, описание, адрес сайта, дата релиза, имя заказчика, используемые технологии), который бы не выводился вместе с постами и имел бы другое представление.
Wordpress
Далее следует техническое руководство и много кода
Всего голосов 28: ↑24 и ↓4+20
Комментарии15

Стартапомания: как перестать искать богатых лохов и сменить галстук на шлепанцы

Время на прочтение5 мин
Количество просмотров1.6K
Как ни странно, значение слова «стартап» за последние годы получило множество различных толкований, не смотря на то, что изначально, в классическом понимании этого слова, стартап – это всего лишь компания-новичок, фирма с короткой жизнью, недавно начавшая вести свою операционную деятельность. Будем придерживаться этого толкования и в данной статье.
Читать дальше →
Всего голосов 208: ↑192 и ↓16+176
Комментарии146

Нужна ли аспирантура?

Время на прочтение5 мин
Количество просмотров93K
Этот вопрос мне задают настолько регулярно, что решил оформить это все в единый поток мыслей, чтобы в следующий раз просто прислать ссылку.

Несмотря на то, что поставленный вопрос достаточно простой, ответ на него далеко не простой. Хотя есть и простой ответ: «it depends». И это действительно так.

Статью построим в виде «описание тезиса» – «контраргументы» — «вывод».

Читать дальше →
Всего голосов 121: ↑109 и ↓12+97
Комментарии106

Многопоточный сервер на Perl? Легко!

Время на прочтение3 мин
Количество просмотров14K
Иногда возникает необходимость написать какой-то простенький TCP либо UDP сервер. Например, сейчас у меня вполне успешно в production трудится собственная реализация DHCP (существующие не подходят из-за специфики). Обычно это делается просто — один цикл, слушаем сокет — и вуаля! Но не всегда «тупой» подход оправдан (нужно что-то более сложное — работа в несколько потоков, например), а использование тяжелой артиллерии слишком затратно.

Интересно? Добро пожаловать под кат.
Осторожно! Внутри Perl-код.
Всего голосов 69: ↑56 и ↓13+43
Комментарии62

репостинг Twitter (или rss) в статус vkontakte.ru на Haskell

Время на прочтение9 мин
Количество просмотров1.9K
В данной статье речь пойдёт о небольшой программке, которая репостит твиты в статус во вконтакте.
Задача довольно простая и совершенно неоригинальная. Началось всё с того, что я прочитал статью на Хабре о том, как это решается на python'е и аналогичную статью про php. В интернетах вроде бы даже какие-то онлайн сервисы есть специально для этой задачи. Но тут весь цимус в том, чтобы решить эту несложную задачу самому, используя свои любимые инструменты. Собственно решение на php появилось позже и с такой же целью.

Ну и на чём же писал я? На haskell, natürlich!
Дальше подробно расскажу о том, как я всё сделал и как это повторить. Никаких особых знаний для понимания, пожалуй, не требуется.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии11

Один компьютер на двоих (и более) или multiseat на базе Ubuntu 10.04 LTS

Время на прочтение22 мин
Количество просмотров48K
В данной статье рассматривается реализация multiseat на базе Ubuntu 10.04 LTS с аппаратным ускорением. Пример, рассмотренный в этой статье, уже введен в эксплуатацию и работает около полугода в обычном Минском офисе. Описываются проблемы реализации и внедрения готовой системы в работу с точки зрения обычного студента-электроприводчика, который подрабатывает на полставки системным администратором.

Вступление



Вот время работы системным администратором в небольшом офисе при обновлении парка компьютеров появилась небольшая проблема. Современные компьютеры дают уровень производительности, много превосходящий необходимый для офисных компьютеров. Причем реалии рынка таковы, что различия в производительности мало сказываются на цене. И вроде бы дешевые компьютеры на базе Atom по ценовому признаку практически не отличаются от более производительных компьютеров на базе обычных процессоров Amd и Intel (материнская плата с процессором Atom стоит около 100-150 у.е. на май 2010 года, Минск, и та же цена на октябрь 2010 в том же Минске).

Та же ситуация и с жесткими дисками: для офисной работы нет необходимости в объеме диска более 40-80 Гб. Но на рынке такие жесткие диски уже практически не представлены. На момент написания статьи в продаже были жесткие диски емкостью 160 Гб (38$), 250 Гб (39$), 320 Гб (40$), 500 Гб (41$), дальше различия по ценам заметны сильнее. Цена за гигабайт жестких дисков малого объема довольно высока. Та же ситуация и со всеми остальными комплектующими.

Возникает закономерный вопрос, как рационально все это использовать? Давайте подойдем логически — чтобы удешевить систему можно либо купить комплектующие похуже (не сильно удешевляет), либо отказаться от некоторых комплектующих. По сути, в рабочем месте обязательными являются устройства ввода (клавиатура, мышь, планшет и т.д.) и устройства отображения информации (монитор, проектор и т.д.). Остальная часть системы пользователей особо не касается, и от нее можно избавляться. Безусловно, от всего избавиться не получится. Давайте заглянем под крышку системного блока. Тут мы обязательно видим материнскую плату, видеокарту (может быть уже на материнской плате), процессор (тоже может быть на материнской плате) и память. А вот остальные комплектующие уже не так важны. Оптический привод мало востребован, и поэтому его, скорее всего, не будет.
С жестким диском тоже интересная ситуация. Его может и не быть, тогда у нас будет так называемая бездисковая станция. Тут вся информация загружается по сети с сервера (реализация PXE+NFS и немного бубна). Но хочется чего-то большего.
Тогда и возникла идея подключить к одному компьютеру две клавиатуры, две мыши и два монитора и заставить их работать независимо. В зарубежных источниках такие системы называются multiseat.
Но можно на этом и не ограничиваться, а делать бездисковую multiseat-станцию. Этот вариант отлично подойдет для пары multiseat-станций с сервером. В данной статье не рассматривается.

Читать дальше →
Всего голосов 153: ↑145 и ↓8+137
Комментарии125

Высокодоступное отказоустойчивое web-приложение на Apache2 и MySQL

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

HA-Apache2 Web-Site and HA-MySQL


Цель: обеспечить высокую доступность web-приложения и минимальное время простоя при отказе одного как web-сервера, так и сервера баз данных.
Замечание! Схема предполагает, что web-приложение и база данных находится на разных серверах.
Для примера будем устанавливать wordpress.

Вариант решения:
Поскольку web-приложение должно быть постоянно доступно, то необходимо минимум два сервера с установленным приложением. Серверы будут отслеживать состояние друг друга, при этом в каждый момент времени ведущим будет только один из них. В случае отказа ведущего сервера его роль принимает второй. Когда первый сервер будет вновь доступен, к нему опять вернется роль ведущего.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии34

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность