Как стать автором
Обновить
0
0
thistle @thistle

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

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

Использование методологии ITIL в малом бизнесе

Время на прочтение5 мин
Количество просмотров40K
Эта статья предназначена для всех тех системных администраторов, работающих в небольших компаниях, которые иногда сталкиваются с непониманием со стороны начальства и рядовых сотрудников. Такие люди — то есть мы с вами — иногда воспринимаются окружающими отрицательно, причем не всегда по заслугам. Отношения с сотрудниками портятся, когда мы закрываем доступ к социальным сетям. Начальство воспринимает в штыки любой запрос на покупку нового оборудования. Между тем, связи в коллективе — это ваш комфорт, а отношения с начальством — ваши деньги и карьера.

Именно поэтому, хотел бы вам предложить изменить эту схему. А именно — несколько рекомендаций из библиотеки ITIL. Они-то и станут тем фильтром, на который осядет весь неизбежный негатив нашей профессии. Если вам еще интересно – добро пожаловать под кат.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии100

Атомарная группировка, или Ни шагу назад!

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

0. Присказка


В некотором царстве, в некотором государстве жил-был программист. Звали его, как полагается, Иван. Был он настоящим спецом, обладал всеми Тремя Великими Добродетелями Программиста, то есть был ленив, спесив и нетерпелив. Случилась в том царстве печаль великая: кризис. И выгнали Ваню с работы без выходного пособия. Горевал Ваня долго, а потом собрался с духом и разослал резюме по всему белу свету. Долго ли, коротко ли, вызвали Ваню на собеседование. Требований к соискателю было много, но главное — требовалось хорошо владеть регулярными выражениями. До собеседования — почти месяц, готовься — не хочу. Будучи человеком серьёзным, готовиться Иван решил обстоятельно. 3 недели и 3 дня он лежал на печи, почитывал Хабр и думал, как же неслыханно обстоятельно он будет готовиться. До собеседования остался 1 день. Ванюша мысленно обругал работодателей, которые назначают собеседование так скоро, что совсем подготовиться не успеваешь, слез с печи, сдал пивные бутылки и на вырученные деньги купил книжку по регексам. Читал он её до полного изнеможения, пока не отключился. Утром мы найдём сонную физиономию Ванюши лежащей, как на подушке, на этой самой книжке под Хабракатом.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии42

Учим bash-скрипты, пишем Quadronix

Время на прочтение4 мин
Количество просмотров11K
На хабре уже много статей об играх на bash, это Шахматы, Xonix, Sokoban, Морской бой и даже Шутер с псевдо-3D графикой. Но во всех этих играх управление происходит с помощью клавиатуры. Мы же пойдём дальше и напишем игру на bash, управление в которой будет осуществляться с помощью мыши. А заодно разберём как сделать игру устойчивой к изменению размера терминала. Итак, напишем игру Quadronix.



Читать дальше →
Всего голосов 90: ↑85 и ↓5+80
Комментарии8

Кластер, который всегда с собой

Время на прочтение5 мин
Количество просмотров40K
lxcЗахотелось странного.
Во-первых, взгромоздить кучу виртуальных машин прямо на свой ноутбук.
А во-вторых, раскурить одну виртуализацию внутри другой.

Речь пойдет про использование контейнеров LXC, причем внутри другой виртуальной машины.

WTF! На кой это нужно?
Всего голосов 131: ↑126 и ↓5+121
Комментарии58

Английский для айтишника? Легко!

Время на прочтение2 мин
Количество просмотров182K
Эта тема не относится к IT напрямую, но все знают, что без нее никуда. К сожалению, далеко не у всех есть возможность изучать английский с преподавателями. Ну что ж, попробуем заняться этим дома и с максимальной отдачей!
Читать дальше →
Всего голосов 165: ↑137 и ↓28+109
Комментарии187

Еще раз про IP-адреса, маски подсетей и вообще

Время на прочтение7 мин
Количество просмотров1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →
Всего голосов 286: ↑261 и ↓25+236
Комментарии204

Обновление 0x4553-Intercepter

