Обновить
-6

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

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

Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

Время на прочтение2 мин
Охват и читатели93K


В нашем отделе веб-разработки есть хорошая традиция. Каждые 2 недели у нас проходят «голые пятницы» — это мини-конференции, на которых мы делимся интересными и полезными знаниями, накопенными в процессе работы. Сегодня таких знаний у нас накопилось довольно много, и мы решили начать постепенно делиться ими с общественностью в лице Хабрасообщества.

Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
Вперед!

Пишем файловую систему в ядре Linux

Время на прочтение10 мин
Охват и читатели61K

Для кого эта статья


image

Данная статья составлена по материалам практики по курсу операционных систем в Академическом университете . Материал готовился для студентов, и ничего сложного здесь не будет, достаточно базового знания командной строки, языка C, Makefile и общих теоретических знаний о файловых системах.

Весь материал разбит на несколько частей, в данной статье будет описана вводная часть. Я коротко расскажу о том, что понадобится для разработки в ядре Linux, затем мы напишем простейший загружаемый модуль ядра, и наконец напишем каркас будущей файловой системы — модуль, который зарегистрирует довольно бесполезную (пока) файловую систему в ядре. Люди уже знакомые (пусть и поверхностно) с разработкой в ядре Linux не найдут здесь ничего интересного.
Читать дальше →

Создание отказоустойчивого IPSec VPN туннеля между Mikrotik RouterOS и Kerio Control

Время на прочтение12 мин
Охват и читатели263K


Начиная с версии 8.1 Kerio Control для создания туннелей VPN можно использовать не только пропиетарный протокол Kerio VPN, но и вполне себе расово правильный IPSec. И конечно же мне сразу захотелось скрестить Mikrotik и Kerio Control.

Я попробовал разобраться

Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]

Время на прочтение24 мин
Охват и читатели94K

Эксперименты по обработке звука аппаратными средствами SB Live и их возможное применение для работы в эфире. Заметка включает в себя инструкцию по применению альтернативных драйверов KX-Project, примеры применения и выводы по возможности реального применения. Период написания статьи 2006-2007 год, размещена была на страничке ныне уже не существующей коллективной радиостанции (RK3MXH). Авторство мое.

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

Под катом очень много текста и рисунков.
Читать дальше →

Подготовка инфраструктуры и развертывание отказоустойчивого кластера на Windows Server 2012

Время на прочтение5 мин
Охват и читатели75K


Здравствуй, %username%!


После нескольких лет молчания, решил поделиться опытом по развертыванию отказоустойчивого кластера на основе Windows Server 2012.
Постановка задачи: Развернуть отказоустойчивый кластер для размещения на нем виртуальных машин, с возможностью выделения виртуальных машин в отдельные виртуальные подсети (VLAN), обеспечить высокую надежность, возможность попеременного обслуживания серверов, обеспечить доступность сервисов. Обеспечить спокойный сон отделу ИТ.
Под катом сумбурное описание решения задачи

Openfire+Miranda+Asterisk+Active Directory+щепотка php,bash,C# или как звонить из Miranda, используя обычные телефоны

Время на прочтение10 мин
Охват и читатели18K
image
Заставить Miranda осуществлять звонки — несложно, используя плагины для SIP-телефонии, превращающие Miranda в софтфон,
Однако, что же делать когда у пользователей нет ни гарнитур, ни микрофонов?
А уж обучить пользователей работать с софт-фоном, встроенным с Miranda — страшный сон.

Вариант один — использовать существующие телефонные аппараты (IP, аналог, цифра) для осуществления звонков из Miranda.

Исходные данные:
1. Цифровая мини АТС Panasonic TDE200, к которой подключены все телефоны
2. Куча абонентов с разношерстными типами телефонов: IP, аналог, цифра, системные телефоны
3. Рабочий XMPP-сервер на базе OpenFire
4. Клиент Miranda для общения по протоколу XMPP (Jabber) — установлен у всех пользователей.

Хотелки:
1. Возможность совершать звонок, используя клиент Miranda.
2. Звонок и разговор должен совершаться по обычным рабочим телефонам (IP, аналог, цифра).
3. Информация о номерах телефонов должна браться из Active Directory.
4. Прозрачность/простота использования для пользователей.
5. При совершении звонка добавить оповещение по Jabber о звонящем.

Кого заинтересовало вступление — добро пожаловать под кат. Ниже будет интересно.
Читать дальше →

IPv6 теория и практика: введение в IPv6

Время на прочтение7 мин
Охват и читатели151K
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Читать дальше →

Создание надёжного iSCSI-хранилища на Linux, часть 1

Время на прочтение11 мин
Охват и читатели66K
Часть вторая

Прелюдия


Сегодня я расскажу вам как я создавал бюджетное отказоустойчивое iSCSI хранилище из двух серверов на базе Linux для обслуживания нужд кластера VMWare vSphere. Были похожие статьи (например), но мой подход несколько отличается, да и решения (тот же heartbeat и iscsitarget), используемые там, уже устарели.

