Как стать автором
Обновить
151
0
Макс Борзов @iBear

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

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

Верстка e-mail рассылок — «подводные камни». Часть первая. Картинки

Время на прочтение5 мин
Количество просмотров109K
Верстка e-mail рассылок. Часть первая. Картинки.Добрый день, уважаемые хабравчане!
Не так давно мы вплотную столкнулись с задачей верстки e-mail рассылок. Это не самое приятное занятие, но многие компании активно используют корпоративные рассылки, и верстка становится всё более актуальной задачей.

Казалось бы, что сложного — сверстать простую страничку? Но есть «подводные камни», которые могут поставить в тупик даже опытного верстальщика. Именно таким «камням» и посвящен пост (оговоримся сразу — все эксперименты, описанные в посте, проводились под Windows с тем ПО, которое есть у многих под рукой).

Первый камень — Изображения


Практически каждая рассылка содержит картинки. Логотип, шапка, фотографии, иконки соц.сетей…
Есть 2 способа использования картинок:
Читать дальше →
Всего голосов 57: ↑44 и ↓13+31
Комментарии16

Что такое ABBYY FormReader и как он работает в «Альфа-банке»

Время на прочтение3 мин
Количество просмотров16K
Мы уже довольно много рассказывали о продуктах для разработчиков и для конечных пользователей, но ещё ни разу речь не заходила о решениях для целых компаний. Исправляемся: сегодняшний пост об ABBYY FormReader – системе ввода форм, заполненных от руки или на принтере, с применением технологии ICR (Intelligent Character Recognition). А рассказывать о ней мы будем на примере внедрения в «Альфа-банке».
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии36

Evercookie — самые устойчивые куки

Время на прочтение1 мин
Количество просмотров74K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →
Всего голосов 111: ↑107 и ↓4+103
Комментарии68

Как сделать хорошую фотографию глянцевого телефона

Время на прочтение2 мин
Количество просмотров19K
Каждый день на сайте выходит несколько хороших обзоров новых и интересных гаджетов. И если все особенности устройства обычно описаны «на отлично», то вот фотографии гаджета зачастую не выдерживают никакой критики. Часто приходится видеть подобное:
вспышка в лоб
А ведь для получения качественного фото даже глянцевого телефона не потребуется никаких особых приспособлений, даже затраты времени на получение качественных фото будут минимальны. Все нужное есть практически в каждом доме, а фотографировать можно и на телефон, хотя даже самая простая цифромыльница даст более качественный результат.
Читать дальше →
Всего голосов 262: ↑243 и ↓19+224
Комментарии79

Создание круговых панорам (flash)

Время на прочтение5 мин
Количество просмотров141K
Как сделать панорамное фото с трехмерным обзором


Вертеть головой — потянув мышкой, или курсорами ← →, приближение/удаление — колесиком мышки.

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

Вообще, сделать панорамное фото (в т.ч. круговую панораму) совсем не сложно.
При минимальном навыке на всё уйдет минут 10.

Перечислю всё, что нам понадобится:
Читать дальше →
Всего голосов 103: ↑96 и ↓7+89
Комментарии73

Простота в хорошем веб-дизайне

Время на прочтение4 мин
Количество просмотров12K
Простота в дизайне сайта не обязательно должно означать минималистическую эстетику. В простых сайтах просто убираются все ненужные элементы из дизайна, содержимого и кода. В то время как минималистические сайты в основном соответствуют этим критериям, существуют много сайтов, которые никак нельзя отнести к минималистическим, но они все же являются простыми.



Данная статья содержит список нескольких преимуществ простого дизайна сайта, также некоторые легкие методы для упрощения процесса дизайна.
Идем дальше...
Всего голосов 64: ↑51 и ↓13+38
Комментарии54

Текст любой ценой: RTF

Время на прочтение14 мин
Количество просмотров87K
Что ж продолжим наши изыскания на предмет получения текста из различных форматов данных. Не так давно мы с вами научились вытаскивать текст из zipped-xml-based файлов (odt и docx), а также, в начале этой недели, из pdf. Сегодня мы продолжим с обещанным rtf.

Rich Text Format (он же rtf), вы могли бы подумать, достаточно забытый, хотя и не очень сложный формат представления текстовых данных. Что ж, относительно несложный для получения текста, но за свою историю: от своей первой версии до текущей 1.9.1 — он приобрёл под 300 страниц официально документации и огромное количество надстроек, которые в большей степени нам будут мешать при получении plain text'а. Попробуем их обойти…
Читать дальше →
Всего голосов 67: ↑60 и ↓7+53
Комментарии49

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Количество просмотров148K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Архитектура CMS. Модель данных. Часть 2

Время на прочтение9 мин
Количество просмотров4K
Продолжаем тему объектной модели данных. В этой части речь пойдет о модуле Data, являющимся, по сути, ORM системой. Для наглядности работы модуля Data c его помощью будет создано содержимое простого сайта. Предыдущая статья: Архитектура CMS. Модель данных. Часть 1.

Модуль Data состоит из классов Data, Object, Multy, Query и набора классов Cond*. Сам модуль – это статический класс Data, остальные классы используются для представления структур данных, с которыми он работает. Для представления сущностей в программном коде используется класс Object. Не важно, какого типа сущность – класс данных, объект данных или связь между ними – для всех Object. Класс Multy используется для ассоциации с набором сущностей, в частности, для представления множественных свойств. Классы Query и Cond* необходимы для осуществления поиска по объектной модели (в базе данных) с учетом гибких условий.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии53

Архитектура CMS

Время на прочтение8 мин
Количество просмотров18K
Имея более чем достаточно времени, увлекся я размышлениями о создании гибкой, многофункциональной, но относительно простой CMS для программистов и её конфигураторов-пользователей. Некоторые идеи были навеяны потенциальными возможностями CMS Drupal. И вот теперь, увлеченный уже реализацией идей и имея успешные промежуточные результаты, я решил рассказать об архитектуре создаваемой CMS. По ходу прочтения общая картина возможностей CMS должна прорисовываться сама, во всяком случае, для программистов:)

Архитектура CMS


Архитектура создаваемой системы основана на модульном принципе. CMS полностью строится из модулей, как детский домик из кубиков. С целью достижения гибкости и простоты взаимодействия модулей, необходимо было достичь минимальных действий для использования модулей любым компонентом системы без необходимости создания жестких связей, а также сделать возможность легкого расширения действий модулей с помощью других модулей.
CMS — совокупность модулей
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии76

Интересные JS-фреймворки для изучения

Время на прочтение3 мин
Количество просмотров4.1K
В моем твиттере прошла ссылка на десять JS-фреймворков, которые интересны в плане изучения и расширения возможностей, для того, чтобы разработчики не ограничивались только верхушкой мейнстрима (имеется ввиду jQuery/Prototype/Mootools/YUI). Вполне вероятно, что что-то из этого списка завтра будет не менее популярно, да и просто для повышения своей квалификации или подсматривания интересных решений. Оригинал на английском языке здесь, а я попробую рассмотреть самое интересное со своей колокольни.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии31

Разметка. Transitional vs Strict

Время на прочтение4 мин
Количество просмотров7.2K
Речь в статье пойдет о такой, казалось бы изжеваной и изъезженой теме, как валидация веб-документа по одной из DTD-схем, которые в свою очередь определяются с помощью DOCTYPE.

Тема эта нетривиальна; преимущества и недостатки того или иного способа валидации на первый взгляд не всегда являются явными. Поэтому я решил что упомянуть о них еще раз будет не лишним.

В последнее время, многие редакторы и CMS'ки автоматически проставляют DOCTYPE для документа, что само по себе является прорывом, но к сожалению этого недостаточно, так как зачастую это именно Transitional схема. Начинающие разработчики не уделяют этому должного внимания, а зачастую вобще не подозревают что у них есть выбор.
Читать дальше →
Всего голосов 150: ↑142 и ↓8+134
Комментарии119
12 ...
7

Информация

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