Search
Write a publication
Pull to refresh
6
0
Максим @KuniLinux

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

Send message

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

Reading time18 min
Views14K
Доброго дня всем.
Решил опубликовать свой вариант решения по сбору данных о пользователях ПК в домене. Просто чтобы не пропало зря и возможно кому-нибудь пригодилось.

Данное решение позволяет собирать данные о ПК в домене по мере их подключения к сети, входах пользователей на эти ПК и установленного ПО в момент включения. Началось все с желания поэкспериментировать со средами программирования (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

Reading time7 min
Views51K

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

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

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

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

Reading time3 min
Views31K
Окончательная версия 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.


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

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

Reading time10 min
Views523K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

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


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

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

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

image

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

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

Reading time14 min
Views304K

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

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

Reading time3 min
Views24K


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

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

Reading time23 min
Views104K
Приветствую Хабравчан!

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


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

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

Reading time2 min
Views97K
Не спешите выбрасывать свои старые струйные принтеры: в 3D на них, конечно, не попечатаешь, но зато можно поэкспериментировать с технологией печати гибких сенсорных дисплеев, представленной на прошедшем в Гонолулу (Гавайи, США) технологическом симпозиуме.



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

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

Reading time6 min
Views190K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

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)

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

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

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

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

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

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



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

Одна на всех

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

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

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

Reading time15 min
Views48K


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

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

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

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

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

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

Reading time10 min
Views32K
статические сайты

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

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

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

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

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

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

Reading time6 min
Views24K
Доброго времени суток, хабровчане!

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

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

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

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity