10 подписчиков

День 48. Хеш — идентификатор коммита. Работа с регистром строки. Docker.

Технический писатель.  GitHub.  Хеш — идентификатор коммита. Что такое хеш. Хеширование коммитов Хеширование (от англ.

Технический писатель. GitHub. Хеш — идентификатор коммита.

Что такое хеш. Хеширование коммитов

Хеширование (от англ. hash, «рубить», «крошить», «мешанина») — это способ преобразовать набор данных и получить их «отпечаток» (англ. fingerprint).

· Git преобразует информацию о коммитах с помощью алгоритма SHA-1 и для каждого из них рассчитывает уникальный идентификатор — хеш.

· Хеш — основной идентификатор коммита и позволяет узнать его автора, дату и содержимое закоммиченных файлов.

· Все хеши, а также таблицу соответствий хеш → информация о коммите Git хранит в папке .git.

Python . Работа с регистром строки.

Методы для работы с регистром строки:

· s.capitalize() Преобразует первую букву первого слова строки s в букву в верхнем регистре, все остальные буквы преобразуются в буквы в нижнем регистре.

· s.title() Преобразует первые буквы всех слов строки s в буквы верхнего регистра, все остальные буквы слов преобразует в буквы нижнего регистра.

· s.upper() Преобразует все буквы строки s в буквы верхнего регистра.

· s.lower() Преобразует все буквы строки s в буквы нижнего регистра.

· s.swapcase() Преобразует все буквы верхнего регистра в буквы нижнего регистра, а буквы нижнего регистра преобразует в буквы верхнего регистра.

· s.isupper() Возвращает True, если все символы строки, поддерживающие приведение к регистру, приведены к верхнему, иначе — False.

· s.islower() Возвращает True, если все символы строки, поддерживающие приведение к регистру, приведены к нижнему, иначе — False.

· s.istitle() Определяет, начинаются ли слова строки с заглавной буквы. Возвращает True, когда s не пустая строка и первый алфавитный символ каждого слова в верхнем регистре, а все остальные буквенные символы в каждом слове строчные. Иначе - False.

Примеры:

Технический писатель.  GitHub.  Хеш — идентификатор коммита. Что такое хеш. Хеширование коммитов Хеширование (от англ.-2

Tермины. Разное .

Docker — это платформа, которая позволяет упаковать в контейнер приложение со всем окружением и зависимостями, а затем доставить и запустить его в целевой системе.

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

Docker разработали в 2008 году. Изначально это был внутренний проект компании dotCloud, которую впоследствии переименовали в Docker Inc. В 2013 году dotCloud открыла исходный код Docker для сообщества.

Виртуализация в Docker реализуется на уровне ОС. Виртуальная среда запускается прямо из ядра основной операционной системы и использует её ресурсы.

В поставку Docker входят следующие компоненты:

· Docker host — это операционная система, на которую устанавливают Docker и на которой он работает.

· Docker daemon — служба, которая управляет Docker-объектами: сетями, хранилищами, образами и контейнерами.

· Docker client — консольный клиент, при помощи которого пользователи взаимодействуют с Docker daemon и отправляют ему команды, создают контейнеры и управляют ими.

· Docker image — это неизменяемый образ, из которого разворачивается контейнер.

· Docker container — развёрнутое и запущенное приложение.

· Docker Registry — репозиторий, в котором хранятся образы.

· Dockerfile — файл-инструкция для сборки образа.

· Docker Compose — инструмент для управления несколькими контейнерами. Он позволяет создавать контейнеры и задавать их конфигурацию.

· Docker Desktop — GUI-клиент, который распространяется по GPL.

Docker изначально создавался под Linux. Поэтому на Windows и macOS запускают виртуальную машину с Linux, а поверх неё — Docker. В macOS используют VirtualBox, а в Windows — Hyper-V.

Работа поверх виртуалок повышает потребление ресурсов. Поэтому Docker на macOS и Windows работает медленнее и с рядом ограничений. Для разработки это приемлемо, но «в бою» так делать никто не будет. На всех популярных платформах в проде используют Linux.