Search
Write a publication
Pull to refresh
58
0
Serge @snp

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

Send message

Настраиваем EoMPLS на маршрутизаторах Cisco

Reading time6 min
Views50K
Многие из тех, кто постоянно работает с сетями Internet, наверняка слышали о такой замечательной технологии как MPLS.
MPLS открывает нам такие новые возможности как AToM (Any Transport over Mpls),Traffic Engineering и пр.
AToM позволяет передавать поверх сети IP/MPLS трафик таких протоколов второго уровня как ATM, Frame Relay, Ethernet, PPP, и HDLC.
В данной статье я бы хотел остановиться на технологии EoMPLS.

image
Дальше...

Распространенная ошибка при проверке капчи

Reading time1 min
Views13K
В этом топике я хочу предостеречь вас от одной ошибки, которую можно допустить при проверке капчи.

image
Если вы проверяете капчу условно так,
if (!empty($_POST['captcha_code']) && $_SESSION['captcha'] == $_POST['captcha_code']))
{
   print "Все ок!";
}

то не забудьте после этого удалить капчу из сессии! Иначе можно будет один раз отправить правильную капчу, после чего бот сможет стопятьсот тысяч раз отправить гадости на сервер.

Почему я решил что ошибка распространенная? Потому что, например, в PHPShop она более чем допущена.

почему более чем?

Настройка отступов в VIM

Reading time2 min
Views75K
Процесс смены Komodo IDE на VIM я начал с изучения всевозможных туториалов и хау ту, однако, что удивительно, ни в одном из них мне не удалось встретить человеческого описания процесса настройки отступов. В одних предлагали регулировать ширину отступа с помощью опции tabstop, в других — с помощью softtabstop, в третьих — выставлять и то и другое и shiftwidth в придачу. После нескольких часов экспериментов с настройками я понял, что единственный способ не только заставить все работать, но и понять, почему оно работает — читать документацию. Своими «открытиями» я и хочу с вами поделиться.
Читать дальше →

Выравнивание полей формы с помощью CSS

Reading time2 min
Views166K

Задача


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

forms_1

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

IPv6 для P2P

Reading time7 min
Views60K
IPv6 обычно ассоциируется с проблемой нехватки IPv4 адресов, о которой любит писать «желтая» пресса. Что со дня на день свободных адресов не останется и переход на IPv6 будет неизбежен. Скептики считают что проблема настолько же раздута, как в своё время «ошибка 2000», когда все боялись что после 1999 года наступит 1900 и случится техногенная катастрофа.

Для большинства пользователей, действительно, пользы от IPv6 никакой. Какая разница, например, что заголовки пакетов более удобны для маршрутизатора? Но для P2P проблема NAT (за счёт чего IPv4-адреса так ещё и не закончились) реальна, т.к. для связи peer-to-peer (даже чтобы переслать файл через Jabber или ICQ) нужно чтобы хотя бы один из участников был доступен снаружи, т.е. имел реальный IP-адрес или хотя бы пробросил себе порт. Некоторые провайдеры предоставляют внешний адрес за отдельную плату, у некоторых такой возможности нет, и именно для NAT-страдальцев будет больше всего полезно использование IPv6.

Также это будет полезно тем, у кого провайдер режет p2p-трафик. В России это (пока?) не так распространено, а за рубежом — далеко не редкость. IPv6 трафик (точнее, обёрнутый в обычные UDP пакеты) ими не режется. Еще это может помочь в ситуации, когда p2p-трафик блокируется корпоративным фаерволом, но настроить IPv6 через туннель можно.
Читать дальше →

Основы IPv6

Reading time11 min
Views132K

Предисловие


Пост является кратким конспектом Wiki, TechNet'а, FreeBSD'шного handbook'a, Serverfault'a, множества RFC и документов IANA, а также курсов от Специалист.Ру для сотрудников Яндекса.

Пост можно рассматривать как копилку ссылок по актуальной на 2012 год спецификации IPv6. Однако он никак не описывает возможные способы установки IPv6 соединения с интернетом и не привязан к какой-либо определённой ОС.
Учтите, что прочтение данной хабрастатьи займёт у вас не более получаса, однако крайне рекомендуется ознакомиться со всеми приведёнными в статье ссылками… Последнее может занять несколько недель.
Читать дальше →

Пустим QR коды в автодизайн

Reading time2 min
Views2.5K
В свое время возникла идея приукрасить машину QR-кодом чтобы немного скрасить потерянные в пробках часы жизни таких же автолюбителей, как и я.
В итоге сделал макет и собрался уже печатать, но потом возникла еще одна идея. Почему бы не совместить два типа кодов, дабы мои художества были доступны для понимания не только владельцам ридеров QR-кодов, но и, например, MS Tag.

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

