March 6, 2022

Кухонная утварь

Значит история.

Большую часть своей карьеры, я был поклонником газовых плит. Таких на рынке много: Ubuntu/Debian для ленивых, Centos/Fedora для серьёзных. Для тех кто любит готовить на мангале есть Arch, ну или Manjaro, если времени на растопку не так много. Они не требовательны к ресурсам, относительно простые в эксплуатации. Еще есть электрические плиты с блестящим керамическим покрытием на Windows, но они не выдерживают высокие температуры и требуют ухода. Я не из этих.

В какой-то момент я стал присматриваться к индукции. И вот, в октябре 2021 года, стал счастливым обладателем Macbook air с чипом М1. На лицо все плюсы индукционной плиты: работает быстро, не греется, энергии потребляет не много. Однако есть в этой истории и ложка дёгтя: не всякая кухонная утварь работает на индукции.

В нашем заведении, где я являюсь буфетчиком, в работе рецепты из старой поваренной книги. Конечно лучше всего готовить таки блюда на углях в деревне. Но что делать, когда захотелось чего-то летнего, с запахом костра, а в распоряжении лишь маленькая индукционная плитка?

Сегодня мы будем жарить Python 2.7 на M1 в домашних условиях и без гарнира.

Нам понадобится:

  • PyCharm
  • Docker
  • Терпение

Наш ужин состоит из простейшего приложения c запросом в базу данных mysql 8.0.

Тщательно промываем под холодной водой один том и одну сеть:

Ставим на огонь сотейник, можно добавить растительное масло. Кидаем туда базу данных:

Дождитесь инициализации, непрерывно помешивая. Убавляем температуру, накрываем крышкой, откладываем.

Приступим к основным действиям. Для начала подготовим основу нашего блюда. Нам нужен docker образ:

Конечно, в качестве основы можно было взять готовый образ с питоном, но раз уж мы и так занимаемся непотребством, я взял ubuntu 16:04.

Поскольку мы имеем дело с приложением на питоне, добавим не много зависимостей в requirements.txt:

Создайте файл main.py:

Осталось лишь запечь наше приложение в готовый образ:

Дождитесь золотистой корочки, затем дайте блюду остыть.

Теперь смешаем наше приложение с базой данных:

Внимательный слушатель заметил: мы смонтировали исходник внутрь контейнера. Это нужно, если вы намерены внести какие-то изменения.

Заглянем под крышку:

Прекрасно! Все ингредиенты смешались:

Настроим PyCharm. Мы помним, что M1 не поддерживает питон нужной нам версии и, открыв IDE, будем наблюдать печальную картину:

Нужно отдать должное ребятам из JetBrains, ведь у нас есть возможность работать с питоном внутри контейнера. Для этого, идём в настройки интерпретатора и добавляем новый:

Выбираем docker. Не волнуйтесь, IDE сделает за вас выбор контейнера:

Потушите не много под крышкой, дождитесь пока редактор подтянет необходимое:

Отлично! Наш код выглядит чисто, свежо и опрятно:

Если мясо пожарено крупными кусками, то порежьте его на порционные куски.
К питону можно подать острый соус и уксусную подливку. Нарежьте побольше зелени - укроп, петрушку кинзу, для придания особого аромата горячему блюду.