Обновить
5
0
Максим@KuniLinux

Системный администратор / DevOps

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

Еще один «велосипед» по сбору данных о пользователях ПК в домене

Время на прочтение18 мин
Охват и читатели14K
Доброго дня всем.
Решил опубликовать свой вариант решения по сбору данных о пользователях ПК в домене. Просто чтобы не пропало зря и возможно кому-нибудь пригодилось.

Данное решение позволяет собирать данные о ПК в домене по мере их подключения к сети, входах пользователей на эти ПК и установленного ПО в момент включения. Началось все с желания поэкспериментировать со средами программирования (Java, Qt), а закончилось довольно полезной утилитой для повседневной работы системного администратора. Серверная часть работает под Linux, но я думаю также будет работать и под любой системой где можно запустить JVM. Клиент для отображения данных изначально собирался под Linux. При компиляции под Windows единственная сложность — не было в комплекте Qt драйвера для обращения к серверу MySQL, который пришлось собирать отдельно.

Из чего состоит это решение:
1. Небольшая агентская программа на чистом С. Запускается дважды через доменные политики. Первый раз при включении ПК с правами системы — собирает данные об оборудовании, установленных программах и сразу отправляет эти данные на сервер. Второй раз — с правами пользователя при его входе в систему для сбора данных о логине пользователя. Данные на сервер отправляет простым XML. Среда разработки Visual C++ 2010 Express.
2. Сервер на языке Java без каких либо фреймворков. Постоянно ожидает сообщения на порту 8889 и складывает полученные данные в базу данных MySQL.
3. Клиент для отображение данных разработан в среде Qt4/5 (изначально Qt4, затем собирался в Qt5). Обращается напрямую к серверу БД MySQL.

Далее приведен исходный код для каждой из указанных частей.
Читать дальше →

Практика эксплуатационщика: 1000 дней без простоя ЦОДа TIER-III

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

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

Пару недель назад у меня и коллег случился маленький праздник: 1000 дней непрерывной работы ЦОДа без простоя сервиса. В смысле — без влияния на оборудование заказчиков, но со штатными и не очень работами по системам.

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

Вышел Python Tools 2.1 для Visual Studio

Время на прочтение3 мин
Охват и читатели31K
Окончательная версия Python Tools 2.1 для Visual Studio (PTVS) доступна для загрузки! PTVS работает с Visual Studio 2010, 2012 и 2013. Помимо перечисленных ниже новых возможностей, в PTVS 2.1 также добавлена поддержка бесплатных версий Visual Studio Express for Web и Express for Windows Desktop. Разумеется, по-прежнему поддерживаются все полные версии Visual Studio, от Professional и выше.

Веб-разработка на Python в Visual Studio


Веб-разработка является основной темой данного релиза. Теперь в PTVS можно удобно создавать сайты на Django, Bottle и Flask, как с нуля, так и с использованием стартовых шаблонов проектов. Все созданные таким образом сайты можно в один клик опубликовать на веб-сайт Azure.


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

Живительная флешка

Время на прочтение10 мин
Охват и читатели530K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

Я не собираюсь описывать процесс установки GRUB4DOS, так как это не изменилось и в сети полно инструкций. Просто скажу, что GRUB4DOS просто должен быть установлен на флешку. Также я НЕ собираюсь выкладывать здесь образы систем (все имеется на торрентах), но, тем не менее, выложу полное меню из LST-файлов со структурой папок. Также необходимо учесть, что все образы ISO необходимо дефрагментировать.


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

Программирование Arduino с помощью ArduBloсk на примере робота, движущегося по полосе

Время на прочтение6 мин
Охват и читатели303K
Здравствуйте! Я Аликин Александр Сергеевич, педагог дополнительного образования, веду кружки «Робототехника» и «Радиотехника» в ЦДЮТТ г. Лабинска. Хотел бы немного рассказать об упрощенном способе программирования Arduino с помощью программы «ArduBloсk».

image