После этих исследований родилось такое вот странное оформление запасного колеса моего четырехколесного друга:
image

Подробности и инфо на чем печатать такие коды под катом.
Читать дальше →

Прекрасные шрифты посредством @font-face

Reading time9 min
Views143K
Хотя Firefox 3.0 улучшил отображение шрифтов, привнеся поддержку кернинга, лигатур, различных толщин, а также поддержку отображения сложных начертаний, всё же авторов ограничивало использование в своих дизайнах только общедоступных шрифтов. Firefox 3.5 снимает это ограничение, вводя поддержку CSS-правила @font-face это способ прицеплять шрифты TrueType и OpenType точно так же, как нынче прицепляют код и иллюстрации. Браузер Safari поддерживал этот вид гиперсвязи со шрифтом, начиная от версии 3.1, а в Opera объявили, что планируют поддержать его в Opera 10.

Использовать @font-face для гиперсвязи со шрифтом — сравнительно несложно. Внутри стилевого файла каждое свойство @font-face задаёт используемое имя шрифтового семейства, и подгружаемый шрифтовой ресурс, и стилевые характеристики заданного начертания — скажем, полужирное ли оно, курсивное ли. Firefox 3.5 скачивает шрифты только по мере нужды, так что стилевой файл может задать полный набор шрифтов, из которых лишь выборочно несколькие станут использоваться в действительности.

/* Graublau Sans Web (www.fonts.info) */
 
@font-face {
  font-family: Graublau Sans Web;
  src: url(GraublauWeb.otf) format("opentype");
}
 
body {
  font-family: Graublau Sans Web, Lucida Grande, sans-serif; 
}

Браузеры, поддерживающие @font-face, отобразят текст при помощи Graublau Sans Web, тогда как более старые браузеры отобразят его при помощи либо Lucida Grande, либо начертания по умолчанию для sans-serif. Вот пример:

[Grumpy Grandpas!]
больше примеров, больше иллюстраций

Подсчёт общего количества строк выборке в mySQL при использовании LIMIT

Reading time5 min
Views65K
Один хороший человек хочет попасть на хабр. Для подтверждения своих благих намерений он написал статью, которую я привожу вам.

Наверняка многие знают о существовании в mySQL функции FOUND_ROWS(). Её чаще всего используют для подсчета общего числа строк в таблице, удовлетворяющих заданным условиям. Используют её обычно совместно с директивой SQL_CALC_FOUND_ROWS следующим образом:

Mysql> SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE column > 1 LIMIT 0, 50;
Mysql> SELECT FOUND_ROWS();

Результатом второго запроса будет общее количество строк в таблице «table», удовлетворяющих условию «column > 1» (а не только тех, что были возвращены первым запросом).
Следует учитывать некоторые особенности этой функции, когда используете её без директивы SQL_CALC_FOUND_ROWS, о чём добросовестно предупреждает документация mySQL: в этом случае она вернёт общее количество обработанных строк (не возвращённых!). Например:

Mysql> SELECT * FROM table LIMIT 0, 50;
Mysql> SELECT FOUND_ROWS();

Результатом, как и ожидается, будет «50». Но следующие запросы вернут не слишком ожидаемый результат:

Mysql> SELECT * FROM table WHERE column > 1 LIMIT 50, 50;
Mysql> SELECT FOUND_ROWS();

Несмотря на то, что первый запрос вернёт 50 строк, результатом будет «100», т.к. mySQL пришлось просмотреть именно 100 строк.
Читать дальше →

Stickerity

Reading time2 min
Views1.1K
Приветствую, хабралюди!

Идея создать что-то подобное давно витала в воздухе. Например, иногда хочется сделать заметку на каком-нибудь сайте, пометить для себя. Однако, мало где подобное возможно. Можно, конечно, добавить в закладки, но ведь потом на этой странице нужный текст/картинку нужно ещё найти.
Иногда хочется прокомментировать что-либо (фильм, рассказ, доку какую-нибудь), поделиться мнением с другими посетителями ресурса или написать что-либо автору/модератору, а ни форума, ни формы отправки комментариев, ни какого-либо фидбека на сайте не предусмотрено.

Иногда бывает также необходимость «пока не забыл» сделать пометку на разрабатываемом сайте о найденном баге («а вот здесь в осле разметка едет»)или о новой только что придуманной фиче. Но не прикручивать же к каждому сайту этот функционал только ради личных заметок! Я периодически пользуюсь стикерами, встроенными в xfce, однако, это не совсем то, что мне нужно. К тому же, он не позволяет этими заметками делиться.
А было бы неплохо иметь возможность оставлять заметки в том месте, с которым эта заметка связана. Например, так:

Sticker

Так если функционал какого-либо сайта, xfce4-notes или что-либо другое не позволяет, почему я не могу себе это позволить?

Вот я и позволил.

Hid.im преобразует торренты в изображения PNG

Reading time2 min
Views2.9K
Hid.im — новый сервис в Паутине, позволяющий пользователям скрывать файлы .torrent внутри изображений PNG. Это значит, что пользователи могут с лёгкостию закачивать сокрытые торрентовые файлы на свои любимые хостинги изображений и форумы, или использовать как аватары на сайтах социальных сетей, не подвергаяся цензуре.

[hid.im]Вы из тех людей, которые всегда мечтали упрятать торрент внутри картинки? Не ждите долее; на сайте Hid.im достаточно единожды жмякнуть мышóю, чтобы преобразовать торрент в файл картинки с возможностью позднее декодировать его обратно.

Должны признаться, что полезность этой службы не сразу стала нам очевидною, когда мы впервые обнаружили сей проект. Так что мы связались с Майклом Наттом (Michael Nutt) — одним из сотрудников проекта — чтобы выяснить, к чему это всё.

«Это попытка сделать торренты более живучими, — поведал Майкл сайту TorrentFreak. — Разница в том, что нет больше нужды именно в индексирующем сайте, чтобы хранить ваш торрентовый файл. Многие форумы дозволяют закачку картинок, но более никаких других типов файлов».

Сокрытие торрентового файла внутри картинки происходит с достаточной лёгкостию. Просто выберите торрентовый файл, лежащий на вашем жёстком диске — об остальном позаботится Hid.im. Единственное ограничение сервиса: размер файла торрента не может превышать 250KB.

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

Получатели могут декодировать картинки и получать исходный файл .torrent при помощи дополнения к Файерфоксу или букмарклета (то есть джаваскрипта в закладках — прим. пер.). Исходный код полностью открыт, и Майкл Натт поведал нам, что они надеются на помощь других людей, на появление дополнительных декодировщиков, поддерживаемых остальными браузерами.

Идея преобразования торрентов в картинки — не вполне новинка. Приложение Stegtorrent существует вот ужé несколько лет, совершая нечто подобное. Однако, в отличие от Stegtorrent, Hid.im располагается в Паутине, так что пользователям не приходится устанавливать никакое программное обеспéчение.

Хотя мы не вполне уверены, насколько полезен сайт Hid.im среднему пользователю BitTorrent, он наверняка придётся кстати в тех местах, где торренты воспрещены.

[Декодируй изображение и получи сокрытый торрент.]

Sphinx — не только для поиска!

Reading time2 min
Views10K

Думаю, про такой замечательный поисковый движок Sphinx слышали все или почти все. Наверняка многие уже применяют его, для поиска по сайту, для выборки похожих статей, новостей, товаров и т.д. Он отлично справляется с поисковыми задачами даже на очень больших количествах записей. Но, в своей статье я хочу рассказать про использование Sphinx не для поиска.
Читать дальше →

Виртуальный конструктор

Reading time6 min
Views66K
Все мы знаем, что в C++ нет такого понятия как виртуальный конструктор, который бы собирал нужный нам объект в зависимости от каких-либо входных параметров на этапе выполнения. Обычно для этих целей используется параметризованный фабричный метод (Factory Method). Однако мы можем сделать «ход конем» и сымитировать поведение виртуального конструктора с помощью методики, называемой «конверт и письмо» («Letter/Envelope»).

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

Организация распределенного дискового хранилища с возможностью неограниченного расширения с применением технологий LVM и ATAoE

Reading time7 min
Views6K

Задача


Когда диски были маленькие, а Интернет большой, владельцы частных FTP-серверов сталкивались со следующей проблемой:
На каждом жестком диске создавалась папочка Video или Soft, и получалось так, что добавив новый жесткий диск, приходилось делать на нем папочки Video2, Soft2, etc.
Задача поменять жесткий диск на диск большего объема приводила к тому, что данные нужно было куда-то переносить, все это происходило нетривиально и с большими downtime'ами.
Разработанная нами система в 2005 году позволила собрать надежный и быстрый массив в 3 терабайта, масштабируемый, расширяемый, в режиме онлайн, добавляя диски или целые сервера с дисками.
Цена всего решения составляла 110% от стоимости самих дисков, т.е. по-сути, бесплатной, с небольшим overhead.

Вот примерная схема устройства нашего хранилища:


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

Конечные автоматы в Ruby

Reading time4 min
Views9.5K
Статья за авторством хабраюзера preprocessor, который не смог ее опубликовать по всем понятной причине. Так что все плюсики ему:)

