Pull to refresh
21
0

DevOps Engineer

Send message

Маркировка кабелей

Reading time6 min
Views122K
В этой статье:
  • подготовка таблицы коммутаций;
  • варианты маркировки (что наносить на кабели);
  • обзор методов нанесения маркировки;
  • пример работы с одним из методов, включая макрос и шаблон для распечатки.
Читать дальше →

Linux HA на основе Pacemaker

Reading time5 min
Views126K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →

Балансировка нагрузки с LVS

Reading time6 min
Views103K
Итак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.

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

ConfigParser и Unicode

Reading time3 min
Views17K
В Python есть очень удобный модуль для сохранения и чтения ini-подобных конфигурационных файлов, который называется ConfigParser.

У меня при его использовании возникла проблема, связанная с сохранением в файл Unicode-строк. В некоторых трудноуловимых случаях (например, у меня это проявилось при работе приложения под Windows XP) при чтении или записи таких параметров выскакивает ошибка конвертации строк.

В интернете мне не удалось найти готовых решений, хотя вопросов о том «как сделать чтобы всегда работало» довольно много — обычно отвечают в духе «просите автора модуля это исправить».

Хочу предложить свое решение для тех, кто использует Python 2.X — оно довольно простое и помогает решить эту проблему.

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

Критерии качества сигнала в сетях WiMax

Reading time3 min
Views162K
imageВ статье «Тестирование антенн Wi-Fi для приема WiMax» я приводил параметры CINR и RSSI как результаты своих экспериментов, лишь примерно представляя себе, что отражают эти величины. Пребывать в неведении мне было стыдно, и я детально разобрался в этом вопросе.
Не сомневаюсь, что найдутся Хабралюди (такие, как shogunkub), для которых данный топик не откроет ничего нового, но многим, я уверен, будет так же интересно разобраться, как и мне.


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

Pacemaker HA: сетевые соединения и динамическое размещение ресурсов кластера

Reading time5 min
Views22K
Ноды кластера очень сильно зависят от их физического соединения. Как показывает практика, большинство случаев отработки failove-миграций ресурсов происходит по вине именно сетевых соединений. Поэтому от того, как у вас осуществляется соединение между нодами и настроены размещения ресурсов, зависит очень многое.
Читать дальше →

Cisco Router + 2ISP + NAT. Доступность сервиса через 2ух провайдеров

Reading time9 min
Views47K
image

Толчок. За ним ещё один, сильнее. Вот и всё. Перед глазами проносились альпийские луга, и девушка в бежевом сарафане, игриво крутя в точёных ручках кружевной зонтик проносилась мимо тоже. Проносилась, не сбавляя скорости, несмотря на то, что я тянул к ней свои менее точенные, но крепкие ручонки, а также жестами и мимикой изображал, в меру сил своих, какой всесторонний кундюшок её может ожидать, раскинь она мне руки навстречу (ну или ещё что раскинь).
Но случилось что случилось, и лишь ловко выхваченный зонтик из её, кстати, не только точённых но и цепких рук, немного оттенял розовыми тонами последние секунды моего пробуждения и согревал разбитое сердце (без зонтика, закрывающего её шевелюру, девушка оказалась на поверку немного, мягко говоря, плешиватой). Открыв глаза я, как то не странно, увидел себя не посреди развалин Ниигаты, и сразу отринул сейсмическую природу толчков. Немного отлегло. Перестал кричать – «Покинуть корабль!». С укором взглянул на начальника отдела трясущего меня за плечо. Который, вместо извинений принёс мне весть, что нас с ним ожидают у директора, для постановки одного маленького, но очень ответственного задания. Не приняв его слова близко к сердцу, я несколько раз пытался вернуться к своей плешивой искусительнице, но начальник продолжал проявлять чудеса настойчивости. Пришлось идти.
Читать дальше →

IOS. Версии, лицензии и что делать в РФ

Reading time4 min
Views86K
У начинающих cisco-водов много вопросов вызывают различные варианты линеек IOS их отличия и функционал. Дополнительную сумятицу внесло появление новых маршрутизаторов ISR G2 и новой линейки IOS версии 15. Попробуем разобраться на пальцах.

Будем обсуждать IOS для самых распространенных маршрутизаторов – Integrated Services Router (ISR) первой и второй «волны» (G1 и G2). Я не буду вдаваться совсем уж в историю и начну с IOS 12 версии. Более ранние, конечно, бывают, но встречаются сейчас крайне редко. Мало того, даже для самого древнего железа уже как правило хотя бы 12.0 версия есть.

Начиная с этой линейки у cisco появилось понятие «стабильный» или «основной» образ (main deployment, MD), «ранние версии» (early deployment, ED), всякие экспериментальные версии (обычно содержат несколько новых фич) и целая «продвинутая» технологическая линейка (обозначается буквой Т в названии IOS). Общая идеология такая: все, что обкатали в экспериментальных и технологических линейках предыдущих версий, появляется как основная фича в следующей версии основной линейки. Например, то, что было в 12.3Т и прошло успешные испытания, зафиксировано в 12.4 MD. Понятно, что возможностей у Т-линейки больше, функционал менее оттестирован и статистически менее надежен.
Читать дальше →

Inter-domain Routing Loops

Reading time4 min
Views28K
Редистрибуция маршрутов (route redistribution) – особая и горячо любимая экзаменационная тема Cisco. Свойства технологий таковы, что помимо хорошо известных нам петель маршрутизации (routing loops) в пределах одного домена/зоны существуют также петли между несколькими зонами в случае использования OSPF, а также петли между доменами в случае редистрибуции маршрутов из домена с одним протоколом маршрутизации в домен с другим.



Я не нашел определения им ни в одном стандарте, потому буду называть их inter-domain routing loops. До недавнего времени эта особенность была обязательным элементом CCIE Lab Exam, но после обновления CCNP стала частью курса Route.
Читать дальше →

Наш опыт работы с Django, или 10 полезных модулей, облегчающих жизнь

Reading time4 min
Views38K
Бесценный опыт работы с Django, или Django для блондинок, брюнеток и всех-всех-всехПоследние 15 недель мы активно работали над проектом «Стиллион», первым нашим мейнстрим-проектом, написанным на Django. Был приобретен интересный опыт, которым мы хотели бы поделиться с сообществом.
Статья, прежде всего, будет интересна новичкам в Django.
За катом список полезных плагинов, которые мы использовали, и ещё немного клёвых фич

Ubiquity RouterStation Pro: небольшой обзор и установка Debian GNU/Linux

Reading time5 min
Views7K
Приветствую, хабрачеловеки.
Предлагаю вашему вниманию кратенький обзор одного из устройств компании Ubiquity в линейке embedded systems, а именно — RouterStation Pro (далее по тексту — «rspro»). Сравнивая с другими продуктами на рынке, можно сказать, что это чрезвычайно функциональный и производительный маршрутизатор. У Pro-версии есть и младшая сестра, с более скромными техническими характеристиками. Но обо всем по порядку.

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

От песка до процессора

Reading time9 min
Views397K
Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )

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

PyCharm (IDE для Python/Django) обновился до версии 1.1

Reading time1 min
Views5.6K

Спустя два с небольшим месяца после релиза PyCharm 1.0 вышел первый большой апдейт, версия 1.1. Несмотря на скромное увеличение номера версии, новых фич и улучшений в релиз попало достаточно много. Вот краткий список:
  • Автодополнение теперь появляется автоматически и не требует нажатия Ctrl-Space;
  • Появилась возможность вытаскивать табы редактора на второй монитор (почти как в Chrome);
  • В дебаггере появились условные breakpoint'ы, break on exception, новая консоль и возможность удалённой отладки;
  • Запуск тестов теперь умеет работать с nose, doctests и новыми версиями py.test;
  • Появилась пачка новых inspection'ов, quickfix'ов и локальных рефакторингов (например, «Convert lambda to function»).
  • Под Linux и Mac теперь можно открывать проекты и файлы из командной строки;
  • В комплект поставки включены плагины для работы с файлами по FTP/SFTP и для интеграции с системами issue tracking.
Ну и ещё много всего полезного. Как всегда, доступна 30-дневная пробная версия, а также бесплатные лицензии для open-source проектов и для использования в учебном процессе.

Скачать новую версию можно на сайте jetbrains.com.

UART и с чем его едят

Reading time10 min
Views930K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image
Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту


Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

Надо сказать, что изначально интерфейс УАПП появился в США как средство для передачи телеграфных сообщений, и рабочих бит там было пять (как в азбуке Морзе). Для передачи использовались механические устройства. Потом появились компьютеры, и коды ASCII, которые потребовали семь бит. В начале 60-х на смену пришла всем известная 8-битная таблица ASCII, и тогда формат передачи стал занимать полноценный байт, плюс управляющие три бита.
Читать дальше →

Сглаживая кривую

Reading time5 min
Views1.6K
Практически для всех возможностей Django существуют способы модификации и расширения. Крайне редко может понадобиться переписывать существенную часть функционала Django только для того, чтобы изменить действие какого-то инструмента. Например, если вы хотите изменить внешний вид формы, вы можете отказаться от внешнего вида «по умолчанию» и создать собственное поле, или даже просто использовать собственный HTML. В обоих случаях вы выигрываете по спектру возможностей, сохраняя все остальные преимущества библиотеки форм.

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

До выхода в свет версии Django 1.2 для ORM такая кривая имела аналогичный вид, за одним исключением: существенный скачок в конце. Этот скачок появлялся в связи с тем, что при необходимости создания нестандартного SQL-запроса требовалось выйти за пределы ORM. Чтобы использовать определённый функционал ORM, пользователю пришлось бы создавать его заново самостоятельно, хоть это и не является само по себе катастрофой. В версии Django 1.2 добавлен метод Model.objects.raw (), который решает эту проблему и, таким образом, сглаживает эту кривую для ORM.

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

Загрузка нескольких файлов в Django — Multifile upload Django SWFUploader

Reading time9 min
Views7.8K
Django предоставляет отличные средства для быстрого построения back-end без лишних телодвижений. Однако создание на его основе галлереи связано с множеством ручной работы по загрузке каждого файла в отдельности.

Решений у этой проблемы несколько:
  1. загрузка архива и его распаковка на сервере,
  2. использование специального поля,
  3. имитация множественных post-запросов.

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

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

Итак выполним следующие действия.

все 8 шагов

Python: советы, уловки, хаки (часть 1)

Reading time8 min
Views265K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →

Python Tips, Tricks, and Hacks (часть 2)

Reading time6 min
Views134K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →

Теории мотиваций

Reading time8 min
Views41K
image

На написание меня сподвигли пара топиков про теории мотивации X и Y.

В качестве предисловия

Проблема мотивирования труда является одной из самых острых проблем, стоящих перед современным российским предприятием. Как правило, отечественные руководители рассматривают систему мотивации как инструмент, базирующийся на персональных выплатах работнику.
Согласно принятым системам мотивации на отечественных предприятиях работник получает:
• Базовую заработную плату в зависимости от иерархического уровня управления;
• Премии и бонусы по результатам деятельности подразделения за отчетный период;
• Премии и бонусы по результатам личной деятельности работника (личные бонусы и доплаты за исполнение проектов, комиссионные, поддержка обучающихся, и т.д.);
• Премии и бонусы по результатам деятельности организации в целом (годовые бонусы);
Но подобные схемы теряют свою эффективность
Читать дальше →

Regexp и Python: извлечение токенов из текста

Reading time9 min
Views84K
imageРазбор логов и конфигурационных файлов — задача часто возникающая и многократно описанная. В этой статье я расскажу как на языке python реализовать ее классическое решение: с помощью регулярных выражений и именованных групп. По возможности постараюсь рассказать причины, по которым применяется то или иное решение, а также обрисовать подводные камни и методы их обхода.

Читать о том, как препарируют текст

Information

Rating
Does not participate
Location
Севастополь, Республика Крым, Россия
Date of birth
Registered
Activity