Статья предназначена для достаточно опытных администраторов, не боящихся фразы «патчить и компилировать ядро», хотя какие-то части можно было упростить и обойтись вовсе без компиляции, но я напишу как делал сам. Некоторые простые вещи я буду пропускать, чтобы не раздувать материал. Цель этой статьи скорее показать общие принципы, а не расписать всё по шагам.

Вводные


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

В качестве гипервизора был выбран vSphere, как наиболее устоявшийся и законченый продукт, а в качестве протокола — iSCSI, как не требующий дополнительных финансовых вливаний в виде коммутаторов FC или FCoE. С опенсурсными SAS таргетами довольно туго, если не сказать хуже, так что этот вариант тоже был отвергнут.

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

В качестве софта было выбрано:
  • Debian Wheezy + LTS ядро 3.10
  • iSCSI-таргет SCST
  • DRBD для репликации
  • Pacemaker для управления ресурсами кластера и мониторинга
  • Подсистема ядра DM-Crypt для шифрования (инструкции AES-NI в процессоре нам очень помогут)

В итоге, в недолгих муках была рождена такая несложная схема:
image
Читать дальше →

Собственное корпоративное облако ownCloud с NGINX во frontend и несколькими серверами backend

Время на прочтение7 мин
Охват и читатели40K

1. Схема


Имеем:
  • Frontend — NGINX проксирующий сервер для принятия и распределения нагрузки (IP — 1.2.3.4 — внешний, IP — 192.168.5.10 — внутренний DMZ) по хорошему он тоже должен стоять за firewall-ом, но тут схема для простоты понимания.
  • Два сервера с поднятыми ownCloud
  • cloud-1 IP — 192.168.1.11
  • cloud-2 IP — 192.168.1.12
  • Хранилище файлов NFS-storage IP — 192.168.1.20 для размещения данных пользователей с доступом по NFS.

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

Восстановление прошивки RAID-контроллеров LSI

Время на прочтение4 мин
Охват и читатели63K
Доброго времени суток, хабравчане!

Я хочу рассказать вам о том, как я восстанавливал прошивку RAID-контроллера LSI MegaRAID после неудачного обновления.
Когда эта беда случилась со мной, то информации об этом я практически не нашел, хотя, допускаю, что плохо гуглил.

Анамнез


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

Зачастую, особенно в случае с 1U серверами я беру их уже с интегрированным контроллером LSI MegaRAID.

Но проблема с ними заключается в том, что сама Supermicro не очень охотно выкладывает прошивки для встроенных контроллеров, так что я их обычно прошиваю актуальной прошивкой (масло масляное, да) от аналогичного контроллера LSI. Проблем не возникало до этих пор.

Недавно привезли несколько серверов с контроллерами LSI 2208 на борту и достаточно старой прошивкой.
Т.к. дискретные контроллеры на этих чипах я тоже активно использую, то особо не сомневаясь загрузился с флешки с Linux-ом, запустил привычное:
./MegaCli64 -AdpFwFlash -f mr2208.rom -a0
и пошел заниматься дальше своими делами.

Когда я в следующий раз обратил взор на терминал сервера, то увидел ту же самую картину, что и была — «Flashing firmware...» и никакого результата. Беда, подумал Штирлиц.
Читать дальше →

Торрент-сервер Demonoid вернулся к жизни

Время на прочтение1 мин
Охват и читатели18K


Похоже на то, что один из крупнейших торрент-серверов мира Demonoid, вернулся к жизни. Этот торрент-сервер связан примерно с 400 тысячами торрент-файлов и более, чем миллионом пиров. Пока что неясно, когда весь ресурс вернется к полноценной жизни, но раздачи торрента, во всяком случае, ожили.

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

Packet crafting как он есть

Время на прочтение14 мин
Охват и читатели127K


Создание пакетов или packet crafting — это техника, которая позволяет сетевым инженерам или пентестерам исследовать сети, проверять правила фаерволлов и находить уязвимые места.
Делается это обычно вручную, отправляя пакеты на различные устройства в сети.
В качестве цели может быть брандмауэр, системы обнаружения вторжений (IDS), маршрутизаторы и любые другие участники сети.
Создание пакетов вручную не означает, что нужно писать код на каком-либо высокоуровневом языке программирования, можно воспользоваться готовым инструментом, например, Scapy.

Scapy — это один из лучших, если не самый лучший, инструмент для создания пакетов вручную.
Утилита написана с использованием языка Python, автором является Philippe Biondi.
Возможности утилиты практически безграничны — это и сборка пакетов с последующей отправкой их в сеть, и захват пакетов, и чтение их из сохраненного ранее дампа, и исследование сети, и многое другое.
Всё это можно делать как в интерактивном режиме, так и создавая скрипты.
С помощью Scapy можно проводить сканирование, трассировку, исследования, атаки и обнаружение хостов в сети.
Scapy предоставляет среду или даже фреймворк, чем-то похожий на Wireshark, только без красивой графической оболочки.
Утилита разрабатывается под UNIX-подобные операционные системы, но тем не менее, некоторым удается запустить ее и в среде Windows.
Эта утилита так же может взаимодействовать и с другими программами: для наглядного декодирования пакетов можно подключать тот же Wireshark, для рисования графиков — GnuPlot и Vpython.
Для работы потребуется права суперпользователя (root, UID 0), так как это достаточно низкоуровневая утилита и работает напрямую с сетевой картой.
И что важно, для работы с этой утилитой не потребуются глубокие знания программирования на Python.
Читать дальше →

SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

Время на прочтение3 мин
Охват и читатели445K
Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?

То-то и оно. Такое пропустить нельзя.
Читать дальше →

CBOR — новый бинарный формат представления данных

Время на прочтение9 мин
Охват и читатели70K
Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

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

8 HTML элементов, которые вы не используете (а следовало бы)

Время на прочтение4 мин
Охват и читатели97K
image
Веб сегодня все больше и больше семантический. Но что означает «семантический»? Почему это важно?

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

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

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

Как выбрать название для IT продукта и IT компании

Время на прочтение9 мин
Охват и читатели110K
Мне было немного странно видеть, что в таком замечательном ресурсе мало обсуждения и самой темы о торговых марках, то есть наименовании IT продуктов и компаний (“торговой марки”, “торгового наименования”, “ТМ”, “trademark”). Очевидно, что любой программист и участник IT рынка (а особенно те, кто пишут свои продукты), рано или поздно столкнется с этим вопросом. Поэтому, чем раньше IT-шники об этом будут задумываться, тем меньше будет проблем в их бизнесе в будущем.

Итак, постараемся восполнить пробел и открыть тему торговых марок. Очевидно, что с точки зрения программирования легко повторить и tetris, и facebook, и любые «фермы». Но попробуйте раскрутить свой продукт (клон он или нет) с похожими на эти продукты названиями — тут же владельцы (вернее их юристы) вас закроют со всех ресурсов. С другой стороны, если ваш продукт становится популярным, то тут же назревает необходимость защитить его от клонов и сделать так, чтобы другие не использовали и не забивали вашу марку в свои ключевые слова. Если коротко — это и есть причина, по которой торговая марка выступает одним из основных параметров оценки и стоимости любого IT проекта при его финансировании, продаже и заключении солидных контрактов.
Читать дальше →

Сертификация CCNP Service Provider

Время на прочтение8 мин
Охват и читатели28K
Приветствую, хабр!

В силу профессиональных интересов, я довольно часто натыкаюсь на статьи о том, как готовиться и сдавать те или иные сертификационные экзамены небезызвестного вендора Cisco. Но вот беда! Не все направления сертификации одинаково популярны. Про всеми любимый Routing and Switching (R&S) пишут всегда и везде, чуть реже обсуждают Voice и Security, а некоторые треки и вовсе остаются без внимания. На днях я закончил сдавать трек CCNP Service Provider. Достижение небольшое, то ли дело коллеги, сдающие CCIE. Цель, как ни крути, благородная, даже если работаешь с разными вендорами.
Уровень «Professional» можно достичь гораздо быстрее, о нём и поговорим.

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

Изобретаем JPEG

Время на прочтение28 мин
Охват и читатели184K

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

Знание алгоритма JPEG очень полезно не только для сжатия изображений. В нем используется теория из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др. Поэтому полученные знания могут пригодиться где угодно.

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →

Python на Хабре

Время на прочтение7 мин
Охват и читатели457K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Как я перестал беспокоиться и полюбил Hyper-V Server

Время на прочтение6 мин
Охват и читатели244K
Как я перестал беспокоиться и полюбил Hyper-V Server

Недавно у меня появилась задача “вжиться в шкуру пользователя” и на деле проверить, как работается на бесплатном Microsoft Hyper-V Server 2012.



Да-да, бесплатный сыр есть не только в мышеловке, но и у Майкрософта. Если вы хотите виртуализовать сервера или хотя бы ваш старый ноутбук, но при этом не хотите платить дополнительные деньги за гипервизор, то Hyper-V Server — это то, что нужно попробовать. Почему? Во-первых, он по-настоящему бесплатен – все функции, включая даже «энтерпрайзные», доступны пользователям сразу и без каких-либо оговорок, во-вторых, он поддерживается и развивается большой компанией, и, в-третьих, это просто старый добрый Windows, хоть и немного обрезанный до Server Core.



Под катом вас ждет рассказ о том, как установить и настроить Hyper-V Server и элегантно обойти ограничения этой платформы при помощи Линукса.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность