<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Česká chata</title><generator>teletype.in</generator><description><![CDATA[На вкус и цвет товарищей нет. Но лучшие рецепты потому так и называются, что многим приходятся по вкусу.]]></description><image><url>https://img2.teletype.in/files/5b/70/5b70fe0a-a55d-4954-ae85-fc5b6d9fb5c4.png</url><title>Česká chata</title><link>https://teletype.in/@ceskachata</link></image><link>https://teletype.in/@ceskachata?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ceskachata</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/ceskachata?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/ceskachata?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 28 Jul 2026 05:52:19 GMT</pubDate><lastBuildDate>Tue, 28 Jul 2026 05:52:19 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@ceskachata/jJqlaLD6oPS</guid><link>https://teletype.in/@ceskachata/jJqlaLD6oPS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ceskachata</link><comments>https://teletype.in/@ceskachata/jJqlaLD6oPS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ceskachata#comments</comments><dc:creator>ceskachata</dc:creator><title>Кухонная утварь</title><pubDate>Sun, 06 Mar 2022 14:49:15 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/fa/0e/fa0ec454-7d3e-4dfd-b6ef-9bbad5abaf71.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/a9/ae/a9aee3f1-b621-4c2d-9221-b675cb774b84.png"></img>Значит история.]]></description><content:encoded><![CDATA[
  <p id="8qq0">Значит история.</p>
  <p id="1VWA">Большую часть своей карьеры, я был поклонником газовых плит. Таких на рынке много: Ubuntu/Debian для ленивых, Centos/Fedora для серьёзных. Для тех кто любит готовить на мангале есть Arch, ну или Manjaro, если времени на растопку не так много. Они не требовательны к ресурсам, относительно простые в эксплуатации. Еще есть электрические плиты с блестящим керамическим покрытием на Windows, но они не выдерживают высокие температуры и требуют ухода. Я не из этих.</p>
  <p id="MYzz">В какой-то момент я стал присматриваться к индукции. И вот, в октябре 2021 года, стал счастливым обладателем Macbook air с чипом М1. На лицо все плюсы индукционной плиты: работает быстро, не греется, энергии потребляет не много. Однако есть в этой истории и ложка дёгтя: не всякая кухонная утварь работает на индукции.</p>
  <p id="mTdj"></p>
  <p id="vA0D">В нашем заведении, где я являюсь буфетчиком, в работе рецепты из старой поваренной книги. Конечно лучше всего готовить таки блюда на углях в деревне. Но что делать, когда захотелось чего-то летнего, с запахом костра, а в распоряжении лишь маленькая индукционная плитка?</p>
  <p id="DnWK"></p>
  <p id="jdTc">Сегодня мы будем жарить Python 2.7 на M1 в домашних условиях и без гарнира.</p>
  <p id="B5hs">Нам понадобится:</p>
  <ul id="lmaT">
    <li id="0x7w">PyCharm</li>
    <li id="cMqj">Docker</li>
    <li id="MtKk">Терпение</li>
  </ul>
  <p id="F9Be">Наш ужин состоит из простейшего приложения c запросом в базу данных mysql 8.0.</p>
  <p id="U1uc"></p>
  <p id="MTL1">Тщательно промываем под холодной водой один том и одну сеть:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/5f2ca94807d1f93075fb40b6ba31c240.js"></script>
  </figure>
  <p id="xiZj">Ставим на огонь сотейник, можно добавить растительное масло. Кидаем туда базу данных:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/8dcaa4481865e0b3be3221eec1930438.js"></script>
  </figure>
  <p id="CA7S">Дождитесь инициализации, непрерывно помешивая. Убавляем температуру, накрываем крышкой, откладываем.</p>
  <p id="lbLM"></p>
  <p id="3oMf">Приступим к основным действиям. Для начала подготовим основу нашего блюда. Нам нужен docker образ:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/14b344c6d21682d3091b9fc72e59a5fb.js"></script>
  </figure>
  <p id="XJlN">Конечно, в качестве основы можно было взять готовый образ с питоном, но раз уж мы и так занимаемся непотребством, я взял ubuntu 16:04.</p>
  <p id="lTnz">Поскольку мы имеем дело с приложением на питоне, добавим не много зависимостей в requirements.txt:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/ec123240f9f34272d0cf03e9f90ce6c2.js"></script>
  </figure>
  <p id="pnNS">Создайте файл main.py:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/08b50ca37264130781d446eaf2c65e4b.js"></script>
  </figure>
  <p id="daP1">Осталось лишь запечь наше приложение в готовый образ:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/de333975882431c52e4fa9f69592380c.js"></script>
  </figure>
  <p id="ZPSm">Дождитесь золотистой корочки, затем дайте блюду остыть.</p>
  <p id="Mk6W">Теперь смешаем наше приложение с базой данных:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/0cfca1f3ddb7c93853c2b9abc3a7b4c1.js"></script>
  </figure>
  <p id="WRQe">Внимательный слушатель заметил: мы смонтировали исходник внутрь контейнера. Это нужно, если вы намерены внести какие-то изменения.</p>
  <p id="e32j">Заглянем под крышку:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/8758da25104c8476033856a0490d23e7.js"></script>
  </figure>
  <p id="NKOM">Прекрасно! Все ингредиенты смешались:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/062f5d030499c73d533d0b1bbb3b1c09.js"></script>
  </figure>
  <p id="gy1a">Настроим PyCharm. Мы помним, что M1 не поддерживает питон нужной нам версии и, открыв IDE, будем наблюдать печальную картину:</p>
  <figure id="OEvy" class="m_original">
    <img src="https://img3.teletype.in/files/a9/ae/a9aee3f1-b621-4c2d-9221-b675cb774b84.png" width="507" />
  </figure>
  <p id="x7am">Нужно отдать должное ребятам из JetBrains, ведь у нас есть возможность работать с питоном внутри контейнера. Для этого, идём в настройки интерпретатора и добавляем новый:</p>
  <figure id="RU4A" class="m_original">
    <img src="https://img1.teletype.in/files/c6/9c/c69cdeaf-9260-4a1a-8c28-f19fad515116.png" width="1065" />
  </figure>
  <p id="V67N">Выбираем docker. Не волнуйтесь, IDE сделает за вас выбор контейнера:</p>
  <figure id="JuIN" class="m_original">
    <img src="https://img4.teletype.in/files/ba/ec/baec29f8-404e-433e-9866-9d142b01f1d6.png" width="833" />
  </figure>
  <p id="dcJL">Потушите не много под крышкой, дождитесь пока редактор подтянет необходимое:</p>
  <figure id="44fu" class="m_original">
    <img src="https://img1.teletype.in/files/4a/00/4a0074fb-a278-4368-8bf0-d9ffdf9dd33d.png" width="888" />
  </figure>
  <p id="zDFa">Отлично! Наш код выглядит чисто, свежо и опрятно:</p>
  <figure id="vtPB" class="m_original">
    <img src="https://img1.teletype.in/files/c8/d4/c8d428db-41b0-4698-89af-562a2b5dc004.png" width="401" />
  </figure>
  <p id="GtfM"></p>
  <p id="rMQM">Если мясо пожарено крупными кусками, то порежьте его на порционные куски. <br />К питону можно подать острый соус и уксусную подливку. Нарежьте побольше зелени - укроп, петрушку кинзу, для придания особого аромата горячему блюду.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ceskachata/muUpPtpPxZD</guid><link>https://teletype.in/@ceskachata/muUpPtpPxZD?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ceskachata</link><comments>https://teletype.in/@ceskachata/muUpPtpPxZD?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ceskachata#comments</comments><dc:creator>ceskachata</dc:creator><title>Легкий семейный фронтенд</title><pubDate>Sat, 26 Feb 2022 17:24:13 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7a/59/7a597415-d752-4982-b132-68d7eef79123.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/43/1e/431eda22-7b93-4a99-99de-08078c88774e.png"></img>За столом мы всегда стараемся порадовать наших близких и друзей, познакомить с неизвестными блюдами, приоткрыть для них необычные грани вкуса. После долгой зимы, уже не хочется ничего жирного, наваристого и тяжёлого. Наша редакция подготовила для вас рецепт необычного, но в то же время легкого и весеннего фронтенда.]]></description><content:encoded><![CDATA[
  <p id="OEDa">За столом мы всегда стараемся порадовать наших близких и друзей, познакомить с неизвестными блюдами, приоткрыть для них необычные грани вкуса. После долгой зимы, уже не хочется ничего жирного, наваристого и тяжёлого. Наша редакция подготовила для вас рецепт необычного, но в то же время легкого и весеннего фронтенда.</p>
  <p id="dVUf">Сегодня мы приготовим Svelte. Это на первый взгляд странная, но вполне себе не самая обычная библиотека. Любители VueJS отметят, что Svelte позволяет создавать однофайловые компоненты. А еще, если верить официальной документации, он не использует виртуальный DOM и “привносит реактивность в сам JavaScript”. Проверять мы это конечно же не будем.</p>
  <p id="TjOh"></p>
  <p id="jVyQ">Ингредиенты:</p>
  <ul id="ob62">
    <li id="Zuro">Одна пачка NodeJS. Я рекомендую взять LTS версию, ведь именно от этого зависит качество вашего блюда и настроение гостей</li>
    <li id="VVnx">Любая IDE. Я для особых случаев держу в закромах WebStorm, но вы можете воспользоваться любым редактором. Благо на рынке много вариантов на любой вкус и кошелёк.</li>
    <li id="DK4w">ParcelJS. Вы можете возразить, поскольку на рынке доминирует webpack и будете правы. Но наша задача на сегодня - быстрый семейный ужин.</li>
    <li id="6nqC">Sass/TypeScript по вкусу. Хотя выбор приправы играет большую роль, сегодня мы добавим лишь css препроцессор. Уверен, что обычная морская соль найдётся у каждого. Всё остальное - в меру вашей испорченности.</li>
  </ul>
  <p id="oKCx">Готовить будем на среднем огне. Важно приготовить блюдо быстро, но не стоит торопиться, ведь фронтенд легко испортить. Если бульон начнёт убегать, важно незамедлительно принять решительные меры.</p>
  <p id="uggH">Инициализируем проект. Есть разные пакетные менеджеры. Когда-то у меня был yarn, но с ним мясо частенько пригорало и я решил вернуться на npm. К тому же он поставляется вместе с NodeJS:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/c87af190ed43061d7ea20aa976c6c1f7.js"></script>
  </figure>
  <p id="b7bZ">Сразу кладём в холодную воду dev зависимости:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/7dbe5caee3231c2bb39e7dd044843e48.js"></script>
  </figure>
  <p id="lOcY">Да, я для бульона использую parcel-plugin-svelte. Конечно можно пойти в гипермаркет, купить все свежее чтобы сделать бульон с нуля, но не у всех есть такая возможность. Мы же хотим дать простой рецепт, доступный каждому.</p>
  <p id="XhZ6">Подождите 10 минут, когда в кастрюле начнут появляться пузырьки, добавьте продукты:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/ac143c023c53a2f4eb5e3c0b3205f9d6.js"></script>
  </figure>
  <p id="ddR5">Помешивая, варите на среднем огне минут 15, потом снимите пену. Можно добавить приправы:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/41f434b588403ae23b1a21f598165f23.js"></script>
  </figure>
  <p id="lnN9">Хоть это и простое блюдо для всей семьи, я бы хотел, чтобы на тарелке оно выглядело отлично, поэтому вместе с препроцессором, я еще добавляю prettier. Рекомендую всем вам запастись этим инструментом. Лишним не будет.</p>
  <p id="qYV6">Ждём еще 5 минут, ставим минимальный огонь и начинаем нарезать гарнир.</p>
  <p id="DGEO">Создайте папку src. В самом простом сценарии нам пригодится всего 4 файла:</p>
  <ul id="U8qW">
    <li id="we23">index.html</li>
    <li id="0XFr">index.js</li>
    <li id="R5lb">app.svelte</li>
    <li id="Kqf4">app.scss</li>
  </ul>
  <p id="dIqb">Добавьте в вашу IDE необходимые плагины по вкусу. Здесь каждый решает сам, я же предпочитаю работать с подсветкой синтаксиса.</p>
  <p id="NHfF">Начнём с index.html. Его содержимое не вызовет ни у кого восхищение - это типичная точка входа для браузера:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/a8a81b1d721ab5625a977c71784b24c4.js"></script>
  </figure>
  <p id="wtTw">Обратите внимание, мы напрямую обращаемся к scss файлу. Не волнуйтесь. Дайте сборщику сделать всю грязную работу за вас.</p>
  <p id="iu3b">Отправляем в кастрюлю.</p>
  <p id="ERsq">Задайте какие-нибудь стили в app.scss. Дайте волю фантазии. Кстати, доску можете не мыть. При такой термической обработке беспокоиться не о чем.</p>
  <p id="XL3e">Займемся app.svelte:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/e411c53b6da688d2913ff320e426a733.js"></script>
  </figure>
  <p id="th09">Блюдо действительно напоминает Vue, но не дайте себя обмануть - у нашего будет совершенно другой вкус!</p>
  <p id="sOz7">Кидаем в бульон, едем дальше. index.js:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/171cdba329c0c8b125fd6677b6ff41a8.js"></script>
  </figure>
  <p id="7AKo">Если вы так же как и я не можете избавиться от мысли что работаете с Vue, я вас понимаю. Разве то в данном случае, всё как-будто чуточку проще. Создали инстанс, отдали пропсы, привязали к элементу. Потрясающе.</p>
  <p id="kU7Q">Блюдо почти готово. Можно звать домочадцев за стол, а нам осталось лишь разложить ужин по тарелкам. Приступаем. Добавьте в package.json две команды:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/20a66982c94d237cca98c05ea703d4a2.js"></script>
  </figure>
  <p id="yXzq">Ни один уважающий себя повар не отдаёт блюдо гостю, не попробовав соль. Запустим проект в dev режиме:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/f8aa3d711f7ab8a06aeb7f1dc8875c69.js"></script>
  </figure>
  <figure id="x1gA" class="m_original">
    <img src="https://img1.teletype.in/files/43/1e/431eda22-7b93-4a99-99de-08078c88774e.png" width="561" />
  </figure>
  <p id="MAeB">Посмотрите как, словно играючи, parcel отдал нам фронтенд на порт 1234. По-моему соли достаточно:</p>
  <figure>
    <script src="https://gist.github.com/vtimame/68603398a1f4d0da2b6d6dc4303fe03a.js"></script>
  </figure>
  <figure id="PHy6" class="m_original">
    <img src="https://img3.teletype.in/files/a6/f7/a6f7cc56-9a49-4129-8e24-a783429643a0.png" width="704" />
  </figure>
  <p id="1NRg">В тарелку с нарезанным яйцом налейте суп, добавьте зелень и подавайте к столу. Приятного аппетита!</p>

]]></content:encoded></item></channel></rss>