Как стать автором
Обновить
0
Руслан @Storm2kread⁠-⁠only

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

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

Backdoor в Active Directory

Время на прочтение4 мин
Количество просмотров9.9K
В свое время, менее года назад, на хабре мелькала публикация с аналогичным заголовком [1]. В ней автор предлагал способ по сокрытию привилегий администратора домена путем использования в качестве контейнера, для размещения «скрытой» учетной записи, служебное хранилище «Program data», в совокупностью с агрессивным разграничением прав с целью предотвращения доступа к «спрятанной» учетной записи. Однако, несмотря на заверения автора, обнаружение «скрытой» учетной записи и ее последующее удаление можно было выполнить всего в несколько кликов.
Читать дальше →
Всего голосов 82: ↑78 и ↓4+74
Комментарии15

Простое использование AsyncTask и ProgressDialog в Android

Время на прочтение5 мин
Количество просмотров30K
image

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

Android содержит массу способов для организации данного подхода, но одним из самых удобных можно признать использование AsyncTask и ProgressDialog.

Эта парочка превосходно решает задачу, но начинает приносить невыносимую боль, когда количество Activity с такой логикой переваливает за одну, что приводит к повторению управляющего кода, и еще большую боль, когда приложение должно поддерживать смену ориентации экрана.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии5

Пишем первое приложение для Android

Время на прочтение8 мин
Количество просмотров550K
В любом деле самое сложное — это начало. Часто бывает тяжело войти в контекст, с чем столкнулся и я, решив разработать свое первое Android-приложение. Настоящая статья для тех, кто хочет начать, но не знает с чего.

Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).

Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.

Читать дальше →
Всего голосов 197: ↑170 и ↓27+143
Комментарии68

Hello World widget для Android

Время на прочтение9 мин
Количество просмотров70K
Как ни странно, но на русском почти нет нормальных статей по виджетам для Android. Да и на англо язычных ресурсах почти нет простых примеров для старта, все примеры почему-то сложные и тяжелые для понимания. Спешу это исправить.
Читать дальше →
Всего голосов 72: ↑56 и ↓16+40
Комментарии29

Строим мультикоптер, часть завершительная

Время на прочтение6 мин
Количество просмотров31K
Часть 1 | Часть 2 | Часть 3 | Часть 4

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



Но не тут-то было.
Читать дальше →
Всего голосов 142: ↑140 и ↓2+138
Комментарии96

Как я внедрял Zimbra

Время на прочтение9 мин
Количество просмотров108K
Всем доброго времени суток!

После возвращения на прежнее место работы возникла необходимость разгребать собственные-же косяки 2-х летней давности, помноженные (именно помноженные) на косяки ООО «Разолбай-аутсорсинг» (название организации, как вы правильно понимаете, изменено). Одним из таких косяков был почтовый сервер Exim из которого мало того, что как из ушата лился спам, так еще и кривонастроеный антиспам приходящим админом ООО «Раздолбай-аутсорсинг» куда-то «пропадал» нужные письма, и в качестве приятного бонуса в imap`ных ящиках периодически пропадали нужные письма. В общем лучшим решением было rm -rf /. Именно это я и сделал и внедрил Zimbra и сейчас я хочу рассказать как это сделал таким образом, что это заработало (прежде всего в логике работы компании) став вторым инструментом документооборота, хотя ранее электронка стояла особняком, которая была у нескольких человек.

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

Читать дальше →
Всего голосов 68: ↑58 и ↓10+48
Комментарии75

TOP'ай сюда

Время на прочтение5 мин
Количество просмотров177K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Всего голосов 401: ↑389 и ↓12+377
Комментарии122

Обзор и сравнение способов настройки NAT на FreeBSD

Время на прочтение5 мин
Количество просмотров63K
В этой статье я бы хотел привести примеры настройки NAT на ОС FreeBSD и провести некоторое сравнение способов, которые, по моему мнению, наиболее часто используются.

Для начала:
NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.

Рассмотренные варианты:
— Демон Natd
— IPFilter (ipnat)
— PF nat
— ng_nat
— ipfw nat (kernel nat)
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии35

Настройка PPPoE с шейпингом трафика для небольшой сети

Время на прочтение19 мин
Количество просмотров40K
Однажды возникла задача настроить раздачу интернета на пару десятков компьютеров (офисные и домашние). Коробочные решения оказались либо платными, либо достаточно сложно настраиваемыми, поэтому было принято решение использовать собственное на базе Debian Linux. Опытом его поднятия я хочу поделиться с вами в этом посте, но приведенные здесь версии могли немного устареть с момента написания мануала «для себя», так что нужно проявить некоторую внимательность. Также, нужно учитывать, что приведенное решение далеко от идеального и профессионального. Оно поможет скорее тем, кому нужно быстро поднять у себя сервер, раздающий интернет. В конце у нас будет раздача интернета через PPPoE с назначением внутренних IP клиентам, шейпинг трафика, DNS сервер и простой мониторинг текущих сессий из консоли.
Читать дальше →
Всего голосов 56: ↑44 и ↓12+32
Комментарии27

Об учёте процессорного времени в облаке

Время на прочтение6 мин
Количество просмотров19K
После запуска я получил много вопросов о том, как именно учитываются ресурсы в облаке. Некоторые интуитивно понимают, что такое «час процессорного времени» но есть и те, кто хочет подробного объяснения. Поскольку в общем анонсе подробные объяснения заняли бы много места, я вынес его в отдельный топик. Заодно, такой формат позволит более подробно описать, как Зен и виртуальные машины взаимодействуют. Уровень этого текста научно-популярный, то есть я не буду вдаваться в дебри кольцевых буферов, маскировки событий, «кредитного планировщика» и т.д., вместо этого я попробую рассказать относительно человеческим языком о том, как гипервизор управляет гостевыми машинами.


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

Итак, что такое «процессорное время» и как может оказаться, что у одной виртуальной машины его насчитывается 4 часа в сутки, а у другой накручивает 30 «часов» за часов десять?

Облако Селектел работает под управлением Xen, точнее, Xen Cloud Platform, в котором гипервизором выступает Xen.

В Xen есть понятие «планировщик доменов». Оставляя в стороне разницу между доменом и виртуальной машиной (домен — запущенная конкретная виртуальная машина, когда виртуальная машина перезагружается, получается новый домен, когда виртуальная машина выключена, домена нет, а сама машина — есть), можно считать, что этот планировщик виртуальных машин. Те, кто знаком с работой современных ОС, наверное уже догадались, что планировщик доменов подозрительно похож на планировщик процессов в этих самых современных ОС.

Как выглядит работа виртуальной машины?
Читать дальше →
Всего голосов 74: ↑67 и ↓7+60
Комментарии45

Цветная светодиодная лампа своими руками

Время на прочтение3 мин
Количество просмотров47K
Световой день уменьшается, поэтому жена всё чаще стала вспоминать о подсветке для орхидей. Поскольку в светодиодной тематике я уже довольно давно, то решил: «почему бы и нет». В качестве лампочек, это моя первая лампа, раньше я делал только велофары. Почитал какой свет народ рекомендует, решил, что по большому счёту, нужен весь спектр, но больше красного и следом за ним синего.



Читать дальше →
Всего голосов 104: ↑99 и ↓5+94
Комментарии51

Обновление расширений Mozilla Thunderbird через GPO на примере Lighting 1.02b

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

Не так давно я столкнулся с проблемой и(или) неудобством при обновлении расширения Lighting 1.02b для Mozilla Thunderbird.
1. При обновлении Thunderbird с версии 2.х.х до 3.х.х, версия Lighting, установленная в 2.х.х не совместима с 3.х.х
2. При обновлении Thunderbird с версии 2.х.х до 3.х.х, Lighting пытается обновиться через интернет
3. При обновлении Thunderbird с версии 2.х.х до 3.х.х, Lighting не всегда автоматически обновляется (проблемы с сайтом, откуда скачивается обновление)

Руками устанавливать данное расширение неудобно, особенно, когда у вас пользователей более 100.
Писать инструкцию пользователю, как и что сделать — тоже не выход.
Была поставлена задача обновлять Lighting у пользователей через GPO.
Задача была с успехом реализована.

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

cut и grep или awk?

Время на прочтение2 мин
Количество просмотров78K
Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

Второй подход — использовать опцию -o у grep. Эта опция выводит не всю строку, а только совпадающее с критерием поиска grep. Очевидно бесполезно при поиске точной подстроки, но очень полезно при использовании регулярных выражений.

Например,
grep -v "#" /etc/inittab |cut -f 4 -d : -s
выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

Или
grep http://\\S\\+ -o /var/log/apache2/error.log
выдаст список URL'ов из файла с ошибками (первый урл в строке).

… и никакого awk.

UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
foobar | (read p1 p2; echo p1)

P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.
Всего голосов 85: ↑77 и ↓8+69
Комментарии58

Загрузочная флэшка за три шага

Время на прочтение1 мин
Количество просмотров190K
Прошло уже больше месяца после опубликования первого поста. Вняв советам хабравчан, решили сделать мастер для создания загрузочной флэшки.

image

Читать дальше →
Всего голосов 138: ↑101 и ↓37+64
Комментарии63

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Время на прочтение14 мин
Количество просмотров31K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Всего голосов 196: ↑186 и ↓10+176
Комментарии32

Web-сервер на Debian GNU/Linux для начинающих

Время на прочтение1 мин
Количество просмотров19K
Web-сервер на Debian GNU/Linux для начинающих» для начинающих
Руководство рассчитано на пользователей, которые собираются впервые использовать Debian GNU/Linux после работы с MS Windows.

Установка и использование web-сервера на Debian GNU/Linux, рассмотренное в данном руководстве, ориентированы на разработчиков веб-приложений и сайтов, использующие домашний компьютер в качестве платформы для разработки.

«Web-сервер на Debian GNU/Linux для начинающих» содержит в себе четыре главы:

* Часть 1: установка и настройка Debian GNU/Linux;
* Часть 2. Установка и настройка web-сервера;
* Часть 3. Установка и настройка Drupal;
* Часть 4. Установка и работа с Drush.

Подробное содержание
Всего голосов 93: ↑66 и ↓27+39
Комментарии73

Что почитать новичку?

Время на прочтение1 мин
Количество просмотров3K
Извините, что спрашиваю, сами мы не местные, подайте кто сколько может.
Где-то на просторах блога я видел несколько статей по Linux для новичков. Там про консоль было, про то как он вообще устроен и про прочие начальные вещи. Но к сожалению не могу найти сейчас:
Приносим свои извинения, поиск временно отключен. Не переживайте, скоро все заработает.

Подскажите что дать почитать новичку по Linux?
Задача стоит научить человека создавать VirtualHost апача и заводить базу через phpmyadmin.

Спасибо, заранее.
Всего голосов 77: ↑37 и ↓40-3
Комментарии30

Хитрим со Squid в корпоративной сети

Время на прочтение4 мин
Количество просмотров18K
Недавно наткнулся на одну достаточно занятную статью (http://habrahabr.ru/blogs/sysadm/28063/), в которой описывалась возможность создания кластера proxy-серверов для увеличения суммарной пропускной способности. Изначально показалось, что место данного интересного решения – в музее устаревших технологий, однако, поразмыслив, пришел к более интересным выводам.
Дело в том, что наша контора, как и я, географически находимся в зоне с достаточно дорогим интернетом и не особо толковым в плане IT генеральным руководством. Как результат – на 500 с гаком человек приходится канал мегабита в два максимум; так что счастливым считается тот час, в который личная скорость поднимается выше отметки в 128 кбит/сек. А это более чем печально.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии47

Проблемы зоны .local в современных Linux дистрибутивах

Время на прочтение1 мин
Количество просмотров32K
Многие интернет провайдеры предоставляют для своих абонентов такой сервис, как торрент-ретрекер. Некоторые торрент-трекеры (в том числе и rutracker.org) в свои торрент-файлы добавляют информацию о таком таком универсальном ретрекер как retracker.local. Но в современных дистрибутивах (таких как Ubuntu, openSUSE и т.д.) этот адрес не резолвится правильно.

Проблема заключается в использовании сервиса avahi для анонсирования ресурсов компьютера в локальной сети, так как для этих целей используется зона .local. Чтобы решить эту проблему не обязательно избавляться от avahi. Достаточно указать, что если не удается найти поддомен, спросить об этом dns.
Читать дальше →
Всего голосов 145: ↑139 и ↓6+133
Комментарии42

Информация

В рейтинге
Не участвует
Откуда
Надым, Ямало-Ненецкий АО, Россия
Дата рождения
Зарегистрирован
Активность