Рейтинг
+3.39
avatar

Программирование

Подробнее ↓

Очистка временных файлов в Windows средствами Python

Программирование
В целях саморазвития и для пробы пера, так сказать, решил написать небольшой скрипт на языке Python, как на простом, но в тоже время мощном скриптовом языке.
Если вы хотите забыть о переполнении темповых каталогов и кэша браузера (пока только IE) всяким мусором — добро пожаловать под кат.

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

[C#] Сбор информации о компьютере [2]

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

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

[C#] Сбор информации о компьютере [1]

Программирование
В случае, когда в вашей сети несколько сотен компьютеров, их учет стоит довольно остро. Перепробовав немало различных программ по учету программ, лицензий и железа пришел к выводу, необходимо написать собственное решение, отвечающее нашим запросам. Первым этапом разработки будет написание сборщика информации с компьютеров на языке C# в IDE SharpDeveloper. Пока я копался в интернете с вопросом как же можно из системы получить информацию о ней, то пришел к выводу, что информации на эту тему довольно мало, что было неожиданно. В основном натыкался на скрипты на VB и просьбы других программистов перевести их на C#, а в MSDN и вовсе довольно скудная информация. Я надеюсь, собранные здесь исходники кому-то помогут в написании программы.

Собирать информацию я буду с помощью инструмента WMI. WMI является очень мощным инструментом и может предоставлять информацию о системе, причем неважно локальной или удаленной. WMI запросы, как правило, открыты в сети, если у вас есть привилегии необходимые для запроса. И хотя в WMI удаленные запросы просты, разработчикам они нравятся и по другой причине: WQL.

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

Поиск по LDAP на Delphi

Программирование
Последний на сегодня метод поиска по LDAP. Небольшая программа на Turbo Delphi 2006, без использования сторонних компонентов. Может искать по части ФИО пользователя, сворачиваться в трей, создавать письмо по клику на почтовый адрес. Все :)
Скриншот

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

squid, pf и таблицы адресов

Программирование
Появилась задача — использовать в сквиде список адресов не из фиксированного файла, а прямиком из таблиц firewall (pf).
Напомню, в сквиде можно объявить список адресов, например вот так:
acl dst_free dst "/etc/firewall/net.free"

ну и в файле /etc/firewall/net.free прописать наши адреса, например:
10.0.0.0/8
62.76.176.0/20
78.132.128.0/17
82.179.144.0/20
83.234.112.0/24
91.202.20.0/22
91.211.28.0/22
93.186.96.0/20
172.16.0.0/12
192.168.135.12/30
192.168.140.0/24
193.33.62.0/23
193.34.12.0/22
193.203.60.0/22
195.19.96.0/19
213.135.128.0/19

Таким образом, после запуска сквид в acl dst_free будут находиться эти адреса.
А у нас задача — использовать адреса, которые сейчас актуальные в таблице pf.
Для примера, на текущий момент в таблице net_free находятся такие адреса:
[16:36 dk@mira ~]> pfctl -t net_free -T show
   10.0.0.0/8
   62.76.176.0/20
   78.132.128.0/17
   82.179.144.0/20
   83.234.112.0/24
   91.202.20.0/22
   91.211.28.0/22
   93.186.96.0/20
   172.16.0.0/12
   192.168.135.12/30
   192.168.140.0/24
   193.33.62.0/23
   193.34.12.0/22
   193.203.60.0/22
   195.19.96.0/19
   213.135.128.0/19

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

Муки творчества. Управление ИТ-инфраструктурой и ее мониторинг.

Программирование
С развитием ИТ-инфраструктуры обслуживаемой компании, все больше хочется упорядочить возможности настройки серверного и сетевого оборудования. Долгое время хватало одной putty, но когда количество устройств перевалило далеко за сотню, держать в памяти все настройки стало сложнее. Поэтому решил написать свою программу для управление всеми девайсами: серверами, рутерами, свичами, модемами, голосовыми шлюзами… да чем угодно до чего есть ip достижимость, rdp, telnet, ssh, web интерфейс. Через пару месяцев появилось это:
Читать дальше

Игра в слова

Программирование
У моего любимого производителя табака появилась игра в слова (http://www.richmond-tobacco.com/game_slova/), победителям, разумеется приз.

Суть игры, выпадают случайные буквы, из которых нужно собрать слово. Например, буквы ПИВЕРТ,
из них можно собрать слово ПРИВЕТ.

Все бы ничего, но надо собрать 11 слов, да еще и на время. Причем каждое следующее слово длиннее предыдущего на одну букву. Для слов из 4-6 букв в общем-то проблем не возникало, но дальше все трудней и трудней.

Но впереди ждут сигареты, и поэтому надо что-то придумать.
Читать дальше

Идентификация пользователя по голосу [3]. Тестирование и исходники

Программирование
Продолжение темы «Идентификация пользователя по голосу»
Идентификация пользователя по голосу [1]. Фильтрация и разложение спектра звука
Идентификация пользователя по голосу [2]. Анализ спектра.

Тестирование алгоритма
Тестирование производилось с 8 пользователями. Каждый голос сначала сравнивался с эталонным, то есть голосом разработчика, а потом между собой, для того что бы выяснить как поведет себя система на однотипных голосах.
Читать дальше

Идентификация пользователя по голосу [2]. Анализ спектра.

Программирование

Идентификация пользователя по голосу [1]. Фильтрация и разложение спектра звука

Программирование
Тема моей дипломной работы была «Разработка подсистемы САПР защиты от несанкционированного доступа на основе нейросетевого анализа спектральных характеристик голоса», которая была защищена на 5 и в дальнейшем из нее «черпали вдохновение» много будущих инженеров. В самом дипломе конечно много воды вроде ТБ, экономики и прочего, но есть и математическая и практическая часть, которой думаю поделится. Материал большой, поэтому буду выкладывать частями. В конце выложу программу и сам диплом, возможно еще кому-то пригодится.

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

Использование генетического алгоритма для поиска решения уравнения

Программирование
Как-то приходилось писать программу для составление инвестиционного портфеля, анализу и прогнозированию операций по этому портфелю. Саму программу по некоторым причинам опубликовать не могу, а вот рассмотреть один из основных участков — использование генетического алгоритма — можно.
Итак, полностью с описанием генетического алгоритма можно ознакомиться здесь.
Прочитав информацию по ссылке, Вы узнали, что есть такие понятия как популяция, особь (хромосом), ген, приспособленность особи.
Популяция состоит из особей, особи в свою очередь состоят из генов.

Популяция — множество решений некого уравнения. Т.е. допустим, имеем уравнение x*x + y*y + z*z = 10. Набор различных комбинаций переменных этого уравнения (x, y, z), причем далеко не оптимальных и есть популяция. Пример популяции: { (1, 1, 1), (2, 3, 1), (2, 0, 4), (1, 2, 3), (0, 0, 2)}. Эти значения выбраны абсолютно случайным образом. Популяция состоит из 5 особей.
Особь 1: (1, 1, 1)
Особь 2: (2, 3, 1)
Особь 3: (2, 0, 4)
Особь 4: (1, 2, 3)
Особь 5: (0, 0, 2)


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

Программа для проведения корпоративных мероприятий

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

голосование

Скачать программу с исходниками

Выпущен релиз Ext Designer 1.0

Программирование
22 апреля наконец выпустили среду для разработки Ext Designer 1.0 с использованием библиотеки ExtJS. Библиотека, состоящая из набора JavaScript скриптов позволяет легко создавать красивые интерфейсы не уступающие десктопным.

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

Ext Designer работает в двух режимах, как инструмент сборки скриптов из готовых элементов, а также инструмент генерации кода. Особенно полезен для сложных интерфейсов, экономя десятки часов времени разработки. Ext Designer генерирует чистый, объектно-ориентированный код, который выглядит как код, который вы написали бы сами.

Ext Designer предназначен для одиночных разработчиков и групп, работающих вместе для создания приложений. Интерфейс drag and drop используемый в конструкторе, может использовать практически любой, кто сталкивался с разработкой подобных интерфейсов.

Один из интересных моментов, то что в части самого Ext Designer используется ExtJS

Пример разработки простого веб-приложения


На сайте разработчика можно скачать триал версию Ext Designer

[C] Завершение сеанса Windows по таймеру

Программирование
Админ просил проявлять писательскую деятельность :).
О вещах глобальных из мира IT я вам не поведаю, а расскажу, как боролся с непослушным младшим братом.

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

Создание базы данных access из программы

Программирование
Нашей задачей будет создать базу данных из программы. Наша ОС Windows 98 и выше, СУБД ни одна не установлена, возможность копирования базы на другой ПК просто копированием файла будет.
Базу создадим средствами движка Jet встроенного в Windows, открывать ее потом можно будет в любой программе понимающей MDB, например родной Microsoft Access, размер базы до 2Гб.
Писать я буду в Turbo Delphi 2006, хотя это не принципиально.

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