Куда делись «Кнопки на миллион долларов»?

UXUIDeep5_Site_27.04.png

Недавно я решил вслух задать миру вопрос «Куда делись кнопки на 300 миллионов долларов?». И даже заготовил свой ответ:

«Теперь в мире проектирования и разработки всё настолько хорошо, что кнопки сильно подешевели.»

Null, Nil и пустота

Как мы можем представить программно «ничего»? Например, когда метод ожидает на вход объект, но его нет, а вызов происходит. В программах всё должно быть чётко и понятно, там нельзя сказать «Извините, ничего не пришло».

В языках программирования отсутствие значения – тоже значение! Это означает, что мы можем сравнивать данные с этим «ничем», чтобы проверить: нам на вход был подан объект или подано его отсутствие. Objective C в этом плане не является исключением, так давайте рассмотрим это подробнее.

Версионирование данных БД в рамках процесса непрерывной поставки. Часть 1

DevOpsDeep3Site.png

Используя IaС-инструменты, мы можем поднимать и деполитизировать окружения с необходимыми версиями приложений по кнопке. Но ряд приложений помимо изменений кода требуют изменения структуры данных или самих данных в БД. Работать с ручным выполнением миграций в рамках процесса непрерывной поставки неэффективно.

ScopeGuard: одним велосипедом стало меньше

С++Deep2Site.png Все, кто хоть раз восхищался нововведениями стандарта C++11 (давно это было, но восхищаться можно бесконечно), знают о существовании интеллектуальных указателей, которые позволяют не беспокоиться о корректной очистке памяти.

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

Тесты, на которые я ответил, окончены с оценкой "B", как поверить в то, что это не предвзятая оценка с целью заманить меня на курсы? Хотелось бы видеть как минимум: а) статистику по количеству правильных ответов (не даёт никаких гарантий всё равно), б) темы, которые необходимо подтянуть по мнению авторов теста.

Что хорошо бы знать перед стартом курса

Чтобы начать заниматься на курсе, нужно знать:

  • основы синтаксиса Python 3;
  • основные модули стандартной библиотеки;
  • основы написания поддерживаемого кода;
  • основы SQL;
  • понятие асимптотической сложности;
  • как работать в консоли;
  • как работать с git;
  • как и зачем писать автотесты;
  • основы html и css;
  • основы JavaScript.
PostgreSQL: один из способов выстрелить себе в ногу

LinuxDeepSite28.04.png

Скачал я из гита репу. Небольшой скриптик, который создаёт докер-контейнер с постгресом, а потом пишет туда данные. Много данных, гигабайт 100... Запустил, данные пишутся и даже читаются и даже всё хорошо... Но тут мне понадобилось перезапустить контейнер.

Zabbix: мониторинг дисковых хранилищ DELL MD36XX

DevOps_Deep_10.07_SITE.png

Задача

Необходимо настроить мониторинг нагрузки на дисковые хранилища DELL MD36XX. Есть проблема – полки не умеют отдавать данные по snmp. Кстати, подобные проблемы также встречаются у хранилищ IBM, HP и других вендоров.