Knime позволяет выгрузить данные из различных источников (базы данных, excel), агрегировать и проанализировать – analytics platform. Можно очень легко возвращаться к исходным данным и посмотреть что происходит с данными в результате каждой обработки.
Читать дальше
D-Link полезные SNMP OID
Отключить логгирование команд
snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.1.2.26.0 i 2
Включить логгирование команд
snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.1.2.26.0 i 1
Настроить bandwidth control на порту (в show bandwidth control настройки не видно)
snmpwalk -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.1 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.2 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.3 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.4 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.5 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.6 i 256 snmpset -v 2c -c comm 10.10.10.10 .1.3.6.1.4.1.171.12.61.3.9.1.4.7.7 i 256
Читать дальше
Linux: which, whereis, realpath, type, locate
- Если не получается найти командами ниже – надо использовать find 🙂
type – считаю является самой первой командой, которой нужно на мой взгляд пользоваться для поиска исполняемого файла/понимания того, что исполняется. Type показывает какого типа является исполняемая команда – встроенная в shell функция (shell builtin), внешняя функция (shell function) или утилита.
Читать дальше
Ruby: генератор списка выходных на год
Простейший генератор списка выходных на год.
Что можно кастомизировать (жирным в коде):
- В переменной cur_date указываем дату отчета
- В счетчике можно подкрутить количество дней с 365 до любого количества
- Строку вывода можно заменить генерацией INSERT в какую то SQL таблицу (закоменчено)
#bin/generate_vacation_list.rb
Читать дальше
Ruby: разные методы по работе с сетью
MAC
mac.gsub(/!|’|”|-|:|;|\./,””).downcase
end
def check_mac(mac)
return “MAC \”#{mac}\” имеет длину не равную 12 символам” if mac.length != 12
return “MAC \”#{mac}\” включает русские символы” if mac =~ /[а-я]/i
return “MAC \”#{mac}\” включает невозможные в MAC латинские символы” if mac =~ /[g-z]/i
return “MAC \”#{mac}\” является адресом из примера” if mac == “a0b3cceb0fed” || mac == “d4dccda0b283”
“OK”
end
Читать дальше
Ruby: регулярные выражения
Основная статья по регулярным выражениям тут.
.match – очень прокаченный метод в ruby для работы с регулярными выражениями.
/[0-9]/.match("2")
Например, к результату match можно применять методы .pre_match, .post_,match – получая данные ДО и ПОСЛЕ match – очень полезно, не городя костылей с заменой вроде <regexp>.*.
Читать дальше
Ruby: работа в командной строке с ruby -e
Ruby можно вызывать из shell используя опцию -e, не указывая файл с кодом, а прямо из командной строки. По сути вызов irb из консоли. Очень крутая штука. Если строк несколько – то делить их нужно через “;”.
~$ ruby -e 'puts 1+1' 2 ~$ ruby -e 'puts 1+1;puts 1+2' 2 3
Так же Ruby в командной режиме может использоваться по аналогии с pipeline с опцией -n – берем STDIN как входящий поток для кода и применяем его для каждой строки STDIN, пока их не останется (аналог bash while read | do).
Читать дальше
Ruby: тестирование
Про exceptions в отдельной статье.
.inspect – показывает данные. Очень удобная вещь при debug вместо использования puts/print на переменную.
Читать дальше
Review курса Google на Coursera
Very useful course, thanks Google and the Coursera! Really good job.
My brief summary:
IT Automation: It’s not that scary!
General knowlege – super useful concepts, ideas, experiences and best practices
Ruby – I love this language, “coding is a feature of IT” with such languages
Git – fantastic and very useful, began to use immediately after passing the week
Chef – a little lame with bash scripts.
Читать дальше
Ruby: специальные символы
#{} – string enterpolation
! – методы заканчивающиеся на ! замещают результат оперируемой переменной (gsub!)
!! – конвертация значения в boolean (true/false)
def is_ip?(ip)
!!IPAddr.new(ip) rescue false
end
? – методы заканчивающиеся на ? генерируют (обычно) boolean результат (include?)
Читать дальше