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

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

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

  • Почему исполняемый файл имеет зачастую большой объем: Например, если скомпилировать hello world на go, то он будет весить 2-3 мегабайта, потому что в бинарнике будет весь рантайм (сборщик мусора и всякие библиотеки для работы с IO операционной системы).



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

Artificial Intelligence (AI): Machine learning (ML), Deep Learning (DP); оценка эффективности ML моделей


  • (AI, python) самые популярные ML-библиотек для искуственного интелллекта/aritigicial intelligence AI: PyTorch, TensorFlow, Scikit-learn
  • Подпинывание через ИИ зависших тасков https://habr.com/ru/posts/921722/
  • Хорошая статья про deepfake от сбербанка
https://www.sberbank.ru/ru/person/kibrary/investigations/berdyansk-glava-5
Так, через Telegram-бот «Глаз Бога» можно было заказать «расширенный поиск» по требуемому субъекту: найти о нем по номеру телефона дополнительную информацию в социальных сетях и коммерческих сервисах Вконтакте, Skype, Одноклассники, WhatsApp, Telegram, GetContact, NumBuster, TrueCaller, объявления на Avito, Youla, Auto, Cian и пр.


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

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

  • Узнать какой SHELL
~ 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


bash-3.2$ curl cheat.sh/curl


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

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
  • 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.


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

Linux: user & group management

Короткий список команд для создания пользователя

Создание пользователя. В файле /etc/passwd  хранятся все пользователи (бекап в /etc/passwd-).
sudo useradd -m -s /bin/bash weril
sudo passwd weril
sudo login weril - тестово логинемся
sudo passwd -e weril - (expire) делаем пароль протухшим (после авторизации пользователя заставят поменять пароль)
# sudo passwd -l weril - (lock) блокируем пользователя
sudo vi /etc/ssh/sshd_config - добавляем в AllowUsers в sshd (AllowUsers <username>@*)
sudo /etc/init.d/sshd


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

Linux: permissions/права/sudo

  • POSIX based file permissions пришли еще с UNIX (поэтому актуальны и для MacOS), они определили формат назначания прав read/write/execute для user/group/others; подробнее ниже
  • ACL based file permissions позволяют назначать разные права для разных пользователей и групп, в отличии от классического POSIX подхода; подробнее ниже
  • Удобный калькулятор разрешений в десятичом виде в зависимости от типа прав (r/w/e) и scope (u/g/o)

  • Грамотные админы в повседневной работе не работают из под root, а заходят в эту учетку только если нужно что-то сделать – защита от случайных поломок, безопасность (как минимум пароль нужно ввести для входа под root)
  • Изначально ownership придуман чтобы собственник даже в случае некорректной установки прав не потерял доступ

 

sudo/su
su – тоже самое что su root.


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

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

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


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

SberCloud (Enterprise, Advanced)

 

  • Huawei облако на базе openstack, в вакансии на главного инженера облака: Практический опыт работы с облачными решениями VWware, OpenStack;
  • Используют допиленный OpenStack с модулями Nova, Cinder, Neutron

  • Помимо стандартных vpc без переподписки в general-purpose instance/flavor используются переподписанные ядра, есть три разных instance, необходимых для разных баз данных.


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

Network, Security: DoS/DDoS

  • Самые мощные атаки РФ (по миру актуальная атака на клиента CF 8 tbps в конце статьи): 150 гбит / 1.5 терабит ; 15 MPPS / 150 MPPS ; сутки / трое в 2023 / 2024 соответственно

The Cybersecurity and Infrastructure Security Agency (CISA), the Federal Bureau of Investigation (FBI), and the Multi-State Information Sharing and Analysis Center (MS-ISAC) are releasing this joint distributed denial-of-service (DDoS) attack guidance
  • Очень хороший мануал от Juniper с описанием атак и методов защиты от них в JunOS
  • БИФИТ Mitigator – Российское решение на базе стандартных серверов
  • Статья по тюнингу параметров ядра Linux для большей устойчивости в DoS/DDoS сценариях (настройки серверные)
  • Некоторое саммари:
    • сценариев DoS атак не мало, даже в крупных провайдерах регулярно происходят инциденты, связанные с падением каких-то сервисов из-за DoS (BRAS – от внешнего флуда, от внутреннего флуда/запросов)
    • для базы защиты можно и самому fastnetmon поднять, а от target атаки за много $$$ и radware/arbor не спасет, только центры очистки или свой cdn грамотный (и то не всегда)
    • линк с чисткой может легко стоить х10 и х100 от обычного

 

DOS/DDOS теория

DOS/DDOS (dns lookup, half-open attacks like syn flood; ddos = dos + botnet => flood guard) – отправляем большое количество каких-либо пакетов/запросов/ответов для отказа в обслуживании сервиса из-за нехватки ресурсов (процессинговых, памяти, сетевых и проч).

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