Время на прочтение1 мин
Количество просмотров9.8K
К функционалу программы добавлены 2 техники: SSL MiTM и SSL Strip.

Первая является старой классической техникой подмены сертификатов.
Позволяет перехватывать данные любого протокола, защищенного при помощи SSL.
Стандартно поддерживаются: HTTPS\POP3S\SMTPS\IMAPS.
Опционально можно указать любой дополнительный порт.

При перехвате HTTPS, сертификаты генерируются «на лету», копируя оригинальную информацию
с запрашиваемого ресурса. Для всех других случаев используется статичный сертификат.

Естественно, при использовании данного функционала неизбежны предупреждения браузера и другого
клиентского ПО.



SSL Strip — «тихая» техника для перехвата HTTPS соединений. Долгое время рабочая версия
существовала только под unix, теперь подобные действия можно проводить и в среде NT.

Суть в следующем: атакующий находится «посередине», анализируется HTTP трафик, выявляются все https:// ссылки и производится их замена на http://

Таким образом клиент продолжает общаться с сервером в незащищенном режиме. Все запросы на замененные ссылки контролируются и в ответ доставляются данные с оригинальных https источников.

Т.к. никаких сертификатов не подменяется, то и предупреждений нет.
Для имитации безопасного соединения производится замена иконки favicon.

Одно закономерное условие успешного перехвата — URL должен быть введен без указания префикса https.



Официальный сайт — sniff.su
Всего голосов 85: ↑67 и ↓18+49
Комментарии16

17 простых советов для повышения продуктивности

Время на прочтение3 мин
Количество просмотров33K
Эти советы — не очередная компиляция из книг и блогов, посвященных продуктивности. Каждый совет основан на моём личном опыте. На каждый совет я мог бы дать гарантию, если бы гарантия на советы была возможна в принципе.

Вступление окончено, переходим к советам!
Читать дальше →
Всего голосов 180: ↑152 и ↓28+124
Комментарии116

Сетевая игра на bash: шахматы

Время на прочтение5 мин
Количество просмотров8.6K
Я давно хотел написать какую-нибудь сетевую игру на bash, причём желательно, чтобы управление было удобное, с клавиатуры, обычными курсорным клавишами. Вообще, тема интерактивного взаимодействия в bash глубже, чем «введите число, нажмите „Enter“» не раскопана. Мне пришлось всё изобретать и исследовать самостоятельно. Я очень старался найти что-то похожее по уровню интерактивности, но не нашёл.

Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.

Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Сетевые шахматы на Bash


Так как игра сетевая, у неё требуется указать два параметра, о которых она расскажет, если её запустить без них. Первый — адрес машины противника, второй — порт. Порт выбирается одинаковым на обеих машинах. Игру можно запустить и на одной машине, в двух консолях (на скриншоте как раз такой случай).

Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.

Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».

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

Читать дальше →
Всего голосов 174: ↑173 и ↓1+172
Комментарии46

Некоторые примеры нестандартных возможностей синтаксиса sql. Часть вторая: форматы дат

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

Введение


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

Изначально я не планировал написание статьи о датах, а собирался остановиться на рассмотрении всего одного вопроса данной тематики. Однако в ходе работы возникла необходимость в освещении различных дополнительных возможностей Oracle, стали появляться новые примеры. Так рассмотрение одного вопроса разрослось в небольшую статью. Надеюсь, получилось нескучно, несмотря на не самую интересную тематику.

Первая часть статьи, посвященная особенностям оператора order by, функционированию not in и примеру неявного преобразования типов, находится здесь.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии8

reboot с веб-интерфейсом или trigger: простая и дешевая синхронизация процессов через блокируемый read()

