Pull to refresh
34
0
Дмитрий @artyfarty

User

Send message

10 рекомендаций по html-верстке электронных писем

Reading time4 min
Views107K
Рекомендация первая: забудьте про блочную верстку. Весь лэйаут должен быть на таблицах. При этом, без крайней необходимости — их тоже лучше не использовать. Также следует выкинуть из головы представления о семантике, сокращенных css-правилах, валидации, плавающих блоках — и прочее. Самый распространенный в РФ почтовый сервис на данный момент (mail.ru) вообще не понимает стили (css). Любые тэги/атрибуты style заменяются на xstyle и не работают. Вообще все.

Так что, фактически, при вёрстке html для почтовой рассылки надо мысленно переместиться в 90-ые годы прошлого века и смело использовать все распространенные приёмы того времени.

Для тех, кто с ними не знаком (как я был) — напомню:
Читать дальше →

текст под произвольным углом без флеш и js

Reading time3 min
Views30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

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

вертикальный текст и текст под углом
Читать дальше →

О разворачивании строк в .Net/C# и не только

Reading time11 min
Views37K
Давайте поговорим о строках, точнее об их переворачивании средствами .Net/C#. Так уж сложилось, что в стандартной библиотеке соответсвующей функции не наблюдается. И как мне подсказывают, написание функции обращения строки довольно популярный вопрос на собеседованиях при приеме на работу. Давайте посмотрим, как можно эффективно перевернуть строку средствами данной платформы.

Под катом приведен сравнительный анализ быстродействия разных методов переворачивания строки.

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

Идеальный NAS — Synology DS209+

Reading time11 min
Views55K
Редко, но бывает такое, что я пишу про идеальные устройства. Ну, или почти идеальные, ведь, как известно, идеал — недостижим. Но некоторые производители настолько стремятся к нему, что писать обзоры таких девайсов – сплошное удовольствие!

image

Сегодня речь пойдет о таком устройстве, как Synology DS209+ — пока это последний из NAS-ов, о котором я напишу. Обзор, трафик.
Читать дальше →

OpenVPN, объединяем домашние сети

Reading time6 min
Views102K
Данная статья посвящена объеденению нескольких домашних локальных сетей с предоставлением прозрачного общего доступа к ресурсам сетей с помощью VPN. За реализацию VPN взята openvpn. Клиенты и сервер openvpn установлены на роутерах домашних сетей, в конкретном случае роутеры семейства asus wl500, но данный мануал вполне применим и другим роутерам где есть досуп к OS и можно поставить openvpn.

Хотя подобных руководств в Интернете пруд пруди, они написаны больше для администраторов, которые имеют большой опыт общения с *nix системами, в то время как пользователями домашних роутеров являются в основном не хакеры, а обычные юзеры, может быть впервые увидевшие коммандную строку Linux на том самом роутере. Я постараюсь писать так чтобы было понятно всем.

Для тех кто не любит много букв, чтобы было понятно о чём речь под катом, привожу картинку

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

Сверхжадные квантификаторы

Reading time4 min
Views16K
В статье Regexp — это «язык программирования». Основы была поставлена задача: написать регулярное выражение, находящее в цепочке символов текст в двойных кавычках, причем внутри кавычек "..." могут быть и сами символы ", если они экранированы обратным слэшем, например:
one two "foo:=\"quux\"; print" three "four"
Здесь наш регекс должен найти соответствие цепочке
"foo:=\"quux\"; print"
Автором (той статьи) было предложено такое решение:
/ " ( \\" | [^"] )* " /x
(здесь и далее синтаксис Perl; ключ /x означает, что пробелы в регексе не учитываются, мы добавили их лишь для наглядности, чтобы части регекса не слились в единый «модемный шум»).
Этот регекс работает в том случае, когда есть совпадение (текст в кавычках). Проблема же в том, что он находит текст в кавычках даже тогда, когда текста в кавычках (согласно нашим правилам экранирования обратным слэшем) просто нет. Например, в цепочке "\" регекс находит соответствие (равное всей строке "\" ), хотя его быть не должно: кавычка открыта, экранированная кавычка… а вот закрывающей-то кавычки нет.
Ситуацию легко исправить, исходную задачу решить несложно, внеся несколько простых изменений в регекс… но речь не об этом, а о том, что если у вас в руках современный инструмент, т. е. движок регексов (свежая версия Perl, Java или PHP с PCRE), то вы можете «исправить» описанный регекс, добавив в него всего лишь 1 символ. Какой? Куда? Почему? Если знаете ответы, то читать дальше вам не стОит ;-)
Читать дальше →

Файлы PDF заразны при наведении на них курсора

Reading time1 min
Views1.6K
Компания Adobe пока не закрыла уязвимость /JBIG2Decode в PDF-документах, а хакеры находят всё новые способы её использования. Оказывается, можно сделать так, что вредоносный код будет исполняться на компьютере даже без открытия файла, а просто при его взаимодействии с расширением Windows Explorer Shell, особым COM-объектом Column Handler Shell Extension, который внедряется в родную оболочку Windows при инсталляции Adobe Reader.

То есть вредоносный код будет исполняться, например, при выделении файла одним щелчком мышки или просто при наведении на него курсора в Windows Explorer. На видео показано, как это происходит. Подробности об эксплоите см. у его автора.



P.S. Говорят, Adobe планирует выпустить патч 11 марта.

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Reading time3 min
Views33K
Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).
Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли.

