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?)

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

Ruby: работа с сетью (библиотеки/гемы IPAddr, net-ping, net-snmp)

Ruby ip addr class
Используя стандартную библиотеку Ruby IPaddr можно работать с IP (как IPv4, так и IPv6) адресами – проверка формата, генерация array на основе Ip/mask, проверка относится ли хост к сети. Очень удобно.

Метод для проверки формата полагается на rescue создания объекта в классе IPaddr.



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

Кодировки (artlebedev, iconv, coding)

Чаще всего помогает

  • https://www.artlebedev.ru/decoder/
  • iconv
  • ruby or python
  • json encode/decode

Ruby

Пример изменения кодировки windows default для кириллицы на UTF-8 с использованием ruby

str.force_encoding("Windows-1251").encode("UTF-8")

“str”.encode(“windows-1251”) # кодируем в 1251

“str”.encode(“windows-1251”, invalid: :replace, undef: :replace, replace: ‘?’) # кодируем в 1251, символы которые не можем раскодировать замещаем на указанные

json

Кодировка после json_encode без unescape.

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

PDF

 

СЖАТИЕ
  1. https://www.ilovepdf.com/ – хороший сервис, использовал для сжатия 13-страничного документа в виде скана под сервис с ограничением в 4МБ. Ужал с 6MB до 1.8MB с хорошим качеством (причем выбор оптимального, а не максимального по сжатию алгоритма)!
Редактирование
  1. Sejda PDF – онлайн сервис.


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

Ruby: работа с массивами

Iteration
each_with_index – из названия понятно, что полезно когда нужен элемент массива и его индекс)
Удаление из массива элементов
.drop(1) – удалить первый элемент (если указать 10 – первые 10 элементов)
a.delete(‘test’) – удалить по значению
arr[0..-3] – удалить последние два элемента
Элемент по ID
В Ruby, как, в принципе, и в PHP,  можно натравить метод какой-то на массив и элемент массива получить в одной строке.


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

Network, Linux: nload, bmon

  • (tcpdump/bmon-nload/ifconfig) Трафик может не фиксироваться на интерфейсе в счетчиках и соответственно в утилитах bmon/nload, которые строят графики на основе счетчиков. Причина отсутствия счетчиков может быть не отсутствие трафика, а необходимость перевода интерфейса в promisc режим. Проверить можно tcpdump – он это делает автоматически.


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

Directory Services, Active Directory, Kerberos

Directory services (на основе курса Google IT Support Professional)
Directory services – сервисы по управлению политиками, примеры – Active Directory (proprietary, not free), OpenLDAP (open, free), Astra Linux Directory, FreeIPA. Оба они и ряд других сервисов полагаются (в основном) на открытые стандарты – в основном x.500 с протоколами Directory Access Protocol (DAP, в последующем Lightweight DAP – LDAP), Directory System Protocol (DSP) и другими.


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