Время на прочтение2 мин
Количество просмотров1K
Часто админские и веб-программерские задачи требуют синхронизации между разными компонентами системы, например, вебморда принимает команду на совершение какого-то действия, это действие желательно выполнить как можно раньше, но сам веб-интерфейс не может это сделать (скажем — не может изменить правила файрвола или таблицу роутинга просто потому что требуются полномочия root'а). Обычно я решал это некрасивым и неэффективным способом — веб-интерфейс писал команду в какой-то специальный файл, а другой шелл-скрипт (работающий от рута) в цикле проверял этот файл раз в несколько секунд, и если есть команды — то обрабатывал их.

В этом посте я опишу простой способ, который:
  • не требует программирования — только unix-way сборка системы из маленьких кирпичиков
  • не отжирает много ресурсов (не нужно зря поллить файл, а сама программа весит значительно меньше шелла)
  • срабатывает моментально


Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии8

Взаимодействие bash-скриптов с пользователем. Часть 2

Время на прочтение3 мин
Количество просмотров51K
Наша программа настолько сурова, что даже логин отображается звездочками (bash.org.ru)

Вашему вниманию представляется новая подборка средств общения скриптов с пользователем. Надеюсь, интересно будет всем, кто не боится работать с консолью.
Первую часть можно найти тут.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии17

Оповещения из Zabbix телефонным звонком

Время на прочтение2 мин
Количество просмотров16K
Всем привет.
Я давно использую zabbix и давно читаю хабр.

Мысль научить заббикс разговаривать голосом посещала меня давно, и даже делал систему которая чудным голосом сообщала ночным саппортам что случилось.
Сегодня я прочитал пост mxx про nagios`ом по телефону и меня срочно настигла мысль привинтить это к моей системе.

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

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

Переход с UFS на ZFS, опасные операции с ROOT разделом

Время на прочтение4 мин
Количество просмотров2.6K
Сегодня решил рассмотреть интересный вопрос касательно перехода на ZFS.
Для начала ознакомимся с тем что у нас имеется для соответствующего эксперимента, имеется сервер SunFire T2000, с 4 дисками SAS.

image
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Продолжаем игры с подопытным T2000 — этап, делимся мощностью

Время на прочтение7 мин
Количество просмотров2.7K
Сегодня продолжу описывать испытания, на уже знакомом нам по предыдущему посту серверу Sun Fire T2000. Необходимо попробовать насколько безболезненно пройдет установка на такую машинку свеженького Oracle VM (бывший Ldom) и запуск в ней Solaris. Так сказать тренировочный забег перед официальной работой. Кому-нибудь да пригодится подробный мануал.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

Взаимодействие bash-скриптов с пользователем

Время на прочтение4 мин
Количество просмотров146K
Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
Итак, приступим...
Всего голосов 89: ↑87 и ↓2+85
Комментарии48

Powershell — логирование в файл

Время на прочтение2 мин
Количество просмотров43K
Доброго времени суток, $username!

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

Функция была написана для того, чтобы информация выводилась и на экран и в лог (текстовый), предназначается для замены стандартного write-host.

Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии5

Статистика по профилям пользователей ВКонтакте

Время на прочтение6 мин
Количество просмотров99K
В этом посте я приведу статистику по данным, которые указали в своих профилях пользователи социальной сети ВКонтакте. Под катом также содержится ответ на интересующий многих вопрос — сколько всё-таки активных пользователей в этой соцсети? И, разумеется, пара слов о том, как всё это было собрано.
Читать дальше →
Всего голосов 284: ↑274 и ↓10+264
Комментарии237

MS SQL 2011 – новый оператор Offset

Время на прочтение9 мин
Количество просмотров78K
В новом SQL Server 2011 (Denali) расширяются возможности команды Order By с помощью двух долгожданных дополнительных команд:
  • Offset (смещение)
  • Fetch First или Fetch Next (взять первые… или взять следующие…)


Offset


Использование данной команды позволяет пропустить указанное количество строк перед тем как выводить результаты запроса. Что под этим подразумевается: Допустим, у нас есть 100 записей в таблице и нужно пропустить первые 10 строк и вывести строки с 11 по 100. Теперь это легко решается следующим запросом:
Select *
From  <SomeTable>
Order by  <SomeColumn>
Offset 10 Rows

Для тех товарищей, которые практикуют .Net должен быть знаком метод расширения для коллекций Skip, который пропускает указанное количество строк. Так вот выражение Offset работает точно так же. После того как данные упорядочены каким-либо образом, можно применять выражение Offset.

Читать дальше →
Всего голосов 47: ↑34 и ↓13+21
Комментарии23

Информация

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