Конечный автомат (Finite-state machine) — это такая штука, описывающая поведение объекта с конечным количеством состояний. Пути перехода из одного состояния в другое, условия этого перехода, действия выполняемые во время перехода или после. С теорией у меня всегда было плохо, поэтому больше вдаваться в нее не буду, вместо этого, для тех кто интересуется подробностями, могу порекомендовать посмотреть википедию (как же без нее) http://en.wikipedia.org/wiki/Finite-state_machine и http://ru.wikipedia.org/wiki/Конечный_автомат, а оттуда уже капать на сколько захочется. На практике это можно использовать много где, от парсинга строк (привет Ragel), до модели User в вашем веб-приложении.
Читать дальше →

Оптимизация Drupal

Reading time17 min
Views30K
Вступление
Drupal – довольная распространённая CMS и это отложило на неё свой отпечаток – базовая поставка Drupal является не готовым решением для определённого вида сайта, а фундаментом для его создания. Существуют “сборки” на базе Drupal специализированные под определённые виды сайтов, например: новостные сайты. Но подобные сборки в данный момент мало распространены и плохо поддерживаются. В связи с этим при создании Интернет сайта на основе стандартной поставки Drupal используется большое количество готовых дополнительные модулей и тем оформления для Drupal, либо разрабатываются новые модули и темы специально для создаваемого Интернет сайта. Последним этапом работ по созданию сайта является его оптимизация, которую условно можно разбить на 4 шага:
  • встроенная оптимизация Drupal;
  • оптимизация Drupal с помощью модулей;
  • оптимизация конфигурации и обслуживания Drupal;
  • оптимизация сервера.

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

Флэшка для шпионов: AES-256 с самоуничтожением

Reading time1 min
Views4.6K
Производитель «самых защищённых флэшек в мире» IronKey представил S200 — дорогущую модель ценой около $300, рассчитанную на корпоративных и государственных заказчиков.

Нужно сказать, флэшка уникальна не только ценой. Во-первых, в ней стоит крипточип с аппаратной поддержкой AES-256. Во-вторых, это первая в мире флэшка, соответствующая государственному стандарту безопасности FIPS 140-2 третьего уровня. Третий уровень предполагает невозможность даже физического доступа к криптомодулю устройства. Дело в том, что криптомодуль S200 просто саморазрушается в случае несанкционированного доступа, будь то физический доступ или модификация на программном уровне.

Вероятно, разрушение происходит каким-то химикатом, хотя можно применить и более элегантный способ. Никаких подробностей об этом пока не сообщается.

Video rip. Часть 2-3. Избавление от обычной чересстрочности (deinterlace)

Reading time4 min
Views43K

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


Первое, что надо сделать — выкинуть из головы идею воспользоваться фильтром deinterlace из VirtualDub. Я знаю, это непросто, но необходимо. Всё дело в том, что после обработки этим фильтром (с некоторыми настройками) на видео появляются паразитные изображения, например т.н. ghost effect. Выглядит он примерно вот так или вот так. Это ужасно.
Читать дальше →

ООО «Снежинка» — Часть 3. Федеральный Закон от 30 декабря 2008 г. N 312-ФЗ Перерегистрация, Новые формы документов для регистрации

Reading time3 min
Views1K
С 1 июля 2009 года общества с ограниченной ответственностью будут действовать на основании единственного учредительного документа – устава. Учредительные договоры обществ с 1 июля 2009 года утрачивают силу учредительных документов. Все ООО с момента регистрации обязаны вести список своих участников. В него войдет информация об учредителях, включая данные об их адресах, сведения о принадлежащих им долях и их оплате, данные о долях, перешедших к обществу.
Обществам с ограниченной ответственностью необходимо внести изменения в свой устав. Сделать это нужно не позднее 1 января 2010 года. Изменения в устав вступают в силу с момента регистрации. То есть в срок, установленный в законодательстве, нужно успеть не только внести изменения в устав, но и зарегистрировать их. Поскольку 1 января 2010 года – нерабочий день, окончание срока переносится на первый рабочий день года.

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

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

МегафонМодем+ в Mandriva Linux

Reading time2 min
Views2.1K
E160GНеоднократно видел и читал как народ настраивает модемы, которые видны как флешка+модем в Linux, видел страшные скрипты, куча пакетов, кто-то даже ядро пересобирал. Но вот я стал счастливымвынужденным обладателем EDGE модема Huawei e160g, который входит комплект Мегафон Модем Плюс.

Настраивалось на Mandriva Linux 2009.0, в других дистрибутивах будет иначе, так как не везде есть drakconnect.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity