Coding: Python

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

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 – как общий знаменатель для всего.

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

Процессор (CPU): Architecture, Cache, QPI, Hyper-Threading, AES-NI, clock speed/cycles (MHz, GHz), Intel Compilers, NUMA, counters, temperature

Информация собрана из разных мест, часть как конспект вебинара HonorCup E=DC2 для сдачи HCNA Storage.

  • DMA — это механизм, с помощью которого аппаратное устройство может передавать данные в память или из нее без использования процессора. Процессор требуется для настройки передачи, и устройство будет сигнализировать процессору, когда он завершит передачу.
  Читать дальше

Оперативная память (RAM): free, paging, swapping, commit/active/available

 

 

DDR1/2/3/4
  • SDR -> DDR -> DDR2 -> DDR3 -> DDR4 – поколения ОП.
  Читать дальше

Linux: bash спец. символы, man, переменные (> >> $ & # ~/$HOME $USER \ | /n \t ^M $? * ; ()), redirect stdout/stderr, ALIAS, bashrc, profile; программирование в bash (полезные скрипты, получение опций в скриптах, функции, условия, циклы, case, массивы)

~ echo $SHELL
/bin/bash

bash-3.2$ echo $SHELL # MACOS
/bin/zsh
  • (ssh, bash) Пересылка сообщений между терминалами

# echo to special terminal
echo "Hello Terminal 3" > /dev/pts/3

# echo to all terminal linux (3 vars)

echo "Your message here" | wall
wall message.txt
  Читать дальше

Методы установки приложений, компиляция приложений и ядра, библиотеки

  • Через средство управления пакетами ОС (Ubuntu: apt-get, CentOS: yum, Gentoo: emerge). Пакет чаще всего имеет не последнюю версия приложения/компилятора (ruby, phantomjs), но она почти гарантированно stable и легко ставится.
Для установки приложений в среде операционной системы GNU/Linux лучше всего пользоваться средствами управления пакетами вашего дистрибутива.
  Читать дальше

Linux: инструменты компрессии и архивации (zip/gzip/bzip, tar/7zip/7zz)

Задачи архивации и сжатия делаются зачастую вместе для создания ужатых архивов ряда файлов. Пример чаще всего используемой мной команды:
# АРХИВАЦИЯ БЕЗ СЖАТИЯ И УДАЛЕНИЯ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ДЕЛАЕТСЯ)
tar -cf trex.tgz /opt/trex/*

# АРХИВАЦИЯ СО СЖАТИЕМ GZIP И УДАЛЕНИЕМ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ПЕРЕДАЕТСЯ/ЗАНИМАЕМ МЕНЬШЕ МЕСТА)
tar --remove-files -czf logs.tgz
  Читать дальше

NMS, monitoring, observability, inventory, management, NTA, performance monitoring systems

  • Linux Performance Observability Tools: strace ltrace ss nstat gethostlatency sar proc dmesg dstat opensnoop laof fatrace filelife pcstat execsnoop mpstat profile runqlen offcputime softirqs turbostat show boost rmdsr perf fteace LTTng BCC bpftrace ext4dist ext4slower top atop ps pidstat vmstat slabtop free tiptop perf numastat hardirqs criticalstat nicstat netstat ip lldptool snmpget ethtool tcplife tcpretrans udpconnect tcpdump perf tiptop mdflush iostat biosnoop biolatency biotop blktrace swapon

  • Мониторинг призван уменьшать значение времени исправления проблем (MTTR) или даже предотвращать возникновение аварийных ситуаций (подробнее ниже)
  • Задача классического админа, решаемая мониторингом – сделать алерты в системе мониторинга на уменьшение количества краски в принтерах
  • Существует разная глубина взросления «мониоринга» – реакция по негативному фидбеку/инцидента от пользователя, реакция на события мониторинга еще до обращения клиента, автоматизация на события мониторинга (напр.
  Читать дальше

Linux, работа с дисками – разделы, файлы-папки, файловые системы в ОС, LVM (ls, lsblk, fdisk, find, rm/rmdir/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)

  • Отдельная статья про оперативную память
  • Отдельная статья про диски (эта)
  • Отдельная статья про права
  • (Disk, enterprise) Mirror.yandex.ru: Storage
    • В текущий момент на трех серверах zfs, на трех серверах использует ext4 (не смог переехать на них на zfs из-за зависимости от старого пропатченного командой storage яндексом драйвера hba как контроллера sas и версии ядра linux для дисковой полки этих серверов; в итоге ядро и драйвер не поменять, а на старом ядре только древняя версия zfs), плюс что если будут проблемы уровня ФС они будут не везде 🙂
    • Планомерно мигрирует storage (все новые репы заводит там) с локального хранения на S3 yandex, но отказываться полностью от локального хранения не планирует (защита от кейса аварии в S3 яндекса и нужны будут недоступные дистрибутивы с зеркала).
  Читать дальше

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

  • (rust, C) Значительная часть suricata написана на rust (25%), но часть C все равно значительно больше (73%).
  • (rust, C) Всего 4% кода ClamAV на rust, остальная C (80%) и C++ (9%)
  • (rust, C) apple / corecrypto – в сердце криптографии Apple ни одной строки на RUST, 80% кода C++ 😀
https://github.com/apple/corecrypto
  Читать дальше