Эту программу я ввел в образовательный процесс и восхищен результатом, у детей она пользуется особым спросом, особенно при написании простейших программ или для создания какого-то начального этапа сложных программ. ArduBloсk является графической средой программирования, т. е. все действия выполняются с нарисованными картинками с подписанными действиями на русском языке, что в разы упрощает изучение платформы Arduino. Дети уже со 2-го класса с легкостью осваивают работу с Arduino благодаря этой программе.
Читать дальше →

Эффективный Django. Часть 1

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

Представляю вам перевод статей о Django с сайта effectivedjango.com. Наткнулся я на этот сайт во время изучения данного фреймворка. Информация размещенная на этом ресурсе показалась мне полезной, но так как нигде не нашел перевода на русский, решил сделать сие доброе дело сам. Этот цикл статей, как мне думается, будет полезен веб-разработчикам, которые делают только первые шаги в изучении Django.
Приступить к чтению

SAM: твой личный «интернет вещей»

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


Электронный набор с говорящим — для русского уха — названием SAM позволит создать практически все, о чем вы мечтали: для этого понадобятся Bluetooth-модули и софт, работающий по принципу drag-and-drop. Естественно, фраза «все, о чем вы мечтали» не должна вводить вас в заблуждение. Все в пределах разумного…
Читать дальше →

Брутфорсим EFI с Arduino

Время на прочтение23 мин
Охват и читатели106K
Приветствую Хабравчан!

Думаю, данной темой не многих удивишь — достаточно набрать в поисковике фразу arduino bruteforce и сразу станет понятно, насколько распространен перебор паролей при помощи платформы Arduino. Я же хочу рассказать о том, как это быстро организовать с наименьшим наборов компонентов, без разводки/травления плат и пайки. Сразу оговорюсь, что описанные мною действия носят ознакомительный характер и никому не причинили вреда, ни морального, ни физического… разве что мошенникам.


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

Немцы изобрели способ печатать гибкие сенсорные дисплеи на обычном принтере

Время на прочтение2 мин
Охват и читатели97K
Не спешите выбрасывать свои старые струйные принтеры: в 3D на них, конечно, не попечатаешь, но зато можно поэкспериментировать с технологией печати гибких сенсорных дисплеев, представленной на прошедшем в Гонолулу (Гавайи, США) технологическом симпозиуме.



Изобретатели из Саарского университета и Института информатики общества Макса Планка (Германия) показали, как можно печатать гибкие тонкие одно- или двухсторонние цветные сенсорные дисплеи практически на любом материале: дерево, мрамор, кожа, металл и, собственно, бумага. В отличие от обычного производства гибких/сенсорных дисплеев, не требуется сложное оборудование: их можно печатать практически в любых условиях, включая домашние, и с помощью самого простого оборудования вроде струйного принтера и стандартных визуальных редакторов.
Читать дальше →

Шейдер для жука

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

снизу фотографии настоящих жуков, сверху — моя реализация

Продолжение предыдущей статьи, на этот раз пишем шейдер.
Читать дальше →

Парсим на Python: Pyparsing для новичков

Время на прочтение6 мин
Охват и читатели195K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

import matplotlib.pyplot  as plt

имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

В результате парсинга, например, может быть необходимо прийти к следующему выражению:

{ 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }

Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

r'^[ \t]*import +\D+\.\D+ +as \D+'

К счастью, есть удобный и гибкий инструмент для парсинга, который называется Pyparsing. Главное его достоинство — он делает код более читаемым, а также позволяет проводить дополнительную обработку анализируемого текста.

В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

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

«Умные» антенны помогут сделать доступным 5G (часть 2)

Время на прочтение6 мин
Охват и читатели23K
В предыдущей части переводной статьи мы рассказывали о перспективах использования миллиметрового диапазона для создания сетей связи нового поколения и текущем состоянии дел в этой сфере. Во второй части представлено описание различных экспериментов по проверке дальности и устойчивости связи в миллиметровом диапазоне. Также мы наконец выясним, могут ли эти частоты лечь в основу сетей нового поколения.
Читать дальше →

Party hard по-программистски, или как мы писали ClojureCup 2014

Время на прочтение5 мин
Охват и читатели11K
В минувшие выходные Clojure-сообщество испытывало… Ой, так начинался прошлогодний пост с отчётом о прошедшем ClojureCup 2013.

ClojureCup — это 48-часовой онлайн-хакатон, обязательным условием которого является написание приложений на языках Clojure/ClojureScript. В этом году в хакатоне участвовало около 50 команд (в каждой по 1-4 человека), которые сделали множество классных приложений.

Приложения оценивают как жюри (известные в Clojure-сообществе люди), так и обычные пользователи: зайти с помощью twitter-а и проголосовать за понравившиеся вам приложения можно на странице приложений.

А попробовать, что у нас получилось, можно вот тут.



Осторожно: под катом много картинок.
Читать дальше →

Одна на всех

Время на прочтение2 мин
Охват и читатели25K
Как-то так получилось, что в нескольких последних проектах я использовал в качестве излучающего элемента различные модификации IFA (Inverted А Antenna). Эта рабочая лошадка активно эксплуатируется в огромном количестве современных беспроводных устройств. Видовому разнообразию IFA мне и хотелось бы посвятить этот пост.

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

Малая авиация, летающие дроны, IT и моя мечта…

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


Здравствуйте.

Я не являюсь активным пользователем Хабра. Я почти ничего не комментирую. Читаю его каждый день, но не считаю себя достаточно опытным в IT-сфере, чтобы высказывать свое мнение. Поэтому я не имею кармы и не стремлюсь её заработать.

Но у меня есть мечта и хобби.

Я – бывший пилот. Бывший – из-за неудачного парашютного прыжка. Так сложилось.

Всё обошлось, я переучился и стал неплохим экономистом, но мечта осталась, точно так же как понимание того, что небо может строго наказывать даже за мелкие проступки. Со временем у меня появилась идея сделать приложение для пилотов, основная цель и идея которого – уменьшение риска возникновения аварийных ситуаций и помощь пилоту в ситуации крайнего дефицита времени. Многие наработки могут быть полезны тем, кто занимается ПО для летающих дронов.
Статья будет ОЧЕНЬ длинной.

Как разблокировать iPad 3G, заблокированный в iCloud

Время на прочтение6 мин
Охват и читатели598K
image


В этой статье я поделюсь с вами «железным» способом снятия блокировки iCloud с iPad 3G.
Читать дальше →

Статические сайты: настройка и оптимизация

Время на прочтение10 мин
Охват и читатели32K
статические сайты

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

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

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

Перенос данных из одной базы в любую другую

Время на прочтение2 мин
Охват и читатели14K
В нашем Ruby On Rails 3 приложении возникла необходимость перейти с Sqlite на MySQL. Нужен было простой и действенный способ, без громоздких Perl скриптов и платных утилит, которыми пестрит интернет и в частности StackOverflow.
Читать дальше →

Ruby on Rails. C локального хоста на VDS за 15 минут

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

Как переехать на VDS за 15 минут и не углубляться в изучение nginx, unicorn и capistrano. Пошаговая инструкция под катом.
Читать дальше →

Включение сервера с помощью мобильного телефона из внешнего мира

Время на прочтение3 мин
Охват и читатели40K
imageДоброго времени суток хабравчане! Всё началось с того, что работая удалённо в терминале понадобилось перезагрузить сервер. Толи день не задался, толи мысли были о чём-то другом и вместо команды:
sudo shutdown -r now
отправил его отдыхать после нелёгкого рабочего дня, командой:
sudo shutdown now Enter
И всё произошло машинально и так быстро, что даже сам не успел понять. Понимание стало приходить минут через 15-20, после безудержных попыток подключится удалённо к терминалу. И думаю даже не стоит говорить о том как далеко находился сервер, и добраться до него было практически невозможно. После долгих телефонных разговоров и объяснений куда кому пойти, и что где нажать, сервер всё же вернулся в рабочий ритм. После чего и появилась идея о включении сервера удалённо.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность