Coding: архитектура, программирование и разработка, devops, ITIL/IT management

  • о code review / код ревью

  • (Мониторинг, devops) Как tivoli менеджер проникся puppet и практиками devops для эксплуатации

Развитие технология, изменение стеков, изменение подходов
  • Era: mainframe – client/server – cloud
  • Language: cobol – c – java
  • Cycle time: Years – months – weeks
  • Costs: Billion – million – 100k
  • Risks: company – product – feature

Разные цели эксплуатации и разработки (operations & development)

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

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



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

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • В Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc)
  • Любые изменения в /proc директории немедленно применяются kernel
All changes to files in /proc/ are immediately recognized by the kernel.


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

Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, TOML, YANG, TOML, protocol buffers/Apache Thrift, graphQL; SWAGGER, WSDL, WADL; restconf, netconf; Cisco PXGRID)

  • В общем про api и методы взаимодействия с ними (rest, yang, soap, xml, json, restconf/netconf, etc) в отдельной статье
  • CLI зачастую >>> всех других методов, пример яндекс со своей «Аннушкой» работает именно поверх CLI
    • Мы про это расскажем в докладах, но нет, cli – как общий знаменатель для всего.



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

Linux, работа с дисками – разделы, файлы, файловые системы в ОС, LVM (ls, lsblk, fdisk, find, rm/mdir/shred/tmpwatch, dd, synctoy, df, du, tree, iotop, parted, mkfs, mount, fstab, fsck, find, clonezilla, parted/gparted, OSFmount, ln, life cd&usb, flock, iotop/iostat/lsof, split, paste)

разное/ОПРЕДЕЛЕНИЯ

  • Основные мониторинг объекты хранения:

    1. утилизация памяти (дисков/ram/swap)
      1. 100% утилизация в df под snap/cd/dvd это нормально т.к. Snap всегда полностью утилизированы – они доступны только на read
    2. Iops (inout/output operations per second – read/write)
    3. Методы добавления места
    4.     (0) Сначала убедиться что то, что занимает место хранения это легитимные файлы (du)
    5.     (1) LVM, если используется, позволяет в сценариях необходимости добавления памяти хорош – просто добавляем к старому диску еще один новый и пользуемся
    6.     (2) Перенести часть тяжеловесных директорий со старого диска на новый и смонтировать их туда
    7.     (3) Склонировать полностью старый диск на новый более объемный
  • Все в Linux есть файл.


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

Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • Для отладки кода C, в том числе даже таких крупных проектов (напр. пропусков атак в них) как snort/suricata можно и нужно использовать отладчик GDB.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust and partially others.


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

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • подмена всех символов на lower
echo <WoRd> | tr '[:upper:]' '[:lower:]'
  • подмена всех пробелов на \n (все слова с новой строки)
echo <file> | tr ' ' '\n'
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


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

Гипервизоры VirtualBox/WorkStation/Fusion/ESXI/Hyper-V/XEN; KVM/QEMU (oVirt/Proxmox VE)

  • (Rfc 9411, virtualization) Советы бывалых при тестировании на производительность сетевых решений в виртуализации
    1. использовать numa/cpu core pinning
    2. использовать DirectPath I/O (PCI passthrough или SR-IOV)
      • Peripheral Component Interconnect (PCI) passthrough gives VNFs direct access to physical PCI devices that seem and behave as if they were physically connected to the VNF.


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

WordPress разные хинты

Разное
  • Usage статистика WordPress по  используемым версиях WordPress, PHP, Mysql, locale, etc
  • Для проигрывания GIF нужно выбирать full size при insert картинки в пост, иначе она будет статичной
  • Чтобы постить source-code почти без изменений (скобки пришлось подменять все равно) нужно использовать плагин SyntaxHighlighter.


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

Network: Packet Broker, Balancer (пакетные брокеры и L3-L7 балансировщики: nginx, haproxy, f5, radware, citrix, nfware, etc)

  • (Ngfw с выдержками, proxy/balancer только header) Выдержка из статьи цифровых решений (dsol) о плюсах intel qat на базе cpu (тк у них нет продукта балансера с реализованным decrypt они это пиарят)
  • Пакетные брокеры с функционалом балансировки. Часто встречаемое решение в последнее время, особенно в фин.


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

Coding: Python

  • Python.org – основной сайт. Тут можно скачать актуальный python на windows/linux/mac os, посмотреть документацию
  • Гвидо ван Россум – творец языка. По сути аналог Линус Торвальдса для Linux. 1989 год Голландский разработчик Гвидо ван Россум в качестве хобби-проекта во время рождественских каникул создает язык программирования Python.


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