Pull to refresh
1
0
Андрей Савельев @ktotoff

User

Send message

CSS спрайты из командной строки

Reading time3 min
Views4.2K
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

Читать дальше →
Total votes 139: ↑129 and ↓10+119
Comments22

Сквозная авторизация на своем сайте через Twitter

Reading time7 min
Views10K
Прошли те времена, когда каждый форум на персональной страничке каждого Васисуалия Свердыщенко требовал отдельной регистрации.
Мы потихонечку привыкаем к тому, что оставить комментарий от имени своего OpenID/OAuth провайдера можно фактически везде. Также для всех популярных CMS давно написаны плагины сквозной авторизации Twitter/Facebook/Google/Яndex/Вконтакте. Кроме того есть DISQUS… Но что делать, если мы хотим предоставить пользователю стороннего сервиса какие-то дополнительные полномочия, не вынуждая его заводить отдельную учетную запись на нашем сайте? Особенно, если для нашей CMS пока нет чудо-плагина?
Я расскажу о том, как быстро и безболезненно прикрутить сквозную авторизацию к экзотической CMS и какие на этом пути встречаются подводные грабли.

Xaraya + Twitter

Поехали!
Total votes 60: ↑54 and ↓6+48
Comments30

Базовые рекомендации для повышения безопасности *nix веб-сервера

Reading time3 min
Views24K
Вдохновившись статьей о поиске следов взлома, решил написать статью о предупреждении взлома и базовых шагах для сведения возможности взлома сервера к минимуму.
Все шаги крайне важны, и невозможно выделить самый-самый важный, либо второстепенный.
Данная статья не является пошаговой инструкцией, а лишь списком рекомендуемых шагов.
Читать дальше →
Total votes 197: ↑178 and ↓19+159
Comments247

jPlayer — плагин для проигрывания аудио и видео

Reading time2 min
Views57K
imageЯ уже писал про скрипт audio.js, позволяющий проигрывать аудио файлы использую возможности html5 и flash. Пост был встречен хорошо, поэтому сейчас я хочу рассказать про jPlayer — jQuery плагин для проигрывания аудио и видео.
Читать дальше →
Total votes 90: ↑85 and ↓5+80
Comments43

OpenVZ Web Panel

Reading time4 min
Views16K
Благодаря новогодним каникулам появилась возможность рассказать о проекте OpenVZ Web Panel. Данный проект занял 3-е место в номинации «Индивидуальный проект» конкурса «Лучший свободный проект России — 2010», проводимый журналом «Linux Format» (пруф-линк). Звучит немного пафосно конечно, но, как говорится, слов не выкинешь.

Interface
Читать дальше →
Total votes 90: ↑84 and ↓6+78
Comments38

Переключение css (оформления) «на лету»

Reading time1 min
Views4.8K
Всегда было интересно, почему на многих сайтах любят так мельчить со шрифтами, почему так трудно читать тексты из-за неудачно выбранного шрифта, либо его размера.

Читать дальше →
Total votes 23: ↑5 and ↓18-13
Comments8

node.js сокращатель ссылок

Reading time6 min
Views8K

Привет, Хабр! В этой статье я пошагово рассмотрю создание простого веб-приложения — сокращателя ссылок на node.js, используя mysql-libmysqlclient, MooTools на сервере и jQuery на клиенте. Статья предполагает, что читатель уже прошёл упражнение «Hello world» и разобрался в самых основах node.js.
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments60

HTML5 для веб-дизайнеров. Часть 3: Мультимедиа

Reading time14 min
Views8.3K
HTML5 для веб-дизайнеров

  1. Краткая история языка разметки
  2. Модель HTML5
  3. Мультимедиа
  4. Формы 2.0
  5. Семантика
  6. HTML5 и современные условия


В истории всемирной сети каждый очередной виток перехода на новый уровень развития начинался с какого-нибудь технологического нововведения. Когда в HTML добавился элемент img, это в корне изменило облик сети. Затем введение JavaScript сделало ее более динамичной и интерактивной. Чуть позже появился Ajax, что открыло возможности для создания в сети полноценных приложений.

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

В спецификациях этих стандартов все еще есть пробелы. Так, если вы хотите сваять страницу с текстом и картинками, вы вполне обойдетесь HTML и CSS. Но если вам нужно опубликовать аудио или видео, тут неизбежно придется обратиться к сторонним технологиям — Flash или Silverlight.

Эти технологии — «плагины», эдакие «затычки», заполняющие «дыры» в сети. Они делают относительно простой публикацию игр, фильмов и музыки онлайн, но они не открыты и принадлежат и контролируются частными компаниями. Да, тот же Flash — мощный инструмент, но его применения в какой-то мере схоже со сделкой со злыми силами: мы получаем новые, недоступные другим путем, возможности, но взамен теряем часть свой независимости.

HTML5 призван восполнить этот недостаток. В данный момент он вступает в прямую конкуренцию с собственническими технологиями, вроде Flash и Silverlight, и главное его преимущество в этой борьбе — ему не требуется плагины, так как его мультимедиа-возможности «вшиты» в браузеры.
Читать дальше →
Total votes 113: ↑111 and ↓2+109
Comments30

Веб-шрифты на распутье

Reading time11 min
Views31K
Перевод не претендует на 100%-ную точность, но я постарался максимально точно передать мысли и слог автора. Комментарии приветствуются.

Начиная с Интернет Эксплорера 4 в 1998-ом, а затем с марта 2008-ого и до марта 2010-ого, один за другим, вся «большая пятерка» десктопных браузеров — Сафари, Файрфокс, Опера и Хром — выкатили сравнительно похожие реализации правила @font-face для привязки шрифтов. Вместе с тем, неотъемлимая часть веб-издательского паззла, часть, которой не хватает с начала Веба, встала на место и теперь настоящая, веб-ориентированая типографика начинает принимать форму.

Для начала, обзор последних событий:
  1. 18-ого марта 2010 года была учреждена группа Web Fonts Working Group в W3C. Её первая задача была утвердить спецификацию WOFF как стандарт доставки sfnt (OTF и TTF) шрифтов в веб в «сжатом» виде.
  2. Была представлена отрисовка шрифтов в IE9 с помощью Windows’s DirectWrite в IE9 Platform Preview.
  3. Появились первые инструменты для подготовки веб шрифтов, такие как Font Squirrel’s @Font-Face Generator и EOTFAST.
  4. Пошла новая волна «шрифтохранилищ» в виде Typekit, Typotheque и бесплатного, опенсорсного Kernest.
  5. Появились первые “трастовые/кредитные” лицензии на веб-шрифты от дизайнеров коммерческих шрифтов.
  6. CSS3 Fonts Module включил в себя некоторые продвинутые свойства OpenType.
  7. Adobe Flash, когда-то надежная, кросс-платформенная среда замены текста (sIFR), сейчас выглядит абсолютно убогой.
  8. Google запустил бесплатный сервис шрифтов с растущей библиотекой. Все шрифты в библиотеке доступны и для частного хранения/использования.

Теперь пройдемся по пунктам…
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments43

Как выучить любой язык за 3 месяца?

Reading time6 min
Views99K
Перевод статьи Тима Ферриса из его блога.

image

(Учебник Дзюдо Окано Исао, который я использовал для изучения японской грамматики)

Изучение языка не должно быть сложным.

Принципы когнитивной нейронауки и управления временем могут быть применены для достижения свободного владения языком на разговорном уровне (в данном случае определяется как 95%+ процентов понимания и 100% выразительных возможностей) в течение 1-3 месяцев.

Время прочтения: 15 минут
Total votes 207: ↑186 and ↓21+165
Comments134

Еще один прибитый футер. Переменная высота, блочная верстка, JS опционально

Reading time2 min
Views3.2K
Задача прибивания футера к низу страницы обмусолена с ног до головы. Она неплохо решается для футера фиксированной высоты. А вот для случая, когда высота футера зависит от его содержимого, методов не так много. Либо это очевидное решение на javascript. Либо подгонка для этого элементов, изначально для того не предназначенных. Я, конечно, о таблицах. Хочу предложить способ, который тоже имеет свои недостатки (обо всем ниже), но недостатки эти другие, и, следовательно, может подойти тем, кому первые два не подходят.
Читать дальше →
Total votes 54: ↑42 and ↓12+30
Comments34

AeroWindow плагин для jQuery. Создание окон в стиле Windows Aero

Reading time2 min
Views5K
Хочу представить вашему вниманию интересный плагин для jQuery — AeroWindow, позволяющий создать ваш сайт в стиле Windows Aero. Он создает появляющиеся окна в стиле Window 7 Aero, которые предлагают обычные опции и полную функциональность похожую на окна Windows.

image
Читать дальше →
Total votes 137: ↑124 and ↓13+111
Comments93

Как прокачивать мозг

Reading time8 min
Views174K
В этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.

Не правда ли, картинка объемна?

Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.

Но обо всем по порядку.

Понимание роли мозга


Нет невежества страшнее, чем невежество по отношению к самому себе.

Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
Читать дальше →
Total votes 340: ↑281 and ↓59+222
Comments229

Памятка по установке и настройке Google Analytics

Reading time2 min
Views6.4K
По работе пригодилась краткая памятка по установке Google Analytics. Думаю, может быть интересно :)

Установка кода Google Analytics

1. Субдоменное/Кроссдоменное отслеживание – первым делом нужно определиться, располагается ли сайт не нескольких поддоменах и если да, то нужно настроить корректное отслеживание между ними с помощью функции setDomainName(). Иногда для отслеживания поддоменов используют разные профили с разными идентификаторами Google Analytics, но на наш взгляд удобнее пользоваться одним профилем и соответственным образом настроенными фильтрами, о которых чуть ниже.
Читать дальше →
Total votes 32: ↑18 and ↓14+4
Comments14

Клонирование системного диска штатными средствами Linux за 30 секунд

Reading time2 min
Views42K

Принесли мне намедни винчестер прямо в упаковке и озадачили оперативным клонированием системного диска одного из серверов. Задача, в целом довольно тривиальная, и легко выполнимая. У каждого наверняка есть методика подобного рода действиям, не знаю лучше или хуже мой подход, но поделиться, думаю, им стоит.
Вводная:
* сервер с linux
* все разделы на XFS
* загрузчик GRUB 0.97
* оригинальный диск /dev/sda, клонируем на /dev/sdb
* разделы /dev/sda[1,5-7] (общая полезная информация ~1GB)

И как же это сделать за 30 секунд?
Total votes 54: ↑45 and ↓9+36
Comments49

Автоматическая отсылка анонсов в твиттер

Reading time3 min
Views774
Недавно, при работе над проектом на Джанго, понадобилось автоматически отправлять в твиттер заголовок и укороченную ссылку для публикуемых статей от имени пользователя.

Как оказалось, делается это совсем несложно.

Читать дальше →
Total votes 41: ↑30 and ↓11+19
Comments32

Тонкости использования селекторов аттрибутов в CSS

Reading time4 min
Views34K
CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
<h2 id="first-title" class="magical" rel="friend">David Walsh</h2>

Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
h2[rel=friend] {
  /* woohoo! */
}

Читать дальше →
Total votes 165: ↑140 and ↓25+115
Comments116

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Total votes 193: ↑179 and ↓14+165
Comments78

Раскрась свои теги. CSSL

Reading time5 min
Views2K
     Я иногда сталкивался с тем, когда web-программист не знал CSS или, скорее, не хотел заниматься облагораживанием своего HTML, который являлся результатом работы разрабатываемого им скрипта. Это натолкнуло меня на мысль, что ему (программисту) не помешало бы иметь при себе некоторое средство для создания «красивых» страниц. Средство должно было бы включать в себя некоторый CSS, возможно, картинки, и подключаться к любому HTML (очевидно, созданному по некоторым определённым правилам). При этом смена CSS (и картинок) на альтернативные не должна была бы приводить к семантически некорректному отображению.
     Вышеобозначенные требования очень похожи на требования к составлению скина для какой-либо системы (в частности, CMS). Но, в отличие от скина, который заточен под конкретный HTML, в нашем случае хотелось бы максимально упростить правила написания HTML, чтобы разработчикам не нужно было держать в голове много сложных правил.
     Таким образом, оговаривая некоторые (небольшие) ограничения на HTML, мы с одной стороны гарантируем программисту, что его код, генерируемый с учётом этих правил, будет корректно оформлен любым сделанным для этих целей CSS, а с другой стороны, оговариваем шаблон изготовления самих этих CSS.
Читать дальше →
Total votes 72: ↑66 and ↓6+60
Comments83

Этапы работ по продвижению сайта в поисковых системах

Reading time4 min
Views11K
image

Как вывести сайт на первые места в поисковых системах?
— Достаточно проделать дополнительную работу по уже созданному сайту, не забывая при этом, что сайт должен быть интересен пользователям (содержать полезную информацию).

Как это работает у нас, в "СЕО Эксперт — компании по продвижению сайтов в поисковых системах"?
Смотрите ниже… доступно и, надеюсь, понятно (комментарии и вопросы приветствуются):

Первичный (преддоговорной) аудит сайта:
— Определение статистики запрашиваемости ключевых слов в яндексе за последний месяц;
— Определение текущих позиций сайта в поисковых системах: гугл, яндекс россия, яндекс регион (по умол. москва) и рамблер;
— Определение тематического индекса цитируемости Яндекс;
— Определение ранга страниц сайта (PageRank) в системе гугл;
— Проверка сайта на регистрацию в каталоге системы яндекс, определение рубрики каталога;
— Определение количества проиндексированных системой яндекс страниц сайта;

Результат:
Табличный файл с данными о наличии сайта по указанным запросам в поисковых системах
Краткие формальные характеристики сайта: тИЦ, кол-во проиндексированных страниц, наличие в яндекс.каталог, PageRank
Определение необходимых действий и сроков/стоимости работ по продвижению сайта в поисковых системах
Читать дальше →
Total votes 25: ↑5 and ↓20-15
Comments9

Information

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