Network: QoS

  • CheatSheet
  • (Voip, mikrotik, qos) Парни активно используют QoS для решений клиентов на базе VoIP Asterisk, первоначально ставили cisco (было много б/у), потом переехали на Mikrotik и рады – более 200 инсталляций для soho/medium бизнеса; по рекомендации Cisco (да и из логики) для голоса лучше всего подходит Low Latency Queue (LLQ) (Linkmeup)
  • Контроль исходящей полосы (какой трафик отправит первым после обработки) – это то, что в основном решают механизмы QoS, но при этом есть и механизмы, которые реализуют некоторый контроль входящей полосы (контроль объема входящего трафика) – flow control/pause frame и внесение потерь в низкоприоритетный трафик в расчете что отправитель уменьшит рейт трафика за счет уменьшения TCP окна/congestion логики UDP приложения (bandwidth/policer, WRED, etc).
<br><br> Читать дальше

Hardware: пайка, припои

 

пайка

Кратко: пайка свинцом проще и (в среднем) надежнее, но свинец вреден и законодательство ((европейское/США)) постепенно с 2006 (директива ROHS) стремится запретить все со свинцом.

Бессвинцовые технологии (припои) – более экологичны из-за отсутствия свинца, который опасен как для природы, так и для человека.<br><br> Читать дальше

Knime

Knime позволяет выгрузить данные из различных источников (базы данных,  excel), агрегировать и проанализировать – analytics platform. Можно очень легко возвращаться к исходным данным и посмотреть что происходит с данными в результате каждой обработки.<br><br> Читать дальше

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
<br><br> Читать дальше

Linux: which, whereis, realpath, type, locate

  • Если не получается найти командами ниже – надо использовать find 🙂

type – считаю является самой первой командой, которой нужно на мой взгляд пользоваться для поиска исполняемого файла/понимания того, что исполняется. Type показывает какого типа является исполняемая команда – встроенная в shell функция (shell builtin), внешняя функция (shell function) или утилита.<br><br> Читать дальше

Ruby: разные методы по работе с сетью

MAC
Приведение к единому формату
def mac_normalize(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
<br><br> Читать дальше

Ruby: регулярные выражения

Основная статья по регулярным выражениям тут.

.match – очень прокаченный метод в ruby для работы с регулярными выражениями.

/[0-9]/.match("2")

Например, к результату match можно применять методы .pre_match, .post_,match – получая данные ДО и ПОСЛЕ match – очень полезно, не городя костылей с заменой вроде <regexp>.*.<br><br> Читать дальше

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).<br><br> Читать дальше