Как стать автором
Обновить
0
0
Дмитрий Швалёв @dshster

Frontend-разработчик

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

Расширенный сборник CSS-хаков

Время на прочтение4 мин
Количество просмотров37K
Статья является расширенным сборником CSS-хаков в сравнении с аналогичной статьей.
Под хаком подразумевается метод, позволяющий воспринимать CSS только определенному браузеру.
Хаки могут использоваться не только для исправления багов в верстке, но и в случае использования определенных особенностей браузера для ускорения рендеринга web-страницы в нём (к примеру CSS3-свойства)

Подробности под катом
Всего голосов 116: ↑110 и ↓6+104
Комментарии77

ADSL-интернет

Время на прочтение5 мин
Количество просмотров82K
Наверно тот у кого доступ в интернет осуществляется по ADSL заглядывал в настройки модема и натыкался на параметры vpi/vci. Впервые с ними столкнувшись возникает резонный вопрос «что это и для чего?» В этой статье я решила рассказать немного подробнее о том как осуществляется доступ по технологии ADSL, про PPPoE и конечно же про параметры vpi/vci.

Connecting...
Всего голосов 131: ↑128 и ↓3+125
Комментарии47

Минэкономразвития России об использовании свободного программного обеспечения

Время на прочтение2 мин
Количество просмотров7.8K
Увидев на хабре топик про то, что веб-форма писем Президенту работает, тоже решил воспользоваться этой замечательной возможностью и получить официальные разъяснения по-поводу использования свободного программного обеспечения. В частности, меня интересовала законность установки операционной системы Linux во благо моего небольшого IT бизнеса.

24 февраля зашел на сайт президента Российской Федерации и отправил вопрос (текст, к сожалению, не сохранил).
26 марта получил правительственное письмо о том, что мое обращение передано в Министерство экономического развития.

И наконец сегодня, рядом с пухленьким конвертом со свежим CD Ubuntu, обнаружил в почтовом ящике
ответ из Минэкономразвития
Всего голосов 187: ↑178 и ↓9+169
Комментарии74

Слушаем вызовы функций в Javascript

Время на прочтение12 мин
Количество просмотров10K
Многие знают о механизме Event-Dispatcher-Listener'ов, реализованному во многих языках программирования. Я же создам подобный механизм не для Event'ов, а для любого метода объекта JavaScript — Object.
Я не претендую на оригинальность, нет. Основная цель статьи — рассмотреть интересные механизмы прототипирования в JavaScript, создание декораторов и, собственно, постараться хоть немного раскрыть мощь и гибкость это чудесного языка, который так часто обижают и недооценивают.

UPD1: краткое содержание:
1. Создание декоратора на JavaScript
2. Создание механизма Function call listener с помощью декораторов

UPD2: от 09.06.2009
В конце статьи я добавил раздел Update: Decorator Mark II. В нём — исправления и улучшения (я не перекраивал всю статью из-за этого)

Итак, первый (и, надеюсь, не последний) рецепт в моей поваренной книге JavaScript.
Перейти к рецепту
Всего голосов 112: ↑107 и ↓5+102
Комментарии37

SOAP, генерация прокси класса

Время на прочтение2 мин
Количество просмотров6.6K
Преамбула:

SOAP — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался, в основном, для реализации удалённого вызова процедур (RPC), а название было аббревиатурой: Simple Object Access Protocol — простой протокол доступа к объектам. Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.


Итак, делаем proxy-class
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии17

7 мощных каруселей изображений для Web-дизайнеров

Время на прочтение2 мин
Количество просмотров85K
Эта статья является коллекцией некоторых мощных каруселей изображений и текстовых материалов, готовых к использованию в ваших Web-проектах. Она включает в себя Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) и учебное пособие о том, как реализовать простую карусель наподобие карусели во Flickr, используя Prototype-UI.
Читать дальше →
Всего голосов 50: ↑42 и ↓8+34
Комментарии28

Шифруемся по полной

Время на прочтение2 мин
Количество просмотров15K
Однажды появилась идея спрятать данные подальше от глаз людских, поковырял я различные системы шифрования и нашел в них огромный минус, они афишируют свое наличие (нужно установить) и делают факт наличие криптоконтейнера явным (пустой раздел или файл с криптоконтейнером)

Т.е. в обоих случаях возможен «терморектальный криптоанализ TM» по факту наличия шифрованой инфы на компьютере.

Что привело меня к написанию небольшого скрипта.
Его можно запустить даже с LiveCD, он не создает шифрованых файлов или разделов, но и конечно же имеет следующие проблемы:
  • контролировать целостность данных прийдется вручную;

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

Читать дальше →
Всего голосов 49: ↑40 и ↓9+31
Комментарии53

Интеграция вкусностей jQuery в другие сайты

Время на прочтение4 мин
Количество просмотров2.4K
Есть у меня небольшой проект с user-generated content-ом. Встала задача сделать код кнопки с ссылкой на страничку пользователя, для интеграции в пользовательские блоги и сайты. Но делать скучные кнопки, как у большинства конкурентов, не хотелось. Хотелось, на равне с простыми кнопками и ссылками, сделать что-то особенное, jQuery-евское, с аяксом и анимацией :).

Суть простая: пользователь размещает у себя на сайте скрипт, который динамически вставляет кнопку. При нажатии на кнопку всплывает окошко с подгружённой пользовательской страничкой с нашего ресурса.

Проблемы очевидны:
  1. Необходимо определить, используется ли jQuery и нужный плагин на сайте пользователя. Если нет, то обоих динамически подгрузить. Делать отдельно коды для тех кто использует jQuery на своем сайте и для тех кто нет — не комильфо, а тем более подгружать при любом раскладе (могут возникнуть глюки, особенно у плагинов).
  2. Пережатый jQuery весит около 60 кБ, и в случае подкачки может не успеть полностью загрузиться и инициализироваться до исполнения кода.

В качестве вкусности я использовал плагин fancybox. Он позволяет не только отображать фотографии с lightbox-эффектом, но и любой другой контент в iframe.

Ниже представлен код.
Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии66

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

Время на прочтение3 мин
Количество просмотров30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

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

вертикальный текст и текст под углом
Читать дальше →
Всего голосов 181: ↑170 и ↓11+159
Комментарии115

Несколько полезных и интересных модулей для Друпала

Время на прочтение3 мин
Количество просмотров10K
logoИзучая Drupal, я нередко натыкаюсь на новые задачи, которые необходимо реализовать, и проблемы, которые нужно устранить.
Конечно, сайты Drupal.ru и Drupal.org — неоценимые помощники во всех вопросах и помогут разобраться практически в любой поставленной задаче, однако сегодня хотелось бы рассказать вам о некоторых модулях и их возможностях, чтобы вам не пришлось лихорадочно искать ответы на ваши вопросы, когда подобный функционал вам вдруг понадобится. Возможно, вы не узнаете для себя ничего нового из этого топика, но я все же попробую.

Читать дальше →
Всего голосов 72: ↑56 и ↓16+40
Комментарии27

Разгоняем Wordpress

Время на прочтение4 мин
Количество просмотров36K
SEO Digest #5Данный обзор написан специально для SEO Digest — популярного онлайн-журнала среди вебмастеров и поисковых оптимизаторов. Публикуемые в нем материалы рассчитаны на широкую аудиторию пользователей: от профессионалов Рунета до любителей и начинающих. Журнал доступен в PDF и онлайн версии.

Wordpress является сейчас наиболее популярной платформой для одиночного хостинга блогов. Ряд хостинг-провайдеров уже даже предлагают площадки с предварительно установленным Wordpress, а в большом количества изданий рассуждают, как лучше заработать на новом блоге или правильно его использовать. Я собираюсь осветить один из основных вопросов, встающих перед администраторами блогов: как сделать так, чтобы сайт быстро работал. Нижеизложенный материал рассчитан на максимально широкую аудиторию пользователей.

Основные положения


Ускорение работы любой системы возможно в основном за счет кэширования некоторых (тут стоит подчеркнуть, что именно некоторых, а не всех подряд) часто используемых операций. Все кэширующие мероприятия, в том числе и для Wordpress, можно разбить на несколько основных частей:
  • База данных
  • Компиляция серверных скриптов (PHP)
  • Статические страницы
  • Клиентская составляющая

Читать дальше →
Всего голосов 69: ↑59 и ↓10+49
Комментарии23

Кастомизация input type=”file” с помощью CSS

Время на прочтение2 мин
Количество просмотров64K
Есть несколько способов кастомизации (изменения внешнего вида) инпутов такого типа. Все они обладают своими плюсами и минусами, но, на мой взгляд, предложенный мною вариант, выигрывает даже со своими минусами, коих всего один.
Читать дальше →
Всего голосов 60: ↑40 и ↓20+20
Комментарии57

Определение размеров текста

Время на прочтение2 мин
Количество просмотров14K
Возможно, кто-нибудь из вас сталкивался с задачей в которой крайне необходимо было бы узнать размер текстового блока в пикселях.