В статье — почему и как это работает.

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

Танцы с бубном для блондинок, или о tabbed menus и хитрой работе с графикой

Reading time5 min
Views1.4K
Собственно, перепал мне не так давно небольшой заказец. Вроде и несложный — а потанцевать с бубном немного пришлось. А всё из-за того, что заказчик оказался немного «падкой на дизайн блондинкой» (образно говоря), и требовал строгого соответствия конечного результата макету. Требовал попиксельно, и его совершенно не волновали такие вопросы, как валидность, семантичность и всё такое. «Хоть таблицами сверстай, а сделай». И сегодня речь пойдёт о том, как в таких условиях сделать весьма хитровыделанно нарисованное меню табами. Как и за свой код не устыдиться, и не пасть в грязь лицом перед заказчиком, вот в чём вопрос?
Читать дальше →

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

Reading time2 min
Views2.4K
Тем кто наблюдает за работой дизайнера со стороны, часто кажется — уж эта специальность интересней самых интересных. Им то, скучно не бывает! В самом деле, язык как-то не поворачивается назвать дизайнера — занудным офисным планктоном…

Но мы то с вами знаем, сколько рабочего времени, на самом деле, занимает творческий процесс… Большая часть «жизни» уходит на отрисовку бесконечного количества вариантов, поиска единственно возможной формы, проработку десятков дополнительных макетов, типовых элементов и т. д. А если представить, что это пятый макет дизайна сайта строительной компании только в этом году, становится совсем грустно. И работа превращается в серую рутину.

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


Для того чтобы нарисовать такую картинку с нуля в фотошопе, опытному техническому дизайнеру потребуется два-три часа… Но ведь гораздо приятней, потратить пятнадцать минут на поход в ближайший магазин за покупкой, принести в офис пол кило ароматного, сдобного печенья, сфотографировать все цифро-мыльницей, потом немного довести в известной всем программе. Затем, за чаем, разделить с коллективом остатки сдобной фотосессии :).

Каких-то радикальных способов борьбы с подобными кризисами наверное не существует. Разве что устроить темную менеджеру :), которому всегда мало — но это как-то не гуманно, да и противоречит глобальным интересам компании.
Читать дальше →

Съемка развлекательной телепередачи — дубль 1 (начало)

Reading time5 min
Views9.2K
Так уж случилось, что довелось мне сотрудничать в области разного железа и софта с несколькими телеканалами по поводу съемок различных развлекательных телепередач. Времени было достаточно для неплохого понимания процесса и технологий съемки подобных проэктов. Собственно говоря, о том как, кем, на каком оборудовании и с помощью какого ПО делаются такие передачи и будет серия статей. Начнет ее данная статья — о том, с чего начинается съемка развлекательной телеперадачи. Вторая статья расскажет о самом процессе съемок и ролях участников съемочной бригады. Третья — о применяемом железе и софте (начать с нее не могу — без понимания процесса будет абсолютно непонятно зачем вообще нужна та или иная железка).

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

Съемка развлекательной телепередачи — дубль 3 (железо и софт)

Reading time10 min
Views4.2K
Итак, это третья часть цикла статей о том, как снимаются развлекательные телепередачи. В первой части было рассказано о предсъемочной подготовке, во второй — о процессе съемок и задействованных людях, эта часть будет о используемом программном и аппаратном обеспечении.
Читать дальше →

DNS Amplification (DNS усиление)

Reading time6 min
Views95K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →

Кроссбраузерная одноцветная полупрозрачность

Reading time3 min
Views13K
В этой статье я рассмотрю метод создания блоков с одноцветным полупрозрачным фоном.
Например, таких:


Сразу оговорюсь, что я не буду использовать opacity и абсолютное позиционирование, чтобы разместить контент поверх полупрозрачного блока.
Читать дальше →

подводные камни анимации png в IE

Reading time4 min
Views2.5K
Все мы, здесь присутствующие, горячо любим IE6, чуть менее горячо — IE7 и искренне верим (правда, не все и не всегда признаёмся в этом) в IE8. Здесь писали про множество способов борьбы с особенностью шестого издания мелкомягкого браузера не понимать формат png. Но все эти обсуждения касались просто загрузки png-картинок. А передо мной возникла гораздо более интересная (и более сложная) задача — анимация этих картинок. И всё бы ничего, если бы нужна была анимация, в которой бы нужно было менять только положение и размеры картинок. Мне требовалось сделать анимацию, в которой бы плавно менялась их прозрачность. Тут-то и обнаружились новые фокусы.
Читать дальше →

Тривиальные задачи по вёрстке

Reading time4 min
Views60K
image

Начинаю вести серию статей Это статья про вёрстку html css js, начинаю с самого простого, потом планирую описать более сложные вещи и всякие тонкости и этим видимо так и закончил

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

SOCKS через SSH — не только для ICQ

Reading time1 min
Views32K
Сегодняшние проблемы с аськой напомнили об одном простейшем способе запуска SOCKS-прокси. Многие этот способ знают, но подозреваю, что не все, поэтому решил поделиться.

Итак, что нужно:
a) SSH-клиент (любой, под Linux или под Windows, главное, чтобы он позволял задавать нужные нам параметры, под Windows вполне подойдет putty)
b) Доступ на любой сервер по ssh (в случае с аськой помогает любой буржуйский хостинг).

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity