Статистика и математика в IT

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

Арифметической прогрессией (арифметической последовательностью) – последовательность с фиксированным инкрементом. Для меня

Арифметической прогрессией (арифметической последовательностью) - называется последовательность чисел a1,a2,...,an,


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

Coding: архитектура, программирование и разработка, подходы, best practices, devops, containers (k8s, docker, nomad, mesos), releases, waterfall/agile, scrum, sprints, CI/CD, Serverless computing, Microservice Architecture; ITIL/IT management; shift left ; KISS/SSOT; балансировка/шардирование; документирование

  • (Мониторинг, 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

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



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

Coding: Python

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


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

Coding/Network: Автоматизация (общее), программирование для сетевых инженеров, сетевая автоматизация (devnet, netdevops, netops); ZTP

  • Про системы конфигурации отдельная статья – CMS
  • Про NMS отдельная статья – NMS
  • (devnet, CMS annet) Нужно общаться с пользователям очень плотно если вы автоматизируете из работу – собирать требования/фидбеки, реагировать
  • Опрос на habr.
Как Вы управляете конфигурацией?
33.61% Ручное редактирование конфигурационных файлов - 40
31.93% GitOps - 38
20.17% Web UI - 24
14.29% другое - 17
Проголосовали 119 пользователей.


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

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
  • https://www.gnu.org/software/bash/manual/ – manual по bash
  • wait <pid> – если процесс запущен в background, то wait позволяет подождать завершение execution процесса, пример использования
  • Universal CheatSheet – cheat.sh


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

Network: HTML, HTTP, browsers разные хинты

HTTP
http QUERY

<стартовая строка>: method, URI, http version
<заголовки>
<тело запроса>
  • В заголовке в поле Host передается адрес сервера (fqdn/ip), что позволяет напр. на web сервере с множеством сайтом определить какой сайт отдавать
  • Клиент и сервер могут использовать разные версии протокола НТТР, при этом все будет работать корректно.


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

JAVA заметки

1995 год Язык программирования Java — первый язык программирования с кроссплатформенной поддержкой — был создан компанией Sun Microsystems (в последующем приобретенной компанией Oracle). Ведущим разработчиком в команде был Джеймс Гослинг — он известен как «отец Java».

Производительность
  • Тюнинг производительности JAVA от Oracle

Для тех кто нелюбит Java и говорит что она медленная.

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

Системное программирование (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.


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

Тестирование приложений: заметки по JMeter, gatling

Заметки

  • JMeter легко масштабируется с использованием remote_hosts (distributed mode) в одной подсети (см. подробнее ниже).
  • На практике можно запустить очень много JMeter нагрузчиков – знаю о инсталяциях с 10 ТЫС.


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

Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, 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 – как общий знаменатель для всего.



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