После небольшого исследования выяснилось, что не всегда данный размер возможно получить обычными способами. Будь то методы jQuery, prototype или обычное обращение к параметрам DOM.

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

Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии35

ООО «Снежинка» — Часть 1. Пошаговое руководство по регистрации.

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

Прелюдия


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

После обсуждения с партнером будущего бизнеса и выбора движка для интернет-магазина, встал вопрос о регистрации фирмы. Каталог еще не наполнен, сайт поисковые системы еще в лицо не видели, поэтому особенной спешки в регистрации не было, но и тянуть не хотелось. Все же первые клиенты могут прийти и из оффлайна, а мы даже счет выставить не сможем.
Читать дальше →
Всего голосов 176: ↑170 и ↓6+164
Комментарии82

Делаем красивые кнопочки

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

Что обычно делает верстальщик при виде такой кнопки? Правильно, просто напросто, вырезает ее как есть, и вставляет ее в верстку как картинку.

Например:
<a href="some_page.html"><img src="button.gif" alt="Button"></a>
<input type="image" src="button.gif" alt="Button">


* This source code was highlighted with Source Code Highlighter.


Вроде бы все просто, но тогда верстальщику придется под каждую форму или ссылку вырезать новую картинку, тем самым плодя кучу картинок и тратя драгоценное время.
Читать дальше →
Всего голосов 95: ↑72 и ↓23+49
Комментарии53

Регулярные выражения — символьные классы, конструкция выбора, метапоследовательности

Время на прочтение3 мин
Количество просмотров15K
В книге Дж. Фридла «Регулярные выражения» есть прекрасная табличка, которую хочу тут привести.
Регулярные выражения открывают широкие возможности для поиска и замены в любом тексте. Используя регулярные выражения можно гибко и просто обрабатывать текстовые документы. Одним из простейших применений регулярных выражений является поиск текста — во многих текстовых редакторах предусмотрена возможность поиска по шаблонам регулярных выражений В regexp существует несколько типов метасимволов выполняющих разные функции, давайте кратко их рассмотрим:
Читать дальше →
Всего голосов 43: ↑29 и ↓14+15
Комментарии25

Ускоряем выборку произвольных записей MySQL

Время на прочтение3 мин
Количество просмотров33K
Последнее время оживилась публика с вопросом случайной выборки из таблицы. Решений по оптимизации полно, и нового сейчас я вам наверное ничего не покажу, просто напомню про основные методы оптимизации — упрощение запроса и индексацию. Без предисловий про фриленсеров, сразу к делу ;)

Читать дальше →
Всего голосов 59: ↑50 и ↓9+41
Комментарии22

10 отличных приемов с .htaccess для WordPress

Время на прочтение4 мин
Количество просмотров32K
Внимание!
Перед изменением файла .htaccess не забудьте сделать его резервную копию.


1 — Перенаправляем WordPress RSS поток на feedburner с использованием .htaccess
Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за подписками на RSS. Проблема в том, что приходится руками исправлять файлы шаблонов. Этот прием поможет сохранить Ваше время.
И не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L]
</IfModule>


Читать дальше →
Всего голосов 72: ↑62 и ↓10+52
Комментарии29

Изменение разделов в Linux, восстановление grub

Время на прочтение2 мин
Количество просмотров8.5K
Являясь счастливым обладателем Asus eee pc 900, решил изменить разбиение разделов, так как первоначальная разбика перестала устраивать. Для тех, кто не в курсе, у eee pc два SSD накопителя емкостью 4 Гби 16Гб, к тому же больший по размеру значительнее медленнее. Первоначально на накопителе емкостью 4Гб у меня находился системный раздел и swap емкостью порядка 200Мб, второй накопитель был полностью отдан для директорий пользователей. Для возможности включения опции Hibernate мне необходим был swap размером минимум с оперативную память, то есть от 1Гб. Было решено изменить размер раздела /home, высвободив 1Гб для swap. А старый раздел swap соединить полностью с корневым разделом. Для работы с разделами в состав Ubuntu Live CD/USB входит достаточно удобная и интуитивно понятная утилита Gparted, объяснять суть работы с которой я не буду. После окончания работы с gparted в live cd/usb я попробовал перезагрузиться и тут меня ждало разочарование.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

Расчет периодов стажа в MySQL

Время на прочтение3 мин
Количество просмотров7.3K
На одном форуме задали вопрос о том, как правильно посчитать разность дат в MySQL для учета стажа сотрудника. На первый взгляд вопрос оказался простым, но при детальном рассмотрении все оказалось куда интереснее.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность